1
我仍在学习Scilab(5.5.2),因此我正在编写并运行测试代码以熟悉本软件。Scilab中ODE的奇行为:方程dy/dx = A没有正确解决
要测试的数值微分方程解算器,我开始容易从方程DY/DX = A,其具有作为溶液Y =斧+ C(线方程)。
这是我写的代码:
// 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