[問題] 問三維矩陣轉一維(或二維)矩陣的迴圈寫法
【我有用土法煉鋼的寫法寫在下方,想要問有沒有一次生成的迴圈寫法。】
小弟初學MATLAB不久,剛好要用到...碰到一個問題
Azone_RI是一個3x3x10三維矩陣
→Azone_RI(x位置,y位置,t年分)
小弟想要把在第(x,y)位置所有年份(1991~2000年)的值,
並用eval生成A1,A2...這樣。
如果是二維我還OK,因為3x3矩陣A(3,2)=A(6),迴圈可以直接for ti=1:9
eval裡面就設定mat2str(ti)來寫。(還是用num2str?)
可是三維用for ti=1:3裡面在一個for tj=1:3就覺得好怪,
因為eval裡面的就會錯...
不知道有沒有一次生成的寫法?(順序就可以了@@)
以下是(土法煉鋼)想要得到的結果:
t0=1991:2000;
.
.
.
.
Azone_RI=cat(3,A_RI1991,A_RI1992,A_RI1993,A_RI1994,A_RI1995,A_RI1996,A_RI1997,A_RI1998,A_RI1999,A_RI2000)
A1(1,:)=Azone_RI(1,1,:); %新矩陣(1,1)位置的1991~2000年的值
A2(1,:)=Azone_RI(2,1,:); %新矩陣(2,1)位置的1991~2000年的值
A3(1,:)=Azone_RI(3,1,:); %新矩陣(3,1)位置的1991~2000年的值
A4(1,:)=Azone_RI(1,2,:); %新矩陣(1,2)位置的1991~2000年的值
A5(1,:)=Azone_RI(2,2,:); %新矩陣(2,2)位置的1991~2000年的值
A6(1,:)=Azone_RI(3,2,:); %新矩陣(3,2)位置的1991~2000年的值
A7(1,:)=Azone_RI(1,3,:); %新矩陣(1,3)位置的1991~2000年的值
A8(1,:)=Azone_RI(2,3,:); %新矩陣(2,3)位置的1991~2000年的值
A9(1,:)=Azone_RI(3,3,:); %新矩陣(3,3)位置的1991~2000年的值
plot(t0,A1,t0,A2,t0,A3,t0,A4,t0,A5,t0,A6,t0,A7,t0,A8,t0,A9); %t0-A_RI圖
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.241.101.9
※ 編輯: h10840206 來自: 111.241.101.9 (03/08 00:08)
推
03/08 04:14, , 1F
03/08 04:14, 1F
→
03/08 13:42, , 2F
03/08 13:42, 2F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章