這是我如何將數學式,轉換成c語言程式,並如何交叉比對
首先,先用simulink建一個模型。將輸出值丟到workshop。
首先需將z轉換推導一次。
可以得到y(n)-0.3y(n-1)-0.54y(n-2)=u(n)-2.54u(n-1)。
y(n)為輸出的答案,u(n)為輸入的命令。
推導完後就可以寫程式了。
程式我寫的比較亂就沒有貼上來了。
最後只需要將答案用printf 印出來就好了。不過為何要用printf呢?原因是不需要接硬體就可以模擬了。
在編輯界面上的工具列上選擇Debugger→Settings。
會出現一個"Simulator Settings",選擇Rewind Input。可以選擇將資料建在一個資料夾裡。
或者是直接show出來。
這是直接show出來的答案。
最後將答案貼回matlab。再重劃一下圖。
這2個輸出的圖形非常像。
放大來看,其實是會有誤差的,不過誤差非常非常的小。
利用這個做法,可以非常快速的除錯,而且過程中可以不需要接硬體就可以了。
可以得到y(n)-0.3y(n-1)-0.54y(n-2)=u(n)-2.54(n-1)。
回覆刪除應該是y(n)-0.3y(n-1)-0.54y(n-2)=u(n)-2.4u(n-1)
Great! Expect to see your recursive least square (RLS) algorithm!
[版主回覆12/08/2008 19:56:14]老大的眼力真好。