声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1231|回复: 7

[编程技巧] 这个微分方程用matlab怎么解

[复制链接]
发表于 2006-10-9 18:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
dv/dt=5sinx-0.1*v*v
dx/dt=5cosx/v
初始条件为t=0时,v=150,x=0.8
这个微分方程用matlab怎么解
怎么样得出v和x随着t的变化曲线


[ 本帖最后由 lxq 于 2006-10-9 19:57 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-10-9 21:10 | 显示全部楼层
function xdot=ab(t,x)
xdot=[5*sin(x(2))-0.1*x(1)^2;5*cos(x(2))/x(1)];
[t,x]=ode45(@ab,[0 100],[150 0.8])
plot(t,x)
t的取值范围我设为0到100,自己可以根据需要而去改变,作出的图形如下:

图形

图形

评分

1

查看全部评分

发表于 2006-10-9 22:50 | 显示全部楼层
请问怎么分出哪个是v,哪个是x的曲线?
我刚接触这个,谢了!
发表于 2006-10-9 22:56 | 显示全部楼层
x(1)代表v,x(2)代表x
发表于 2006-10-9 22:57 | 显示全部楼层
用龙格_库塔法解这个常微分方程,很简单的,多看看数值计算方面的书!!
 楼主| 发表于 2006-10-10 20:03 | 显示全部楼层
Input argument 'x' is undefined.

Error in ==> C:\MATLAB6p5\work\ab.m
On line 2  ==> xdot=[5*sin(x(2))-0.1*x(1)^2;5*cos(x(2))/x(1)];

我做的时候出现这种问题  是怎么回事啊
发表于 2006-10-11 11:23 | 显示全部楼层
我也是,出现同样错误
发表于 2006-10-11 11:32 | 显示全部楼层
原帖由 weiqaz123 于 2006-10-10 20:03 发表
Input argument 'x' is undefined.

Error in ==> C:\MATLAB6p5\work\ab.m
On line 2  ==> xdot=;

我做的时候出现这种问题  是怎么回事啊

不知道是不是版本问题,我在7.0下fanghuikeer 的程序没问题,图也是和他一样的
只是那个分号要改成英文下的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 22:52 , Processed in 0.060548 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表