에서 정의 변수 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를 반환 ". answear == 1
그래서 알고리즘 심하게 작성된 경우 안정성 (라인 87)에
오류?
2.To는 나이 퀴 스트 기준의 안정성을 확인 :) (그것은 "답"이 아니라 "answear"입니다) - 그래프는 많은 통과해야 행 전달 함수 (방정식) 인 좌표계의 사분면. 예를 들어, 표현식이 3 도인 경우 그래프는 I, II, III 분기 시스템을 차례로 통과합니다. 그래서 내가 표현의 실제와 허수의 각 부분을 루프에 체크인하려고합니다. Tran은 투과율, w는 맥동 (주파수)입니다. – Kulis
@Kulis 다시 말해, 'tran (w)> 0'과 'tran (w) <0'은 동시에 참일 수 없습니다. –