[問題] 使用lapalce()碰到錯誤已回收
各位高手請問一下><
我找了很多資料還是不太清楚我的問題點
是這樣的
老師給我們一個系統
然後要我們寫出sin經過這個系統的頻率響應
以下是我的程式轉換部份
*********************************************************************
for n=1:50
x(n) = A * sin(omega*(pi) * n *T + phi);
q1(n+1) = a11 * q1(n) + a12 * q2(n) + b1 * x(n);
q2(n+1) = a21 * q1(n) + a22 * q2(n) + b2 * x(n);
y(n) = c1 * q1(n) +c2 * q2(n) + d * x(n);
k = sym( 'x(n)' );
X = laplace( k );
j = sym( 'y(n)' );
Y = laplace( j );
H(n) = Y / X;
end
bode(H);
*********************************************************************
可是跑的過程中出現以下錯誤訊息:
??? Error using ==> run
The following error occurred converting from sym to double:
Error using ==> sym.double
DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use the VPA function
instead.
我上來查過以後 有板大說要先作 k=sym( '1 '); 才能laplace( k )
我照做了以後
還是出現以上SHOW出的錯誤訊息
請問要如何改善呢 ><"
學校沒交過MATLAB 靠自學碰到問題又沒同學可問
只好來拜託各位板大幫幫我><
謝謝喔!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.133.9.160
※ 編輯: cs312gay 來自: 140.133.9.160 (11/30 21:05)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章