急急急!!!MATLAB求解微分方程组,需要得到数值解

MATLAB用ode45求解微分方程组,需要编写m文件,怎样直接在命令窗口直接编写代码求解微分方程组,而不编写m文件,或者怎样把m文件展开直接写在代码里面,前提是需要得到... MATLAB用ode45求解微分方程组,需要编写m文件,怎样直接在命令窗口直接编写代码求解微分方程组,而不编写m文件,或者怎样把m文件展开直接写在代码里面,前提是需要得到数值解,请给一个格式实例,谢谢
能解决问题请回答,非诚勿扰,谢谢
展开
 我来答
tianxiawulang
2015-11-16 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2574万
展开全部
对于不是很复杂的微分方程(最好不包含逻辑判断之类的),可以使用匿名函数(7.0之前使用内联函数inline)定义微分方程,然后用ode*系列函数求解。

例如,作为ode*函数文档中的例子:
function dy = vdp1000(t,y)
dy = zeros(2,1); % a column vector
dy(1) = y(2);
dy(2) = 1000*(1 - y(1)^2)*y(2) - y(1);

可以用内联函数表示为:
vdp1000=inline('[y(2); 1000*(1 - y(1)^2)*y(2) - y(1)]','t','y');
[T,Y] = ode15s(vdp1000,[0 3000],[2 0]);
plot(T,Y(:,1),'-o')
更多追问追答
追问

还是不对,哪里出错了,我在MATLAB7.0和MATLAB2010b都试了,不行

追答
上次忘说了,对于7.0之后的版本,最好使用匿名函数(由于我当时的电脑中正在用6.5,就随手使用了inline)。

匿名函数与inline函数的最大差别是,匿名函数可以使用当前工作区中已定义的变量,而inline由于是以字符串形式定义的,它不能直接使用工作区中的变量。也正因匿名函数相比之下更方便、更强大,较新的版本中计划删除inline函数,而建议用户使用匿名函数代替。

匿名函数的使用也很简单。例如,上面的内联函数如果用匿名函数定义如下:
vdp1000=@ (t,y)[y(2); 1000*(1 - y(1)^2)*y(2) - y(1)];
注意不要把方括号给丢了。
富港检测技术(东莞)有限公司_
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
匿名用户
2015-11-16
展开全部
我可以用Mathematica试试,这个软件和Matlab有很多共同点
追问
搞不懂你给我的这是什么回答,。。。。。。。不用换软件,就用MATLAB求解,不会咱就不用谈这些无关痛痒的东西,谢谢您
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式