龙格库塔法求编写matlab程序 自己照着网上的试了一下结果老报错……

如题所述

题主应该贴出自己写的代码,或者至少贴出报什么样的错误。追问

这是我随手百度的——事实上我百度了很多个类似的方程,每一个都出现同样的问题

追答

你这是把函数代码直接贴到MATLAB的命令窗口中运行了吧?


函数代码不能直接贴到命令窗口,应该保存成M文件(例如nark4.m),然后还需要另外定义一个描述微分方程的函数(即函数nark4的输入参数dyfun),可以保存成M文件,也可以使用匿名函数,例如

dy = @ (x,y)[y(2); -5*y(2)+0.8*y(1)+0.26];

然后在命令窗口中使用类似如下的调用方式:

[x,y]=nark4(dy,xspan,y0,h)

其中,dyfun为定义微分方程的函数,xspan为2个元素的向量,确定了自由变量的范围,y0为初值,h为步长。


不过,题目好像有点问题,要求步长使用0.1,却要求0.02时刻的值,这个时间小于步长,概念上是不合理的。

追问

懂了,已经解决了……
另外步长确实是题目错了

温馨提示:答案为网友推荐,仅供参考