Re: [問題] 迴圈做級數和已回收
※ 引述《tream (感性之光)》之銘言:
: 要寫一個觀察 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了
: 我該怎麼把它變成變數呢?
------------------------------------------------------------
function pttex135
clc
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,1:3)=xJhat(k-1,:)+B(k).*cos(t.*(k-1).*2.*pi);
end
k = 1:100;
plot(k,xJhat)
legend('t = -1','t = 0','t = 1')
xlabel('k')
ylabel('xJhat')
------------------------------------------------------------
--
1.MATLAB programming 2.ASPEN process simulation package
3.FORTRN programming 4.Advance Engineering Mathematics
5.Process Control Theory
6.Chemical Engineering Basic Theory(Kinetic.thermodynamics.transport)
7.Numerical Method and Analysis
8.MATLAB Toolbox.Simulink system basic design
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 113.160.148.219
推
05/22 23:57, , 1F
05/22 23:57, 1F
推
05/23 00:16, , 2F
05/23 00:16, 2F
討論串 (同標題文章)