matlab矩阵定位元素_matlab 矩阵元素位置

matlab矩阵定位素_matlab 矩阵素位置matlab怎么找一个矩阵中相同素并输出位置?如题,这个问题很常见,但是对于我这种菜鸟来说有点头疼。难点有二,一个是找到相同素,一个是找相同素的位置。使用unique好像只能得到相同素的第一个和最后一个。例如:在如下图矩阵中,位置为1,2的

matlab怎么找一个矩阵中相同素并输出位置?   如题,这个问题很常见,但是对于我这种菜鸟来说有点头疼。难点有二,一个是找到相同素,一个是找相同素的位置。使用unique好像只能得到相同素的第一个和最后一个。   例如:在如下图矩阵中,位置为1,2的素是相同的,或者行列号为row,col=1,1和2,1的素是相同的;我想得到结果是找到相同素和对应的所有的索引或者行列号,输出结果格式不限   请各位大神不吝赐教,感激不尽!!!
matlab矩阵定位元素_matlab 矩阵元素位置   1. 基本连接符[]   基本连接符:[],就是中括号,可以把两个矩阵进行合并(也称为矩阵连接),若水平方向合并,使用逗号分隔,若垂直方向合并,使用分号分隔;   程序示例如下:   a=[1 2;3 4] b=[5 6;7 8] [a,b] %水平连接,返回[1 2 5 6;3 4 7 8] [a;b] %垂直连接,返回[1 2;3 4;5 6;7 8]   注意,合并方向上的行/列数应相同,否则,报错:矩阵大小不一致,这也是初学者常犯之错误。   2.水平连接和垂直连接的函数   水平连接horzcat   垂直连接vertcat   程序示例如下:   a=[1 2;3 4] b=[5 6;7 8] horzcat(a,b) %水平连接,结果与上面相同 vertcat(a,b) %垂直连接,结果与上面相同   3.平铺复制的函数   平铺复制repmat   程序示例如下:   a=[1 2;3 4] repmat(a,1,3) %把矩阵a看作一个整体,平铺复制成1*3的阵列 repmat(a,3,3) %平铺复制成3*3的阵列   4.矩阵素的提取   最实用、直接的方法就是使用矩阵索引进行素的提取,矩阵索引的用法在我的另一篇文章中有详细讲述;   5.提取矩阵对角线素   函数:diag   程序示例如下:   a=[1 2 3 4 5 6 7 8 9] diag(a) %提取对角线素,返回[1 5 9] b=[1 2 3] diag(b) %输入b为向量,则把b看作对角线素,扩展为方阵,非对角线素默认0   6.提取上(下)三角形素   提取上三角形素triu   提取下三角形素tril   程序示例如下:   a=[1 2 3 4 5 6 7 8 9] triu(a) %提取上三角形素 tril(a) %提取下三角形素 tril(a,1) %添加偏移量参数,1表示往右上偏移1个位置,再取下三角形矩阵 tril(a,2) %2表示对角线往右上偏移2个位置,再取下三角形矩阵 tril(a,-1) %-1表示向左下偏移1个位置,再取下三角素   7.素重排   素重排reshape,重排规则:把原矩阵按列优先重排为新矩阵的大小;   程序示例如下:   a=[1 2 3 4;5 6 7 8] %创建2*4的矩阵 reshape(a,4,2) %矩阵a重排成4*2的矩阵 reshape(a,3,3) %素数量不一致,报错   8.排序   排序sort   程序示例如下:   a=[1 2 3 4;5 6 7 8] sort(a) %矩阵素的列排序:默认升序排列 sort(a,’descend’) %降序排列   9. 翻转   左右翻转fliplr   上下翻转flipud   程序示例如下:   a=[1 2 3 4;5 6 7 8] fliplr(a) %矩阵左右翻转 flipud(a) %矩阵上下翻转   10.相关视频   End

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/89440.html

(0)
上一篇 2024年 6月 21日
下一篇 2024年 6月 21日

相关推荐

关注微信