mathematica求解微分方程的数值解,做出图像,R = 0.008;Y = 47*2*3.14;z = 0.18;m = 0.14;k = 20;g = 10;f = 20;i = 0.143;e = 28;NDSolve[{0.5*m*(R^4 *y[t]^2 *y'[t]^2)/(R*Y^2 + z^2 - R*y[t]^2) + 0.5*i*y'[t]^2 + 0.5*k*(R*Y^2 + z^2 - R*y[t]^2) + 0
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 09:13:22
mathematica求解微分方程的数值解,做出图像,R = 0.008;Y = 47*2*3.14;z = 0.18;m = 0.14;k = 20;g = 10;f = 20;i = 0.143;e = 28;NDSolve[{0.5*m*(R^4 *y[t]^2 *y'[t]^2)/(R*Y^2 + z^2 - R*y[t]^2) + 0.5*i*y'[t]^2 + 0.5*k*(R*Y^2 + z^2 - R*y[t]^2) + 0
mathematica求解微分方程的数值解,做出图像,
R = 0.008;
Y = 47*2*3.14;
z = 0.18;
m = 0.14;
k = 20;
g = 10;
f = 20;
i = 0.143;
e = 28;
NDSolve[{0.5*m*(R^4 *y[t]^2 *y'[t]^2)/(R*Y^2 + z^2 - R*y[t]^2) +
0.5*i*y'[t]^2 + 0.5*k*(R*Y^2 + z^2 - R*y[t]^2) + 0.5*k*z^2 -
k*z*Sqrt[R*Y^2 + z^2 - R*y[t]^2] + 0.5*f*(y[t] - Y)^2 -
m*g*(Sqrt[R*Y^2 + z^2 - R*y[t]^2] - z) == e,y[0] == 0,
y'[0] == 1},y[t],{t,10}];
Plot[Evaluate[y[t] /.%],{t,0,10}]
这是代码,我用的mathematica 8 看不出错误来.
mathematica求解微分方程的数值解,做出图像,R = 0.008;Y = 47*2*3.14;z = 0.18;m = 0.14;k = 20;g = 10;f = 20;i = 0.143;e = 28;NDSolve[{0.5*m*(R^4 *y[t]^2 *y'[t]^2)/(R*Y^2 + z^2 - R*y[t]^2) + 0.5*i*y'[t]^2 + 0.5*k*(R*Y^2 + z^2 - R*y[t]^2) + 0
NDSolve里的语法错了,是{t,0,10}而不是{t,10};另外对于常微分方程,所需的边界条件数目,为它的最高阶导数的阶数,并且边界的导数阶数要小于方程的阶数.也就是说你这里的条件多了一个,把那个y'[0]==1去掉,并且,你这里的边界给的不合理,所以在计算开始不久就耗尽了全部的积分步长.试了一下也没找到合理的边界条件,你自己试试吧.