matlab中分数阶线性系统的bode图程序看不懂,求高手指点,越详细越好,多谢啦!

function H=f_bode(a,eta,b,gamma,w,Gc)
for i=1:length(w),
P=b*((sqrt(-1)*w(i)).^gamma.');
Q=a*((sqrt(-1)*w(i)).^eta.');
H(i)=P/Q;
end
H=frd(H,w);
if nargin==6,
H=H*Gc;
end
if nargout==0,
bode(H);
end

function H=f_bode(a,eta,b,gamma,w,Gc)
%分数阶线性系统的bode图程序
%a,b,eta,gamma均为整数,w实值矢量,Gc权重,输出H是frd模型,例如:
%a=3;b=1;eta=3;gamma=2;freq = logspace(1,2);w = 0.05*(freq);f_bode(a,eta,b,gamma,w)
%a=3;b=1;eta=3;gamma=2;freq = linspace(0.01,0.2);w = 0.05*(freq);f_bode(a,eta,b,gamma,w)
H=zeros(size(w));
for i=1:length(w)
P=b*((sqrt(-1)*w(i)).^gamma.');
Q=a*((sqrt(-1)*w(i)).^eta.');
H(i)=P/Q;
end
H=frd(H,w); %生成频率响应数据模型
if nargin==6,
H=H*Gc;
end
if nargout==0,
bode(H);
end
温馨提示:内容为网友见解,仅供参考
无其他回答

matlab中分数阶线性系统的bode图程序看不懂,求高手指点,越详细越好...
分数阶线性系统的bode图程序 a,b,eta,gamma均为整数,w实值矢量,Gc权重,输出H是frd模型,例如:a=3;b=1;eta=3;gamma=2;freq = logspace(1,2);w = 0.05*(freq);f_bode(a,eta,b,gamma,w)a=3;b=1;eta=3;gamma=2;freq = linspace(0.01,0.2);w = 0.05*(freq);f_bode(...

相似回答