![]() |
【求助】ode中创建函数问题
我要用ode45求解一个常微分方程
比如:x'=-x.^2;x(0)=1 创建一个函数并保存文件名为xprimt的m文件 function xprim=xprim1(t,x) xprim1=-x.^2; 一运行就提示x未定义,x该怎么定义 |
你没有发现你定义的函数很奇怪吗,输入变量中还要有个t,但你下面根本没有用到。你看看问题应该是处在这。
|
t去掉后结果还是一样,它只是一个时间变量
|
不会呀,你试一下。
去掉m文件中的分号, >> xprim1(1) xprim1 = -1 |
我错了,我一开始就没明白创建函数的意思,我把创建的函数按F5运行,:(
创建的函数在调用的时候会有值传递给函数里的变量,所以创建时不用定义变量,因此单独运行创建的函数肯定会显示变量没有定义 ps:t是不能去掉的,因为我用ode45调用该函数,去掉后ode45没法运行, 可以这样 >> xprim1(1,1) ans = -1 t只要随便给一个值就行,反正函数是-x.^2跟t没有关系 一直以来困扰我多日的问题终于解决了,好轻松啊 |
所有时间均为北京时间。现在的时间是 04:44。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.