Why do I get the error "too many output arguments"?

7 vues (au cours des 30 derniers jours)
Noya Linder
Noya Linder le 15 Juin 2023
Commenté : Jon le 15 Juin 2023
I call this function:
function nvec = removeByGamma(tR)
t = tR(1);
R = tR(2);
line = linespace(1, length(R), 1);
for i = line
g = findGamma(R(i));
if (g>Gammaf)
R(i) = [];
t(i) = [];
end
end
nvec = [t, R];
end
here
[t, R] = removeByGamma(ode45(@odefun, tspan, r0));
yet I get the error:
Error using solve>removeByGamma
Too many output arguments.
Error in solve (line 26)
[t, R] = removeByGamma(ode45(@odefun, tspan, r0));
I'm a bit new to this and I have no idea what's the problem
Thank you in advance!

Réponse acceptée

Jon
Jon le 15 Juin 2023
You have defined your function removeByGamma with only one output argument
function nvec = removeByGamma(tR)
but then you call it with two output arguments, t and R:
[t, R] = removeByGamma(ode45(@odefun, tspan, r0));
MATLAB is telling you it has no way of knowing how to assign that second argument
  3 commentaires
Noya Linder
Noya Linder le 15 Juin 2023
Thank you so much! have a great day :)
Jon
Jon le 15 Juin 2023
Your welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by