Re: [問題] 迴圈

看板MATLAB作者 (煩..)時間11年前 (2012/11/16 17:46), 編輯推噓1(103)
留言4則, 1人參與, 最新討論串3/5 (看更多)
※ 引述《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

11/17 02:05, , 1F
太感謝!!!幾乎都是對的,只有一個小小的瑕疵而已~~~
11/17 02:05, 1F

11/17 02:06, , 2F
就是..temp=temp+x(i,t+1)+e*aa(i,j)*x(j,t+1);這行
11/17 02:06, 2F

11/17 02:07, , 3F
要改成..temp=temp+e*aa(i,j)*x(j,t+1);就這一點點問題
11/17 02:07, 3F

11/17 02:08, , 4F
感謝你讓我學到這種修改迴圈方式~~~^^
11/17 02:08, 4F
文章代碼(AID): #1GfWk2GU (MATLAB)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):
問題
問題
1
4
問題
文章代碼(AID): #1GfWk2GU (MATLAB)