【发布时间】:2020-04-21 03:45:05
【问题描述】:
我创建了一个函数 Euler.m 来使用 Euler 方法求解一个 ODE 系统。我希望用这个函数来求解匿名函数func=@(t) ([x(t)+4*y(t)-exp(t);x(t)+y(t)+2*exp(t)])定义的ODE系统,初始条件由y0给出。
func=@(t) ([x(t)+4*y(t)-exp(t);x(t)+y(t)+2*exp(t)]);
y0=[4;5/4];
y_exact=@(t) [4*exp(3*t)+2*exp(-t)-2*exp(t);2*exp(3*t)-exp(-t)+exp(t)/4]; %exact solution of ODEs
a=0; % such that
b=1; % a<t<b
N=120;
[t,y] = Euler(func,a,b,y0,N)
但是,显示以下错误:
"使用解决方案出错>@(t)([x(t)+4*y(t)-exp(t);x(t)+y(t)+2*exp(t)]) 输入参数过多。
解决方案中的错误(第 7 行) [t,y] = Euler(func,a,b,y0,N)"。
为什么会显示这个错误?
【问题讨论】:
-
错误是你在函数
Euler的第7行给func提供了太多的输入。但是,如果您不包含Euler函数的代码,您将无法获得答案。