作业帮 > 综合 > 作业

matlab A(m ,2)B(n,2)矩阵相减.

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/28 20:33:57
matlab A(m ,2)B(n,2)矩阵相减.
求C=B-A,条件:当B(:,1)和A(:,1)中有元素相等时,对此行的A(m ,2)B(n,2)矩阵相减.
如:A=[1,3;2,4;3,5;4,7;6,8;] B=[2,5;4,6;6,8;]
结果为C=[2,1;4,-1]
matlab A(m ,2)B(n,2)矩阵相减.
function [C] = nn(A,B)
%必须保证输入A、B格式正确
[ma,na]=size(A);
[mb,nb]=size(B);
m=1;
for i=1:mb
for j=1:ma
if B(i,1)==A(j,1)&&B(i,2)~=A(j,2)
C(m,1)=B(i,1);
C(m,2)=B(i,2)-A(j,2);
m=m+1;
end
end
end
end
按你的意思写的,你把上面的另存为nn.m文件,用matlab运行即可.
再问: 我忘了说了 在B(:,1)和A(:,1)中有相同的值 就是说有重复的
再答: 是呀,程序就是这样。
再问: 我的意思是B(:,1)中有相同的 B(:,1) 而对应的B(:,2)不同。由于这个原因 程序一直没跑出来。我估摸着要把它相同的行删除。
再答: 你用我的程序啊,能跑出来,我是全部遍历的,就算重复只是往C里面添加,没问题哦~~如果说不清楚,你可以用百度hi问我。