Error: Too many output arguments

Hi. In my main M script I have:
x = 0:50;
y = 0:50;
[X,Y] = meshgrid(x,y);
P = P_fn(X,Y);
in my function I have:
function P_fn(x,y)
P = <some equation involving both terms x and y>
end
when I run it I get the error:
>> P = P_fn(X,Y);
Error using P_fn
Too many output arguments.
Can functions only output one calculation and output? My equation works just fine if I use it in the main M script.
Thanks for reading

 Risposta accettata

The error is because you did not define the function with outputs.
Try this:
function P = P_fn(x,y)
P = <some equation involving both terms x and y>
end

4 Commenti

Thanks. That works now. The reason I omitted it is because I wanted to be able to have the output displayed in the Command Window as P = answer rather than ans = answer. There doesn't seem to be any other way to get rid of the "ans = " part of the displayed answer.
My pleasure.
You can still have ‘P’ display to the Command Window by simply removing the semicolon from the end of this line:
P = P_fn(X,Y)
If my Answer helped you solve your problem, please Accept it!
Please help me with my problem :
function a = myRand
a = 10*rand(3,4);
end
--------------
When I ran it
myRand ( it shows up)
Then I want to assign the result to a variable b :
b = myRand
And there is an error :
Error using myRand
Too many output arguments.
This should be a new Question.
b = myRand
b = 3×4
1.4722 0.2712 7.6027 8.2860 4.9290 5.6392 1.6085 8.6403 8.9170 5.5582 5.6037 7.0630
function a = myRand
a = 10*rand(3,4);
end
That said, it works for me, so problem solved!
.

Accedi per commentare.

Più risposte (1)

Bartomeu Serra Gonzalez
Bartomeu Serra Gonzalez il 4 Nov 2021

0 voti

Mi función es la siguiente:
y a la hora de ejecutar, en un scrip:
me aparece el error:
¿Porqué?

1 Commento

The ‘f’ function does not return anything, although the anonymous function within it does.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by