怎样返回matlab矩阵中某个元素的下标 在Matlab中如何在矩阵中求元素的下标

matlab\u4e2d\u5982\u4f55\u53d6\u51fa\u77e9\u9635\u4e2d\u7684\u67d0\u4e00\u4e2a\u503c

\u5177\u4f53\u95ee\u9898\u5177\u4f53\u5206\u6790\u3002
help find
\u51fd\u6570find\u4f1a\u5b9e\u73b0\u4f60\u9700\u8981\u7684\u529f\u80fd\u7684\uff01

1、首先需要知道matlab中求矩阵元素下标,可以使用find函数,在命令行窗口中输入“help find”,可以看到find函数的使用方法。

2、命令行窗口中输入 a=[1 3 5 6;7 8 12 9],创建一个a矩阵。

3、输入[row,col]=find(a==5),求a矩阵元素为5的下标。

4、按回车键之后,可以看到元素为5的下标是第1行第3列。

5、如果我们找的一个值在矩阵中有多个的话,返回的下标位置也是多个。



matlab的find()函数可以找出参数中非零元素的索引(即下标),因此获取矩阵中某个元素的下标的实现方法为:在matlab命令窗口输入find()函数。具体应用举例如下:

1、在matlab命令窗口输入一个示例矩阵:A = [1 2 3;3 4 5;5 6 7],输入及显示如下:

2、继续在命令窗口输入:[m,n] = find(A==2),表示二维矩阵A中等于2的元素的行列位置分别赋值给m和n,输出结果为:

即表示元素2在矩阵A的第1行第2列。

3、为了测试矩阵中存在多个元素的情况,例如查找元素3的下标,在命令窗口输入: [m,n] = find(A==3),此时输出结果为:

因为矩阵A中有两个元素都等于3,所以结果包含两组位置,分表表示第2行第1列和第1行第3列。



假设你上面的矩阵为a,用find函数就行了,如果你找的是不重复的某个数,例如6则在windows输入[row,col] =find(x == 6) 就会返回6行列数,如果是重复的数如0,则[row,col] =find(x == 0) 返回的是row=[1 2]
clo=[1 5]
意思是第1行第1列和第2行第5列都是0,行坐标和列坐标被分别放置的

你给的数据格式太模糊……
如果在rect中找value为val的值的位置,使用
ind=find(rect==val)%返回索引
[row column]=find(rect==val)%返回row和column
更多find()资料,请参阅百科wiki.ilovematlab.cn

find(A == 1.1)

  • 鎬庢牱杩斿洖matlab鐭╅樀涓煇涓鍏冪礌鐨勪笅鏍
    绛旓細1銆侀鍏堥渶瑕佺煡閬搈atlab涓眰鐭╅樀鍏冪礌涓嬫爣锛屽彲浠ヤ娇鐢╢ind鍑芥暟锛屽湪鍛戒护琛岀獥鍙d腑杈撳叆鈥渉elp find鈥濓紝鍙互鐪嬪埌find鍑芥暟鐨勪娇鐢ㄦ柟娉銆2銆佸懡浠よ绐楀彛涓緭鍏 a=[1 3 5 6;7 8 12 9]锛屽垱寤轰竴涓猘鐭╅樀銆3銆佽緭鍏row,col]=find(a==5)锛屾眰a鐭╅樀鍏冪礌涓5鐨勪笅鏍囥4銆佹寜鍥炶溅閿箣鍚庯紝鍙互鐪嬪埌鍏冪礌涓5鐨勪笅鏍囨槸绗...
  • matlab涓浣鍙栧嚭鐭╅樀涓殑鏌涓涓
    绛旓細1銆佹墦寮matlab锛屽湪鍛戒护琛岀獥鍙d腑杈撳叆 a=[1 2 3;4 5 6]锛屾寜鍥炶溅閿紝鍒涘缓涓涓2琛3鍒楃殑a鐭╅樀 2銆佸鏋滄垜浠兂鑾峰彇鐭╅樀绗2琛岀1鍒楃殑鍊硷紝杈撳叆a(2,1)3銆佸鏋滄兂鑾峰彇鐭╅樀绗2琛岀3鍒楃殑鍊硷紝杈撳叆a(2,3)4銆佸鏋滄兂闂撮殧鐨勮幏鍙栫煩闃靛涓硷紝鍙互浣跨敤 a(2,[1 3])鏂瑰紡锛岃繖鏄幏鍙栫煩闃电2琛岀1鍒楋紝绗...
  • matlab 鏌ユ壘鐭╅樀涓煇涓鍊 骞杩斿洖鏍囧彿
    绛旓細绗竴绉嶏細kk=1;for i=1:length(m)if(m(i)>=2&&m(i)<=4&&n(i)>=3&&n(i)<=5)Result(kk,1)=m(i);Result(kk,2)=n(i);kk=kk+1;end end Result 绗簩绉嶏細[m,n]=find(S(2:4,3:5)==3);m=m+(2-1)n=n+(3-1)...
  • MATLAB涓浣鎻愬彇涓涓鐭╅樀涓殑鏌愪釜鍏冪礌
    绛旓細1銆侀鍏堬紝鎵撳紑MATLAB鍛戒护琛岀獥鍙o紝杈撳叆a = [1 2 3; 4 5 6; 7 8 9; 6 4 7]鍒涘缓涓涓猘鐭╅樀锛屽涓嬪浘鎵绀猴紝鐒跺悗杩涘叆涓嬩竴姝ャ2銆佸叾娆★紝瀹屾垚涓婅堪姝ラ鍚庯紝杈撳叆a锛1锛2,1锛3锛変互鎻愬彇鐭╅樀鐨绗1,2琛岀1鍒3鍒楋紝濡備笅鍥炬墍绀猴紝鐒跺悗杩涘叆涓嬩竴姝ャ3銆佹帴鐫锛屽畬鎴愪笂杩版楠ゅ悗锛屾寜Enter閿紝鍙互鐪嬪埌鐭...
  • matlab鎬庝箞鎶鐭╅樀涓煇涓涓儴鍒嗗彇鍑烘潵
    绛旓細matlab涓鍙栦竴涓鐭╅樀鐨涓閮ㄥ垎鏂规硶濡備笅锛氭牸寮廇(m,n)锛岀敤浜庢彁鍙栫煩闃礎涓鍚坢,n瑕佹眰鐨勯儴鍒 1銆佹彁鍙鏌愪釜鍏冪礌锛屽垯m,n涓烘暟瀛楁爣閲忥紝濡侫锛2,3锛変负绗簩琛岀涓夊垪鐨勫厓绱犮2銆佹彁鍙栨煇琛屾煇鍒 A(锛氾紝n)鎻愬彇绗琻鍒楃殑鎵鏈夊厓绱狅紝濡侫(锛氾紝3)鎻愬彇绗笁鍒楃殑鎵鏈夊厓绱狅紱A(m锛岋細)鎻愬彇绗琺琛岀殑鎵鏈夊厓绱狅紝濡侫(3...
  • MATLAB濡備綍鎻愬彇鏌愪竴鐭╅樀鐨勬煇涓鍒楃殑閮ㄥ垎鏁版嵁?
    绛旓細a(1,1) a(2,3)鍒嗗埆杩斿洖a鐭╅樀1琛1鍒楃殑鍗曞厓 鍜 2琛3鍒楃殑鍗曞厓 M锛孨杩樺彲浠ユ槸鐭㈤噺锛屼緥濡傦細a([1 2 3 4],[2 3]) 杩斿洖 1 2 3 4琛 2 3 鍒楃殑鏁版嵁 鎬讳箣matlab閫氳繃鐨勪笅鏍囨彁鍙栫煩闃甸儴鍒嗘槸寰堢伒娲荤殑锛屽亣璁捐鎻愬彇鐭╅樀a绗琻鍒楃殑鏁版嵁锛屼娇鐢╝(:,n)灏卞彲浠ヤ簡锛屽鏋滄槸瑕佹彁鍙栫n鍒楀墠10涓暟鎹娇鐢╝(...
  • 濡備綍鍦matlab涓鑾峰彇鐭╅樀涓涓涓厓绱犵殑涓嬫爣
    绛旓細matlab鐨find()鍑芥暟鍙互鎵惧嚭鍙傛暟涓潪闆跺厓绱犵殑绱㈠紩锛堝嵆涓嬫爣锛夛紝鍥犳鑾峰彇鐭╅樀涓煇涓鍏冪礌鐨勪笅鏍囩殑瀹炵幇鏂规硶涓猴細鍦╩atlab鍛戒护绐楀彛杈撳叆find()鍑芥暟銆傚叿浣撳簲鐢ㄤ妇渚嬪涓嬶細1銆佸湪matlab鍛戒护绐楀彛杈撳叆涓涓ず渚嬬煩闃碉細A = [1 2 3;3 4 5;5 6 7]锛岃緭鍏ュ強鏄剧ず濡備笅锛2銆佺户缁湪鍛戒护绐楀彛杈撳叆锛歔m,n] = find(A==2...
  • 鎬庝箞鎻愬彇matlab涓煩闃电殑鏌愪釜鏁
    绛旓細x = [1 2 4;4 5 7];[row,col]= size(x);缁熻鐭╅樀x鐨勮鏁板強鍒楁暟锛屽苟鍒嗗埆璧嬪肩粰row鍜宑ol fprintf('row=%d,col=%d\n',row,col);杈撳嚭 row=2,col=3
  • MATLAB濡備綍鎻愬彇鏌愪竴鐭╅樀鐨勬煇涓鍒楃殑閮ㄥ垎鏁版嵁?
    绛旓細1銆佺涓姝ユ墦寮matlab鍛戒护琛岀獥鍙o紝杈撳叆a=[1 2 3;4 5 6;7 8 9;6 4 7]锛屽垱寤轰竴涓猘鐭╅樀銆2銆佺浜屾杈撳叆a(1:2,1:3)锛岃繘琛屾彁鍙朼鐭╅樀鐨绗1,2琛岀1鍒3鍒椼3銆佺涓夋鎸夊洖杞﹂敭涔嬪悗锛屽彲浠ョ湅鍒板凡缁忔彁鍙栦簡a鐭╅樀鐨勭1,2琛岀1鍒3鍒椼4銆佺鍥涙杈撳叆 a(2:3,1:2)锛岃繘琛屾彁鍙朼鐭╅樀绗2鍒3...
  • Matlab涓庝箞鎵惧埌鐭╅樀涓殑鏌涓涓暟,鎶婂畠鎻愬埌鏈鍓嶉潰閲嶆柊鎺掑垪?
    绛旓細1銆佷娇鐢╢ind鍑芥暟锛屽湪鐭╅樀A涓煡鎵0鐨勪綅缃紱鍗 [m,n]=find(A==0); %m鏄鐨勪綅缃紝n鏄垪鐨勪綅缃 2銆佹彁鍙栧惈0浠ュ悗鐨勬暟鎹苟璧嬪肩粰A2锛屾彁鍙0浠ュ墠鐨勬暟鎹苟璧嬪肩粰A1 3銆佹帓搴忥紝B=[A2,A1]锛屽皢0浠ュ悗鐨勬暟鎹斁鍦ㄩ浣嶏紝鐒跺悗鍐0浠ュ墠鐨勬暟鎹帓鍦ㄥ悗闈 4銆佹墽琛屼唬鐮 A=[2 3 9 4 0 5 7 6 8 1][m,n...
  • 扩展阅读:matlab提取矩阵的一部分 ... matlab返回矩阵的行数 ... matlab返回一个矩阵 ... matlab用for循环生成矩阵 ... matlab随机生成3 3矩阵 ... matlab取矩阵中的某一块 ... matlab矩阵提取第二行 ... matlab矩阵rgb绘制为图像 ... matlab选取矩阵的某一部分 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网