入力引数の不足について
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
こんにちは。
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 commentaire
Atsushi Ueno
le 18 Mai 2021
Déplacé(e) : Atsushi Ueno
le 17 Août 2022
実行してみましたところ同様のエラーがでました。関数に対して引数を与える必要があるからだと理解しました。質問にあるコードをozbudak_bifurcation.mとして保存し、コマンドプロンプトから下記の様に関数を実行したところエラーは解消しました。引数の値は適当で、関数の内容については触れません。
>> ozbudak_bifurcation(1,2,3)
Réponses (0)
Voir également
Catégories
En savoir plus sur 微積分 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!