发布网友 发布时间:2023-09-17 22:37
共1个回答
热心网友 时间:2024-12-04 06:09
这样:
>> 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
注意事项
两个大小不同的矩阵是不能相加的,要实现对应位置相加,需要将纬度较小的扩展为纬度较大的矩阵,没有数据的位置填上零,形成两个大小相同的矩阵,然后再相加。
matlab最大的好处就是不用事先定义变量,按列存储数据,只要每一列的数据个数是不变的,就可以直接使用,直接使用的变量默认为矩阵,只要存储了第一列数据,其行数就确定了,但列数是可变的,不会报错,放心使用,但前提是你的行数一旦确定就不能超过第一次使用的行数,否则会报错,需要另行编制程序。