ode45('fun',[],[]) 中的函数如何调用外部参数。

我想利用ode45函数求解一个方程组,方程组中一个方程的系数的参数来自函数外部,不管怎样都无法调用,请问应该如何解决?function dy=fun(t,y,a)
dy=zeros(2,1);
dy(1)=sin(y(2));
dy(2)=a(4)+a(3)*t+a(2)*t.^2+a(1)*t.^3;
[t,f]=ode45('fun',[t0 tf],[y0 yf],a);
运行一直出错
错误提示:
Attempted to access a(4); index out of bounds because numel(a)=0.

 Accepted Answer

chfikmoe
chfikmoe on 17 May 2023

0 votes

试试
[t,f]=ode45(@(t,y)fun(t,y,a),[t0 tf],[y0 yf]);

More Answers (0)

Categories

Find more on 矩阵和数组 in Help Center and File Exchange

Tags

Asked:

on 17 May 2023

Answered:

on 17 May 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!