作业帮 > 数学 > 作业

用Matlab解微分方程,如下dr/de=(r^2+r-cos(e)/(r+sin(e))),其中e表示角度,

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/06/03 17:08:29
用Matlab解微分方程,如下dr/de=(r^2+r-cos(e)/(r+sin(e))),其中e表示角度,
用Matlab解微分方程,如下dr/de=(r^2+r-cos(e)/(r+sin(e))),其中e表示角度,
随便设个初值0
r=dsolve('Dr=(r^2+r-cos(e))/(r+sin(e))','r(0)=0','e')
再问: 没有结果啊,难道是初始条件的问题?
再答: 没有解析解,采用数值解clear all
clcf=@(e,r)(r^2+r-cos(e))/(r+sin(e));[e r]=ode45(f,[0 1],1)plot(e,r)
再问: 你的这个方法可以的,还想问一下,要是把dr/de=(r^2+r-cos(e)/(r+sin(e)))改为dr/de=(a*r^2+r-cos(e)/(r+sin(e)))的形式呢,就是增加了一个变量a,a为常数,是由程序计算出来的,怎么做,求指导! 还有貌似结果和我期待的不一样,和之前ode45解出来的差一些,之前半径r求解出来都是几毫米的,你的这个求出来是几米的样子
再答: 给个初值和时间的范围,带入到ode中即可 将a赋值后直接加到函数里面就行,一定要先赋值
再问: r=dsolve('Dr=(4101*(-3*r^3-2*0.0592*r^2+5*0.0592^2*r)-5093.7*(3*r^3+2*0.0585*r^2-5*0.0585^2*r)*(0.5*1.52*cos(4*e)+0.5*0.4358*cos(4*e-2*2.15)))/(4101*(-r^2+2*0.0592*r+0.0592^2)+5093.7*(-r^2+2*0.0585*r+0.0585^2)*(0.5*1.52*sin(4*e)+0.5*0.4358*sin(4*e-2*2.15)))','r(pi/16)=0.0592','e') 我要用的是这个方程,计算结果应该r为毫米的,按照上面的算法为米了,不知道是为什么?ode计算的为mm的
再答: 是初值和时间范围的问题,你选择不同的初值和不同的时间范围就有不同的结果 这样说懂了吗?