入力引数の不足について

16 ビュー (過去 30 日間)
航 浅野
航 浅野 2021 年 1 月 12 日
移動済み: Atsushi Ueno 2022 年 8 月 17 日
こんにちは。
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 件のコメント
Atsushi Ueno
Atsushi Ueno 2021 年 5 月 18 日
移動済み: Atsushi Ueno 2022 年 8 月 17 日
実行してみましたところ同様のエラーがでました。関数に対して引数を与える必要があるからだと理解しました。質問にあるコードをozbudak_bifurcation.mとして保存し、コマンドプロンプトから下記の様に関数を実行したところエラーは解消しました。引数の値は適当で、関数の内容については触れません。
>> ozbudak_bifurcation(1,2,3)

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File Exchange微積分 についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!