% 传函定义
s=tf('s');
Gs=1/(s^2+s+1)
% 频率范围
w=logspace(-2,2,100)';
% 频率特性(复数)
[n d] = tfdata(G);
for i=1:length(w)
Gjw(i)=( n{1}*((j*w(i)).^(2:-1:0)).') / ( d{1}*((j*w(i)).^(2:-1:0)).');
end
% 绘制
对数频率特性曲线
subplot(211)
semilogx(w,20*log10(abs(Gjw)))
ylabel('Magnitude (dB)')
subplot(212)
semilogx(w,angle(Gjw)*180/pi)
ylabel('Phase (deg)')
xlabel('Frequency (rad/sec)')
追问Gjw(i)=( n{1}*((j*w(i)).^(2:-1:0)).') / ( d{1}*((j*w(i)).^(2:-1:0)).');
这里运行的时候有错误
追答你用的是什么版本?报错提示什么信息?
我在6.5和2007b上都测试过,应该没问题的。
刚又试了一下 ,有个小错:
[n d] = tfdata(G);
这一句的G应该改为Gs(原来用G,后来改Gs漏掉一处)。