Why am I getting an error on this?

Why am I getting an error that says "Not enough input arguments."
function dydx = funct(x, y, z)
a = 1;
b = 2;
c = 3;
dydx = a*y + b*z + c*x;
end
y0 = 1;
z0 = 2;
[x, y] = ode45(@funct, [0, 10], [y0, z0]);
plot(x, y);

2 Comments

func() takes 3 scalar arguments (x, y, z), but you are passing a single vector argument ([y0, z0], etc.) to it.
Torsten
Torsten on 14 Dec 2022
Edited: Torsten on 14 Dec 2022
If you want to solve for two unknown functions (y and z), you need two differential equations, not only one.

Sign in to comment.

Answers (0)

Products

Release

R2020b

Asked:

on 14 Dec 2022

Edited:

on 14 Dec 2022

Community Treasure Hunt

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

Start Hunting!