急急急!!!MATLAB求解微分方程组,需要得到数值解
MATLAB用ode45求解微分方程组,需要编写m文件,怎样直接在命令窗口直接编写代码求解微分方程组,而不编写m文件,或者怎样把m文件展开直接写在代码里面,前提是需要得到...
MATLAB用ode45求解微分方程组,需要编写m文件,怎样直接在命令窗口直接编写代码求解微分方程组,而不编写m文件,或者怎样把m文件展开直接写在代码里面,前提是需要得到数值解,请给一个格式实例,谢谢
能解决问题请回答,非诚勿扰,谢谢 展开
能解决问题请回答,非诚勿扰,谢谢 展开
2个回答
展开全部
对于不是很复杂的微分方程(最好不包含逻辑判断之类的),可以使用匿名函数(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')
例如,作为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')
更多追问追答
追答
上次忘说了,对于7.0之后的版本,最好使用匿名函数(由于我当时的电脑中正在用6.5,就随手使用了inline)。
匿名函数与inline函数的最大差别是,匿名函数可以使用当前工作区中已定义的变量,而inline由于是以字符串形式定义的,它不能直接使用工作区中的变量。也正因匿名函数相比之下更方便、更强大,较新的版本中计划删除inline函数,而建议用户使用匿名函数代替。
匿名函数的使用也很简单。例如,上面的内联函数如果用匿名函数定义如下:
vdp1000=@ (t,y)[y(2); 1000*(1 - y(1)^2)*y(2) - y(1)];
注意不要把方括号给丢了。
上海华然企业咨询
2024-10-28 广告
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步...
点击进入详情页
本回答由上海华然企业咨询提供
2015-11-16
展开全部
我可以用Mathematica试试,这个软件和Matlab有很多共同点
追问
搞不懂你给我的这是什么回答,。。。。。。。不用换软件,就用MATLAB求解,不会咱就不用谈这些无关痛痒的东西,谢谢您
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询