[問題] 迴圈做級數和已回收

看板MATLAB作者 (感性之光)時間15年前 (2010/05/22 23:09), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/4 (看更多)
要寫一個觀察 Gibbs phenominon的code 已經知道B[k]= 0.5 ,k=0 = (2/(k*pi))(-1)^((k-1)/2) ,k=odd = 0 ,k=even ---code--- k=(1:2:100); t=-1:1; B(1)=0.5; B(2:2:100)=2*(-1).^((k-1)/2)./(k*(pi)); xJhat(1,:)=B(1)*cos(0); for k=2:100 xJhat(k,:)=xJhat(k-1,:)+B(k)*cos(t*(k-1)*2*pi); end ---------- 到第五行應該都沒問題, B的vector也做出來 但最後跑for迴圈的時候出現錯誤訊息 ??? Subscripted assignment dimension mismatch. 只做第二項 xJhat(2,:)=xJhat(1,:)+B(2)*cos(t*(1)*2*pi); 也是出現一樣的錯誤訊息 請問各位大大該我該怎麼解決QQ ---------- 最後發現是似乎是因為第五行的維度和第六行不一樣 所以才會這樣 但是後來要畫圖時 plot(t,xJhat(6,:)) 畫出來的竟然只是一條常數 它好像把t直接帶 1 , -1了 我該怎麼把它變成變數呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.249.144

05/22 23:22, , 1F
把後面那串cos拿掉又可以了!到底是為什麼呢?
05/22 23:22, 1F

05/22 23:34, , 2F
因為你的t是一個向量
05/22 23:34, 2F

05/22 23:38, , 3F
那請問該怎麼解決呢?我想做出xJhat對t的圖
05/22 23:38, 3F
※ 編輯: tream 來自: 140.113.249.144 (05/22 23:47)
文章代碼(AID): #1Bz_EY1q (MATLAB)
文章代碼(AID): #1Bz_EY1q (MATLAB)