matlab 两个矩阵区别不同 Matlab中不同维数矩阵相加问题

matlab \u600e\u4e48\u628a\u591a\u4e2a\u4e0d\u540c\u957f\u5ea6\u7684\u6570\u7ec4\u653e\u5230\u4e00\u4e2a\u77e9\u9635\u91cc\uff1f

\u628a\u4f60\u8bf4\u7684\u6587\u4ef6\u5206\u522b\u5b58\u4e3atxt\uff0c\u628aa\u77e9\u9635\u6587\u4ef6\u653e\u5230a.txt\uff0cb\u77e9\u9635\u6587\u4ef6\u5b58\u4e3ab.txt\uff0c\u7136\u540e\u7528matlab\u8c03\u7528\uff0c\u547d\u4ee4\u5982\u4e0b\uff1aclc;clear;b=load('b.txt');\u5373\u53ef\u8c03\u7528\u8fd9\u4e2a\u77e9\u9635\u6587\u4ef6\uff01
\u53ef\u4ee5\u628a\u6bcf\u6b21\u8ba1\u7b97\u51fa\u7684\u77e9\u9635A\u4fdd\u5b58\u5230\u4e00\u4e2a\u5143\u80de\u7ed3\u6784Data\u4e2dfor i = 1:n
A = \u4f60\u7684\u64cd\u4f5c;Data{i} = A;end
\u4e0b\u6b21\u4eceData\u4e2d\u53d6\u77e9\u9635\uff0c\u53ef\u4ee5\u8fd9\u4e48\u5199A = Data{i} ;
\u77e9\u9635\uff08Matrix\uff09\u672c\u610f\u662f\u5b50\u5bab\u3001\u63a7\u5236\u4e2d\u5fc3\u7684\u6bcd\u4f53\u3001\u5b55\u80b2\u751f\u547d\u7684\u5730\u65b9\u3002\u5728\u6570\u5b66\u4e0a\uff0c\u77e9\u9635\u662f\u6307\u7eb5\u6a2a\u6392\u5217\u7684\u4e8c\u7ef4\u6570\u636e\u8868\u683c\uff0c\u6700\u65e9\u6765\u81ea\u4e8e\u65b9\u7a0b\u7ec4\u7684\u7cfb\u6570\u53ca\u5e38\u6570\u6240\u6784\u6210\u7684\u65b9\u9635\u3002\u8fd9\u4e00\u6982\u5ff5\u753119\u4e16\u7eaa\u82f1\u56fd\u6570\u5b66\u5bb6\u51ef\u5229\u9996\u5148\u63d0\u51fa\u3002\u77e9\u9635\u6982\u5ff5\u5728\u751f\u4ea7\u5b9e\u8df5\u4e2d\u4e5f\u6709\u8bb8\u591a\u5e94\u7528\uff0c\u6bd4\u5982\u77e9\u9635\u56fe\u6cd5\u4ee5\u53ca\u4fdd\u62a4\u4e2a\u4eba\u5e10\u53f7\u7684\u77e9\u9635\u5361\u7cfb\u7edf\uff08\u7531\u6df1\u5733\u7f51\u57df\u63d0\u51fa\uff09\u7b49\u7b49\u3002\u201c\u77e9\u9635\u201d\u7684\u672c\u610f\u4e5f\u5e38\u88ab\u5e94\u7528\uff0c\u6bd4\u5982\u76d1\u63a7\u7cfb\u7edf\u4e2d\u8d1f\u8d23\u5bf9\u524d\u7aef\u89c6\u9891\u6e90\u4e0e\u63a7\u5236\u7ebf\u5207\u6362\u63a7\u5236\u7684\u6a21\u62df\u8bbe\u5907\u4e5f\u53eb\u77e9\u9635\u3002

\u8fd9\u6837\uff1a
>> A=[1,2,3;4,5,6;7,8,9],B=[1,2;3,4]
A =
1 2 3
4 5 6
7 8 9
B =
1 2
3 4
>> [rA,cA]=size(A);
>> [rB,cB]=size(B);
>> C=zeros(max(rA,rB),max(cA,cB));
>> C(1:rA,1:cA)=A;
>> C(1:rB,1:cB)=C(1:rB,1:cB)+B;
>> C
C =
2 4 3
7 9 6
7 8 9
>> [2,4,3;8,10,6;7,8,9]
ans =
2 4 3
8 10 6
7 8 9

\u6269\u5c55\u8d44\u6599\uff1a\u6ce8\u610f\u4e8b\u9879
\u4e24\u4e2a\u5927\u5c0f\u4e0d\u540c\u7684\u77e9\u9635\u662f\u4e0d\u80fd\u76f8\u52a0\u7684\uff0c\u8981\u5b9e\u73b0\u5bf9\u5e94\u4f4d\u7f6e\u76f8\u52a0\uff0c\u9700\u8981\u5c06\u7eac\u5ea6\u8f83\u5c0f\u7684\u6269\u5c55\u4e3a\u7eac\u5ea6\u8f83\u5927\u7684\u77e9\u9635\uff0c\u6ca1\u6709\u6570\u636e\u7684\u4f4d\u7f6e\u586b\u4e0a\u96f6\uff0c\u5f62\u6210\u4e24\u4e2a\u5927\u5c0f\u76f8\u540c\u7684\u77e9\u9635\uff0c\u7136\u540e\u518d\u76f8\u52a0\u3002
matlab\u6700\u5927\u7684\u597d\u5904\u5c31\u662f\u4e0d\u7528\u4e8b\u5148\u5b9a\u4e49\u53d8\u91cf\uff0c\u6309\u5217\u5b58\u50a8\u6570\u636e\uff0c\u53ea\u8981\u6bcf\u4e00\u5217\u7684\u6570\u636e\u4e2a\u6570\u662f\u4e0d\u53d8\u7684\uff0c\u5c31\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\uff0c\u76f4\u63a5\u4f7f\u7528\u7684\u53d8\u91cf\u9ed8\u8ba4\u4e3a\u77e9\u9635\uff0c\u53ea\u8981\u5b58\u50a8\u4e86\u7b2c\u4e00\u5217\u6570\u636e\uff0c\u5176\u884c\u6570\u5c31\u786e\u5b9a\u4e86\uff0c\u4f46\u5217\u6570\u662f\u53ef\u53d8\u7684\uff0c\u4e0d\u4f1a\u62a5\u9519\uff0c\u653e\u5fc3\u4f7f\u7528\uff0c\u4f46\u524d\u63d0\u662f\u4f60\u7684\u884c\u6570\u4e00\u65e6\u786e\u5b9a\u5c31\u4e0d\u80fd\u8d85\u8fc7\u7b2c\u4e00\u6b21\u4f7f\u7528\u7684\u884c\u6570\uff0c\u5426\u5219\u4f1a\u62a5\u9519\uff0c\u9700\u8981\u53e6\u884c\u7f16\u5236\u7a0b\u5e8f\u3002

比如要比较A和B这两个矩阵,它们大部分的元素都是相同的,有个别的元素不同。可以通过下面方法找出不同的位置。

C=A-B;
[x,y]=find(C~=0); %不等于0的位置,就是二者有差别的地方。
那么x,y分别就是不同元素对应的行号和列号。

希望可以帮助你,望采纳!

两个矩阵相减后不是零的那个位置就是你要找的,或者用个while循环把矩阵的元素一一比较直到不同的那个出现

imgshow(A==B)
就可以看出来了

扩展阅读:matlab怎么连接两个矩阵 ... matlab求两个向量的距离 ... matlab拼接两个矩阵 ... matlab求两个矩阵和 ... matlab逆矩阵命令 ... 矩阵翻转 matlab ... matlab两个矩阵相除 ... matlab随机生成3 3矩阵 ... matlab固定范围随机数 ...

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