Error in while loop
3 ビュー (過去 30 日間)
古いコメントを表示
function IsStable(polynomial)
if AllNonZero(polynomial) == false
H=[]
elseif AllSameSign(polynomial) == false
H=[]
else
HurwitzMatrix(polynomial);
pm = length(polynomial);
while i=1:pm
minor(i)=det(polynomial(1:i,1:i));
end
if minor(i)>0
B=1
else
B=0
end
end
I am trying to run this code but get this error,
Undefined function or variable 'minor'.
Error in IsStable (line 12)
if minor(i)>0
Any suggestions? Thank you.
0 件のコメント
採用された回答
Torsten
2019 年 3 月 19 日
Do you want a different value for B for each minor, i.e. B(i) instead of B ?
Then use
function IsStable(polynomial)
if AllNonZero(polynomial) == false
H = []
elseif AllSameSign(polynomial) == false
H = []
else
HurwitzMatrix(polynomial);
pm = length(polynomial);
for i = 1:pm
minor(i) = det(polynomial(1:i,1:i));
if minor(i) > 0
B(i) = 1
else
B(i) = 0
end
end
end
4 件のコメント
Torsten
2019 年 3 月 19 日
And what do you expect polynomial(1:i,1:i) to be for this polynomial ? As defined, your polynomial is a vector, not a matrix.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Polynomials についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!