Re: [運算] 步進迴圈的同步運算

看板MATLAB作者 (龐克狗)時間10年前 (2013/09/29 18:55), 編輯推噓0(008)
留言8則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《kanichan (KALA)》之銘言: 其實我還是不太懂你的意思 我就假設是我想的那樣囉 clear all clc a=[1 2 3 4 5] % a是個1x5的矩陣 你想要看i=1:10下 十種情況下各自會變怎樣 b=zeros(10,5) % 因為你不希望動到a 所以我們創一個新的矩陣b 來放你的結果 for i=1:10 b(i,:)=a*i; % 在這裡 會把a*i的結果丟到b的第i列裡面去 (ex:1,2,3,4) % a是矩陣 i是整數 所以你不用加.* 用*就好了 end b % b會是個10x5的矩陣 代表i=1:10時的結果 至於你要畫圖 就先輸入doc plot學一下吧 或是上網查 都有很多教學 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.67.52

09/30 10:59, , 1F
matlab 是一直建議我用zeros來做運算
09/30 10:59, 1F

09/30 11:00, , 2F
不過因為實際上我要跑得迴圈中還有一個相同參數的迴圈
09/30 11:00, 2F

09/30 11:02, , 3F
所以有點複雜OQ 不過大致上了解解決方案了
09/30 11:02, 3F

09/30 11:03, , 4F
真的非常感謝你 雖然時間太近無法推OQ
09/30 11:03, 4F

09/30 19:24, , 5F
a=[1:5].';b=[1:10]; c=a*b; 可以一行搞定,省迴圈
09/30 19:24, 5F

09/30 19:25, , 6F
Mathlab 省迴圈可快速提高計算效率
09/30 19:25, 6F

09/30 19:27, , 7F
另外就是善用ones,如a(ones(1,10),:) 然後算後面的
09/30 19:27, 7F

09/30 19:27, , 8F
也是拿來省迴圈用的,用浪費記憶體的方式,減少迴圈
09/30 19:27, 8F
文章代碼(AID): #1II0Sqs9 (MATLAB)
文章代碼(AID): #1II0Sqs9 (MATLAB)