[討論] 步階響應 (疊代法)

看板MATLAB作者時間7年前 (2017/04/16 23:29), 7年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
想做出 s+1 / s+2的步階響應 用程式打很簡單 H = tf([1,1],[1,2]); step(H) 用反拉氏轉換也可以 但我想把它拆成時域的疊代形式讓它成功跑出一樣的圖,方法如下 As+B Y(s) ---- = ---- Cs+D U(s) (As+B)U(s) = (Cs+D)Y(s) u(t)-u(t-h) y(t)-y(t-h) A( ---------- ) + B(impulse) = C( ----------- ) + Dy(t) h h (A/h)*u(t) - (A/h)*u(t-h) + (C/h)*y(t-h) 整理後為 y(t) = ----------------------------------------- D - C/h 故code長這樣 A=1; B=1; C=1; D=2; h=1; y = zeros(1,1000); t = linspace(h+1,10,1); y(t) = ( A/h*heaviside(t) - A/h*heaviside(t-h) + C/h*y(t-h) ) / (D-C/h); plot(t,y,'*') 在此y(t)的t只能是正整數,所以間隔都只能是1,要如何讓中間的點數增加? 導致h只能是整數,我令為1,這樣間隔未免太大了吧? 然後U(s)的反拉氏是impulse,我實在不知道那一項存不存在... 要怎麼改才能完成這個結果呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.91.221 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1492356592.A.CE0.html ※ 編輯: siate (114.40.91.221), 04/16/2017 23:34:43
文章代碼(AID): #1OyutmpW (MATLAB)
文章代碼(AID): #1OyutmpW (MATLAB)