PDA

查看完整版本 : [MATLAB基础] 新手请求板友帮一个矩阵排列的程序实现


半條龍
2010-12-06, 08:26
不好意思的又来打扰各位 在此先谢谢各位

首先就是我有三個數據矩陣A,B,C ; 三個矩陣大小是一定會一樣的
A = [1;3;4;8;9;7;4;6;8;7];
B = [5;6;8;7;4;2;4;4;4;5];
C = [8;7;7;5;6;1;2;4;6;9];
此時假設我有矩陣D,而D矩陣內的數字就是指ABC三個矩陣哪些元素會被留下來
D = [1;5;7;10];
所以ABC只有位置1,5,7,10留下來 所以
A_new = [1;9;4;7];
B_new = [5;4;4;5];
C_new = [8;6;2;9];
之後將矩陣內元素做加總
AT = 21; %因為1+9+4+7
BT = 18; %因為5+4+4+5
CT = 25; %因為8+6+2+9

想問A,B,C到AT,BT,CT 程序谢谢

anbcjys
2010-12-06, 08:36
如果不熟悉matlab 可以用循环 for实现a_new 然后用sum求和即可

半條龍
2010-12-06, 11:11
for i=1:length(D)
A_new(i)=A(D(i));
B_new(i)=B(D(i));
C_new(i)=C(D(i));
end
AT=sum(A_new(:));
BT=sum(B_new(:));
CT=sum(C_new(:));