wh1125 发表于 2007-5-30 15:14

如何求解微分方程x''+sinx=0

x''+sinx=0
用dsolve函数不行啊?
高手帮忙!

[ 本帖最后由 eight 于 2007-5-30 19:06 编辑 ]

hunter_009 发表于 2007-5-30 16:33

好像没有显式解析解啊.

wh1125 发表于 2007-5-30 16:35

回复 #2 hunter_009 的帖子

那能不能把x关于自变量t的图像作出来呢?我只要图像。
ode45不知道可以解不?我没看过matlab的数值解法内容

[ 本帖最后由 wh1125 于 2007-5-30 16:37 编辑 ]

咕噜噜 发表于 2007-5-30 16:37

回复 #3 wh1125 的帖子

用ode45可以作出数值解,画出图,只要你给出初始条件

wh1125 发表于 2007-5-30 16:42

回复 #4 咕噜噜 的帖子

真的吗?初始条件是x(0)=0.5,x'(0)=0
程序怎么写啊?吐噜噜帮忙啊!:handshake

x''+9.8sinx=0
x(0)=0.5,x'(0)=0
整个就是这样的,求解把图出来。:handshake 谢啦!

[ 本帖最后由 ChaChing 于 2010-6-14 09:51 编辑 ]

xjzuo 发表于 2007-5-30 17:01

help ode45

wh1125 发表于 2007-5-30 19:24

搞定了,哈哈!

微分方程:
function xd=hundun(t,x)
xd=;

调用部分:
t_final=10; x0=; =ode45('hundun',,x0);
plot(t,x(:,1));

学会用ode45()解非线性微分方程了:))

虽然搞定,还有点不明白
最后那个绘图命令是plot(t,x(:,1))?画的是我的微分方程中的x与自变量t之间的曲线,绘图怎么是x(:,1),程序中的x不是列向量(x;x')吗,这里绘图应该是plot(t,x(1,:))才对啊?

[ 本帖最后由 ChaChing 于 2010-6-14 09:53 编辑 ]

hunter_009 发表于 2007-5-30 21:13

可能matlab可以自己调整到维数相同吧.

eight 发表于 2007-5-30 21:20

这个一般不可能,楼主自己调试一下便知道了,估计某个函数的输出与你预想的不同,但刚好和 plot 的另一个变量维数吻合

[ 本帖最后由 ChaChing 于 2010-6-14 09:53 编辑 ]

lixiaozhen 发表于 2007-6-2 23:12

对头
页: [1]
查看完整版本: 如何求解微分方程x''+sinx=0