Matlab中不同維數矩陣相加問題

2021-03-10 21:51:36 字數 1453 閱讀 2063

1樓:大野瘦子

這樣:>> 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

2樓:匿名使用者

兩個大小不來同的矩陣是不自能相加的

要實現對應

bai位置相加,需要du將緯度較小的擴充套件為zhi緯度較大的矩陣dao沒有資料的位置填上零,形成兩個大小相同的矩陣,然後再相加a,b的大小並不確定,那麼還需要先根據a,b的大小比較來確定如何擴充套件矩陣

m=max(size(a,1),size(b,1));%確定最大行數n=max(size(a,2),size(b,2));%確定最大列數aa=zeros(m,n);

bb=zeros(m,n);

aa(1:size(a,1),1:size(a,2))=a; %擴充套件a

bb(1:size(b,1),1:size(b,2))=b; %擴充套件b

c=aa+bb; %求和

3樓:匿名使用者

你舉bai例的du結zhi

果不dao對吧內?容

>> 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矩陣求平均值,在matlab中 怎麼計算平均值

用mean a,1 或者mean a,2 函式求矩陣a均值,再用cumsum函式可以累加。具體 如下 a rand 3 a mean a,1 按列平均 b mean a,2 按行平均 c mean a 全部平均 a 0.8134 0.8940 0.28760.7185 0.9507 0.9264 0...

c語言程式設計將兩個一維陣列中的數對應相加並在陣列中儲存

include using namespace std void main include include include void main for i 0 i 10 i puts for i 0 i 10 i puts for i 0 i 10 i puts include void main ...

matlab如何刪除矩陣中的NaN值

可以通過find函式來搞定。可以通過importdata data.txt 將資料檔案data.txt匯入陣列a中。a importdata data.txt 然後通過命令 z find isnan a 將a陣列中nan所在的編號給找出來 b a z 就可以將a中所有的nan值剔除掉了,如果希望得到...