MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB基础] 新手请求板友帮一个矩阵排列的程序实现 (https://www.labfans.com/bbs/showthread.php?t=12328)

半條龍 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(:));


所有时间均为北京时间。现在的时间是 06:28

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.