matlab內建的離散化傳遞函式的係數表示多為科學計數法,一些情況下會損失引數精度,導致離散化之後的引數有可能得不到想要的結果。通過設定syms 變數,將z變換之後的離散化係數表示為整數,便於程式設計實現。
% z 變換計算方法
disp
('要離散化的傳遞函式為:')%
-9.197 s^3+
2.107e04 s^2+
4.464e05 s +
6.213e05
% pc =
----
----
----
----
----
----
----
----
----
----
----
----
-% s^3+
190.3 s^2+
2.086e04 s +
31.29
ts =
0.001
;% 取樣時間
[num1,den1]
=tfdata
(pc)
;% 取分子和分母
[numd,dend]
=tfdata
(c2d
(pc,ts));
m1 =
[num1
;den1];
% 將分子和分母轉化為兩行矩陣
syms z;
t =(1-
1/z)
/ts;
% 零階保持器方法
[h,l]
=size
(m1)
;m2 =
sym(
'a',
[l 1])
;% 設定m2大小
for i =1:l
m2(i,1)
= t^
(i-1);
end
m3 =
flipud
(m2)
;% m2 上下倒置
m4 = m1*m3;
% 合併
disp
('z變換結果為:'
MATLAB中fopen fprintf函式的用法
matlab中fopen函式在指定檔案開啟的例項如下 1 fopen 開啟檔案,賦予檔案代號。語法1 fid fopen filename,permission 用指定的方式開啟檔案 fid n n是正整數 表示檔案開啟成功,檔案代號是n.fid 1 表示檔案開啟不成功。fid在此次檔案關閉前總是有...
matlab程式中fminsearch函式使用
我們在處理優化,擬合問題時候,經常需要計算loss函式,也就是說我們通過min求取函式中的位置係數,那麼如果求取,我們可以借助於matlab 中的fminsearch函式,直接針對函式f x 求取極小情況下的x等未知數。下面我們舉乙個例子來演示如何使用 直接以最複雜場景為例 1.新建乙個函式檔案,定...
MATLAB 離散點的圓弧擬合
最近做專案,會遇到很多資料擬合的問題,通常在網上搜尋時會看到很多 乙個個嘗試有對有錯,下面根據專案進展情況總結一下用到的相關知識。都是由本人親測,雖然簡單但是絕對正確的 首先是圓弧擬合的 由離散點擬合 t1為二維矩陣,t1的第一行為x軸的資料點,t1的第二行為y軸的資料點,用 表示為 t1 1,x,...