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