永发信息网

MATLAB中用ode45如何求解二阶常微分方程,请写详细点儿,最好附个例子,谢谢啦

答案:4  悬赏:20  手机版
解决时间 2021-04-23 08:17
主要想问一下关于二阶迭代成一阶的过程
最佳答案
确实很简洁
全部回答
1、你贴出来的报错信息和代码对不上号:前面显示错误的那行代码和你贴出来的完全不一样;而后面的错误(input argument 'u1' is undefined)也不可能是目前的代码所导致的——的确是有错,但错误应该是il未定义才对。   2、使用ode*系列函数解常微分方程,用于描述微分方程的函数(例如你这里的current)输入输出参数是有固定格式要求的,应该是     dy = current( t, y ) 其中t是时间,y是t时刻的状态变量。这两二个参数即使你在函数中用不上,也必须列在参数表中。当然,变量的具体名字可以自定,但含义就是上面说的。   例如,按照你现在的写法,传递到current函数的u1就是时间,而u2则是微分方程的状态变量,相当于y,是一个向量,有3个元素。如果按照上面的固定格式,current函数不允许有三个输入参数,那么,既然你写了三个输入参数,第三个参数il自然就没有定义,所以会出错。   我猜测,你的方程中u1、u2和il其实就是状态变量y——如果是这样,那么在current函数中将其分别以y(1)、y(2)、y(3)代替就可以了,后面的大部分内容也就没必要看了。   之所以对描述微分方程的函数(例如current)有这种固定的格式要求,是因为 ode*系列函数属于所谓“函数的函数”(function functions),也就是说,它的输入参数当中有其它函数(可以是函数文件名,或者函数句柄,也可以是inline函数、匿名函数)。ode* 函数在求解过程中,会反复调用作为参数传递给它的函数,而调用的过程并非由我们决定的,而是固定地写在ode*函数代码中的,所以,对描述微分方程的函数有固定格式要求也就不足为奇了。   3、假如描述微分方程的函数除了t和y之外,的确还需要其它数据,应该怎么办?   首先,请认真考虑一下问题本身,这些数据到底是什么性质?
  • 如果是常数,可以考虑直接写在current函数里面;
  • 如果变化的,但仅与时间t和状态变量y及其导数有关,也可以直接在current函数里面计算出来,而无需由外部传递。   如果上面两种情况都不适合,那么就需要用到传递附加参数了。传递附加参数的常用手段包括使用匿名函数、嵌套函数以及通过函数参数传递三种方式,下面介绍一下第三种方式。   ode系列函数较为一般的调用格式为     [t,y] =solver(odefun,tspan,y0,options,p1,p2...) 这些参数中,p1、p2等就是要额外传递的参数,而相应的微分方程函数应该定义成     dy = current( t, y,p1, p2... ) options为求解器选项,如果不知道(同时也不想知道)它有什么用,可以不用管它,调用的时候用空数组([])代替即可。   4、还有一点小问题:     dy=zeros(1,3); 应改成     dy=zeros(3,1); 描述微分方程的函数要求返回列向量。   参考改动 function dy = current( t, y ) u1 = y(1); u2 = y(2); il = y(3); dy=zeros(3,1); dy(1)=u1; dy(2)=u1/(1.96*10^-4)+u2/(1.96*10^-4)+il/(10^-7); dy(3)=-u2/(17.2*10^-3)-0.5*il/(17.2*10^-3);   这样修改后,程序可以运行,但求出来的结果是发散的,请你再仔细检查一下方程是否正确。   由于不确定你的方程中u1、u2和il到底是什么,所以只能帮你说到这里了。
  • 1楼回答很简洁
    先把二阶方程化成一阶方程组 具体的可以看help 的例子
    我要举报
    如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
    大家都在看
    关于阿森纳主教练的提问
    穿越火线VIP游戏币道具我买了,当我不是VIP了,
    中文单机版 桥牌游戏软件
    鸡鱼跳地址有知道的么?有点事想过去
    X的平方+Y的平方—6X—8Y+25=0求X+Y
    跪求龙珠电脑主题
    哪里打工好深圳北京上海
    如果你喜欢的人他不喜欢你,而他也已经有喜欢
    吴姓字辈中:自,成,加,文……后面跟着是什么?
    怎样提高逻辑思维力
    烦恼是否是你烦它就恼?
    关于春光的诗句大全,描写春光的诗句有哪些一
    单位能去医院查看职工的病历吗?
    谁可以发给两张征途怀旧版战友集结卡?
    高三文科如何高效率复习?
    推荐资讯
    为什么在几个百度的贴吧里发的帖子都被删除了
    怎样设计三室一厅房子中的用电布线方案?
    检验集气瓶中氧气是否收集满的方法是什么?
    为什么我的QQ音乐打不开
    为什么通货膨胀一次再通货紧缩一次每个人的财
    有什么关于天使的动画?
    中国工商银行四方第二支行这个地址在什么地方
    淘宝店铺显示今日收入的钱到哪里了?
    QQ三国45YY收一套装备要多少钱?
    老师说我心中杂念太多,上课才会不认真,我该
    福星徽章是什么
    惠州哪给电子厂工资搞点 做普工的 什么样的厂
    正方形一边上任一点到这个正方形两条对角线的
    阴历怎么看 ?