私はScilab(5.5.2)をまだ学んでいるので、ソフトウェアに慣れ親しむためのテストコードを書き、実行しています。 ScilabのODEの奇妙な振る舞い:方程式dy/dx = Aが正しく解けない
Iは溶液Y =アックス+ C(線式)として有する式DY/DX = A、より簡単開始、数値微分方程式解法をテストします。
これは私が書いたコードです:
// Function y = A*x+1
function ydot=fn(x, A)
ydot=A
endfunction
A=2;
//Initial conditions
x0=0;
y0=A*x0+1;
//Numerical Solution
x=[0:5];
y= ode(y0,x0,x,fn);
//Analytical solution
y2 = A*x+1;
clf(); plot(x, y); plot(x, y2, '-k');
//End
そして、これらは、予期しない結果である:
Y = 1 2.7182824 7.3890581 20.085545 54.598182
148.41327Y2 = 1。 3. 5. 7. 9. 11.
y = e^xと表示されます。誰かが間違っていること、または私が間違ったことを説明することができますか?
私は、私はあなたが提案したコードをテストすることを感謝しています。 –
しばらくしてから、Aがベクトルであればそれを動作させる方法は? –
試しましたか?パラメータリストに渡すオブジェクトは関係ありません。 – LutzL