未定义变量I写检查奈奎斯特准则的封闭系统的稳定性的算法(http://en.wikipedia.org/wiki/Nyquist_stability_criterion)奈奎斯特准则 - 在算法
function answear=stability(re,im)
%% Function check stability of system
%re is real part of transmitation
%im is imagine part of transmitation
%% Check number of vectors elements
re(end +1:5) = 0;
im(end +1:5) = 0;
if(length(re) > length(im))
root = length(re);
else
root = length(im);
end
for w=1:root
tran(w) = re(1) + re(2)*w.^1 + re(3)*w.^2 + re(4)*w.^3 + re(5)*w.^4 +1i*(...
im(1) + im(2)*w.^1 + im(3)*w.^2 + im(4)*w.^3 +im(5)*w.^4);
end
%% Algorithm
switch root
case 0
exist('Write nonzero numbers', 'var')
case 1
for w=1:length(w)
if(real(tran(w)) > 0 && imag(tran(w)) > 0)
answear=1;
else
answear=0;
end
end
case 2
for w=1:length(w)
if(real(tran(w)) > 0 && imag(tran(w)) > 0)
if(real(tran(w)) < 0 && imag(tran(w)) > 0)
answear=1;
else
answear=0;
end
end
end
case 3
for w=1:length(w)
if(real(tran(w)) > 0 && imag(tran(w)) > 0)
if(real(tran(w)) < 0 && imag(tran(w)) > 0)
if(real(tran(w)) < 0 && imag(tran(w)) < 0)
answear=1;
else
answear=0;
end
end
end
end
case 4
for w=1:length(w)
if(real(tran(w)) > 0 && imag(tran(w)) > 0)
if(real(tran(w)) < 0 && imag(tran(w)) > 0)
if(real(tran(w)) < 0 && imag(tran(w)) < 0)
if(real(tran(w)) > 0 && imag(tran(w)) < 0)
answear=1;
else
answear=0;
end
end
end
end
end
end
%% Answear
if answear==1
disp('System unstable')
else
disp('System stable')
end
plot(real(tran),imag(tran))
grid on
end
函数返回
未定义的函数或变量“answear ”。
错误稳定性(线87)如果answear == 1
所以算法写的不好?
2.To检查奈奎斯特准则的稳定性 - 图必须经过许多坐标系的象限,它是行传递函数(方程)。例如,如果表达式是三度,则图形会先后通过I,II,III季度系统。这就是为什么我试图检查一个循环中每个字符表达式的真实和虚构部分。 Tran是透射率,w是脉动(频率)。 – Kulis
@Kulis再一次,请仔细阅读我的评论:表达式'tran(w)> 0'和'tran(w)<0'不能同时为真。 –