Too many output argument

Hi, I am trying to plot a 3D gyroid using the following code
fimplicit3(@(x,y,z) sin(x).*cos(y) + sin(y).*cos(z) + sin(z).*cos(x))
but it shows me too many output argument as the error. Also a bank 3D plot opens up with only X Y Z axis.
Can you help?

9 Comments

Please post the complete error message
This code works:
example.jpg
I suspect that the poster has shadowed a function. The complete error message would help us track it down.
Yash Mistry
Yash Mistry on 4 Jul 2019
Edited: Yash Mistry on 4 Jul 2019
Sorry for not posting this earlier, I have attached the full error message below.
>> gyroid
Warning: Error updating ImplicitFunctionSurface.
Too many output arguments.
Using
dbstop if warning
might help you track down the problem.
Yash Mistry
Yash Mistry on 5 Jul 2019
Edited: Yash Mistry on 5 Jul 2019
I tried to run the same command on my co workers computer and the program run fine, i think there is some probelm with my MATLAB can you guys please suggest solution to it.
Program - fimplicit3(@(x,y,z) sin(x).*cos(y) + sin(y).*cos(z) + sin(z).*cos(x))
Error message in my MATLAB -
Warning: Error updating ImplicitFunctionSurface.
Too many output arguments.
IT RUN PERFECTLY FINE ON OTHER MATLAB.
What happened when you tried the dbstop if warning ?
function defaulterrorcallback(~, evt)
% The default value for ErrorCallback properties.
% Copyright 2009-2017 The MathWorks, Inc.
[id, msg] = matlab.graphics.internal.prepareDefaultErrorCallbackWarning(evt);
stack = dbstack('-completenames');
if (size(stack,1) == 1)
warningstatus = warning('OFF', 'BACKTRACE');
warning(id, msg);
warning(warningstatus);
else
warning(id, msg);
end
end
Warning from defaulterrorcallback (line 9)
warning(id, msg);
Sorry for this messy reply, I dont really understand but i have copy pasted whatever it showed me on my matlab.
Thank you so much.
At that point it would be useful to see the contents of the stack variable.

Sign in to comment.

Answers (1)

SaiDileep Kola
SaiDileep Kola on 19 Jul 2019

0 votes

fimplicit3(@(x,y,z) sin(x).*cos(y) + sin(y).*cos(z) + sin(z).*cos(x))
Hi,
This function doesn’t show any error and gives as gyroid as shown in figure, store it to a handle as
fh = fimplicit3(@(x,y,z) sin(x).*cos(y) + sin(y).*cos(z) + sin(z).*cos(x));
Before doing this clear all variables stored in your workspace, change settings on MATLAB to default
Plot looks like

2 Comments

The warnings the user was getting suggests there is some shadowed function or a corrupt MATLAB installation. They were already doing the fimplicit3.
Second sir Walter’s comment.

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products

Tags

Asked:

on 4 Jul 2019

Commented:

on 19 Jul 2019

Community Treasure Hunt

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

Start Hunting!