看板 MATLAB 關於我們 聯絡資訊
※ 引述《james1022jk (雁)》之銘言: : ※ 引述《icrtstyle (嘿嘿)》之銘言: : : 我想請問一下,要怎麼把以下3個迴圈合併在一起???? : : ---------- : : for i=1:n; : : t=1; : : x(i,t+1)=x(i,t)+g(i,t); : : for j=1:n; : : x(i,t+1)=x(i,t+1)+e*aa(i,j)*x(j,t+1); : : end : : end : : for i=1:n; : : t=2; : : x(i,t+1)=x(i,t)+g(i,t); : : for j=1:n; : : x(i,t+1)=x(i,t+1)+e*aa(i,j)*x(j,t+1)+e*(exp(-1))*aa(i,j)*(x(j,t-1)+g(j,t-1)); : : end : : end : : for i=1:n; : : t=3; : : x(i,t+1)=x(i,t)+g(i,t); : : for j=1:n; : : x(i,t+1)=x(i,t+1)+e*aa(i,j)*x(j,t+1)+e*(exp(-1))*aa(i,j)*(x(j,t-1)+g(j,t-1))+ : : e*(exp(-2))*aa(i,j)*(x(j,t-2)+g(j,t-2)); : : end : : end : : ----------------------------- : for t = 1:3 : for i = 1:n : x(i,t+1) = x(i,t)+g(i,t); : for j = 1:n : switch t : case 1 : x(i,t+1)=x(i,t+1)+e*aa(i,j)*x(j,t+1); : case 2 : x(i,t+1)=x(i,t+1)+e*aa(i,j)*x(j,t+1)+... : e*(exp(-1))*aa(i,j)*(x(j,t-1)+g(j,t-1)); : case 3 : x(i,t+1)=x(i,t+1)+e*aa(i,j)*x(j,t+1)+... : e*(exp(-1))*aa(i,j)*(x(j,t-1)+g(j,t-1))+... : e*(exp(-2))*aa(i,j)*(x(j,t-2)+g(j,t-2)); : end : end : end : end : 我果然是太無聊.......................................................... for i=1:n; for t=1:100 x(i,t+1)=x(i,t)+g(i,t); for j=1:n; temp=x(i,t+1); for k=1:t if k==1 temp=temp+x(i,t+1)+e*aa(i,j)*x(j,t+1); else temp=temp+e*(exp(1-k))*aa(i,j)*(x(j,t+(1-k))+g(j,t+(1-k))) end end x(i,t+1)=temp; end end end 不確定對不對 XDD 太多層了 可以把100 帶小一點的數字試試看 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.95.251
icrtstyle:太感謝!!!幾乎都是對的,只有一個小小的瑕疵而已~~~ 11/17 02:05
icrtstyle:就是..temp=temp+x(i,t+1)+e*aa(i,j)*x(j,t+1);這行 11/17 02:06
icrtstyle:要改成..temp=temp+e*aa(i,j)*x(j,t+1);就這一點點問題 11/17 02:07
icrtstyle:感謝你讓我學到這種修改迴圈方式~~~^^ 11/17 02:08