入力引数の不足について
15 views (last 30 days)
Show older comments
こんにちは。
7行目で入力引数が不足しています。というエラーが出るのですがなぜでしょうか?
こちらのプログラムはサドルノード分岐を出すプログラムです。
どこをどう直せばよいのかわかる方教えてください。
function ozbudak_bifurcation( alpha , beta , rho )
syms x y a b r;
epsilon = 1e-9;
f = b * y - x;
g = a * ( 1 + x^2 ) / ( r + x^2 ) - y;
J1 = [ diff(f,x) , diff(f,y); diff(g,x) , diff(g,y)];
S = ozbudak_fixed_point( alpha , beta ,rho );
S_size = size( S.x );
for i=1:S_size(1)
if( abs( imag( S.x(i) ) ) < epsilon && abs( imag( S.y(i) ) ) < epsilon )
J2 = subs(J1, [a,b,r], [alpha,beta,rho]);
S.x(i) = real( S.x(i) );
S.y(i) = real( S.y(i) );
J3 = subs(J2 , x , S.x(i) );
lambda = eig(J3);
if( lambda(1) < 0 && lambda(2) < 0 )
figure(1)
plot(S.x(i) , S.y(i) ,'ko','MarkerFaceColor','k');
else
figure(1)
plot(S.x(i) , S.y(i) ,'ko','MarkerFaceColor','w');
end
end
end
end
function S = ozbudak_fixed_point(alpha , beta , rho)
syms x y ;
S = solve(-x+beta*y==0,alpha*(1+x^2)/(rho+x^2)-y==0,x,y);
end
1 Comment
Atsushi Ueno
on 18 May 2021
Moved: Atsushi Ueno
on 17 Aug 2022
実行してみましたところ同様のエラーがでました。関数に対して引数を与える必要があるからだと理解しました。質問にあるコードをozbudak_bifurcation.mとして保存し、コマンドプロンプトから下記の様に関数を実行したところエラーは解消しました。引数の値は適当で、関数の内容については触れません。
>> ozbudak_bifurcation(1,2,3)
Answers (0)
See Also
Categories
Find more on 微積分 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!