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

 采纳的回答

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 个评论

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!
.

请先登录,再进行评论。

更多回答(1 个)

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

1 个评论

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

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Scatter Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by