1

我第一定义函数为DY/DT = Y和dy/dt的= T:使用ODE45解决Y '= Y adnd Y'= T在Matlab

function dy=d(y): 
    dy=y 
end 

function ddy=dd(t): 
    ddy=t 
end 

然后我分别使用ODE45,:

[t,y]=ode45('d',[1 10],1) 
[t,y]=ode45('dd',[1 10],1) 

返回以下错误:使用d 太多输入参数出错。

我的问题是:

  1. 我有什么错?
  2. 如何Matlab的知道y或t是独立变量?当我定义第一个函数时,它可以合理地解释为dt/dy = y而不是dy/dt = y。是否有定义函数的内置约定?第一

回答

0

第一件事:上ode45的文档是The MathWorks公司的网站上,也可以从控制台输入help ode45得到他们。

你需要传递给函数取两个变量,然后yt。正如你注意到没有,只有一个那将是不可能的,仅仅为t功能区分的只有y功能。第一个论点必须是独立的,第二个是依赖的。

尝试定义你的函数为dy = d(t, y)ddy = dd(t, y)用相同的机构。

另一个音符,而使用表示函数名称应为字符串,你可以使用@d@dd直接引用的功能。

+0

谢谢!这真的很有帮助。 – LaserChicken