fsolve
を使用すると問題が発生しますが、プログラマがエラーを送信しますが、その理由はわかりません。私はx(2) = 2.96e+13
とx(1)= 2.72e+22
を見つけるはずです。 私の非線形方程式を解くために、私はこれを試してみました:fsolveはを使用した後オクターブ:fsolve関数のエラー
function y = f(x)
global x_rayon_droite
global z1
global r_droite
global x_rayon_gauche
global r_gauche
global y_rayon_droite
global y_rayon_gauche
x_rayon_droite=406
z1=2.72e+22
r_droite = 556.77
x_rayon_gauche=179
r_gauche = 241.42
y_rayon_droite=381
y_rayon_gauche=162
y(1)= x(1).*(x_rayon_droite./z1-x(2)./r_droite.*x_rayon_droite./r_droite)-x(1).*(x_rayon_gauche./z1-x(2)./r_gauche.*x_rayon_gauche./r_gauche)+x_rayon_droite-x_rayon_gauche;
y(2)= x(1).*(y_rayon_droite./z1-x(2)./r_droite.*y_rayon_droite./r_droite)-x(1).*(y_rayon_gauche./z1-x(2)./r_gauche.*y_rayon_gauche./r_gauche)+y_rayon_droite-y_rayon_gauche;
endfunction
[x,info]=fsolve("f",[1e+22;1e13])
エラー:事前
ではThxを
エラーはどこですか?イメージ内の警告しか見ることができません(これは悪い考えですが、なぜ出力をテキストとして追加していないのですか?) – Andy
プログラムはx1とx2の値で結果を表示しません。 テキストとしてエラーを出力する方法がわかりません。 – Julien563
最初に行うべきことは、関数が失敗した値を確認することです。これを達成するには 'OutputFcn'を使います。 – stephematician