单摆微分方程求解:x''+(g/l)sin(x)=0,用Matlab求解,
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/29 14:30:20
单摆微分方程求解:x''+(g/l)sin(x)=0,用Matlab求解,
function dphi=Pendel_DGL(t,x)
g= 9.81;
l= 1;
dphi_1=x(2);
dphi_2=-g/l*sin(x(1));
dphi= [dphi_1;dphi_2];
[t,x]=ode45(Pendel_DGL,[0,4],[pi/2,0])
我觉得思路没有错误呀
function dphi=Pendel_DGL(t,x)
g= 9.81;
l= 1;
dphi_1=x(2);
dphi_2=-g/l*sin(x(1));
dphi= [dphi_1;dphi_2];
[t,x]=ode45(Pendel_DGL,[0,4],[pi/2,0])
我觉得思路没有错误呀
1.这段程序基本没有什么错误,只是在最后调用ode45求解时候,格式有点错误,修改一下就能运行了:[t,x]=ode45(@Pendel_DGL,[0,4],[pi/2,0])
2. 在编程时候,在help里面可以找到很多例子,一般来说照着例子来编程,基本不会发生错误,如下:
子程序:
function dx=myfun(t,x)
g=9.81;
l=1;
dx=zeros(2,1);
dx(1)=x(2);
dx(2)=-g/l*sin(x(1));
计算程序:
>> tspan=[0 4];
>> x0=[pi/2 0];
>> [t,x]=ode45(@myfun,tspan,x0);
>>
3. 目前使用匿名函数比较多,而且比较方便:
>> clear
>> g=9.81;
>> l=1;
>> fun=@(t,x)[x(2);-g/l*sin(x(1))];
>> tspan=[0 4];
>> x0=[pi/2 0];
>> [t,x]=ode45(fun,tspan,x0);
>>
再问: 谢谢你,我加上了@,然后在命令窗口输入计算程序,还是有错误,麻烦您再帮我看看是什么错误,还要怎么改呀?
再答: 看看你的子函数m文件的名称是否和function函数名称一致,不一样调用不了。
再问: 非常感谢,数算出来了。可是最后一个问题,如果作图的话,可以直接在命令窗口这么写么? 谢谢谢谢。 plot(t,x[1,:],'b',t,x[2,:],'r')
再答: >> plot(t,x(:,1),'b',t,x(:,2),'r') 注意matlab中矩阵调用格式!
2. 在编程时候,在help里面可以找到很多例子,一般来说照着例子来编程,基本不会发生错误,如下:
子程序:
function dx=myfun(t,x)
g=9.81;
l=1;
dx=zeros(2,1);
dx(1)=x(2);
dx(2)=-g/l*sin(x(1));
计算程序:
>> tspan=[0 4];
>> x0=[pi/2 0];
>> [t,x]=ode45(@myfun,tspan,x0);
>>
3. 目前使用匿名函数比较多,而且比较方便:
>> clear
>> g=9.81;
>> l=1;
>> fun=@(t,x)[x(2);-g/l*sin(x(1))];
>> tspan=[0 4];
>> x0=[pi/2 0];
>> [t,x]=ode45(fun,tspan,x0);
>>
再问: 谢谢你,我加上了@,然后在命令窗口输入计算程序,还是有错误,麻烦您再帮我看看是什么错误,还要怎么改呀?
再答: 看看你的子函数m文件的名称是否和function函数名称一致,不一样调用不了。
再问: 非常感谢,数算出来了。可是最后一个问题,如果作图的话,可以直接在命令窗口这么写么? 谢谢谢谢。 plot(t,x[1,:],'b',t,x[2,:],'r')
再答: >> plot(t,x(:,1),'b',t,x(:,2),'r') 注意matlab中矩阵调用格式!
单摆微分方程求解:x''+(g/l)sin(x)=0,用Matlab求解,
用matlab求解这个微分方程:dx/dt=36.86+x
matlab求解微分方程dx/dt=rx(1-x/k)并画图?x(0)=x0
用MATLAB求解微分方程dy/dx-2y/(x+1)=(x+1)^5/2
求解一阶微分方程:(3x+2cosy)dx-x sin y d y=0
用matlab解微分方程,题目是:ax''''''+bx''''+cx''+dx=0,其中x=esinωt,求解ω
微分方程求解:型如dx=y+z;dy=x-z;dz=dx+3dy的微分方程用matlab能求解吗?
怎么用matlab求解cos(x)-x*sin(x)=0并画出y=cos(x)-x*sin(x)的图像?急用!
用matlab方程求解微分方程
求解微分方程(x-ycosy/x)dx+xcosy/xdy=0
matlab求解 sin(x)=x*(1/3)的非0解
matlab 龙格库塔法求解微分方程dy/dx)=y^2+x,初值为x(0)=5 ,y(0)=2