入力引数の不足について

조회 수: 14 (최근 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 CenterFile Exchange에서 微積分에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!