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 commentaires

Walter Roberson
Walter Roberson le 4 Juil 2019
Please post the complete error message
Alex Mcaulley
Alex Mcaulley le 4 Juil 2019
This code works:
example.jpg
Walter Roberson
Walter Roberson le 4 Juil 2019
I suspect that the poster has shadowed a function. The complete error message would help us track it down.
Yash Mistry
Yash Mistry le 4 Juil 2019
Modifié(e) : Yash Mistry le 4 Juil 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 le 5 Juil 2019
Modifié(e) : Yash Mistry le 5 Juil 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.
Walter Roberson
Walter Roberson le 5 Juil 2019
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.
Walter Roberson
Walter Roberson le 5 Juil 2019
At that point it would be useful to see the contents of the stack variable.

Connectez-vous pour commenter.

Réponses (1)

SaiDileep Kola
SaiDileep Kola le 19 Juil 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 commentaires

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Graphics Performance dans Centre d'aide et File Exchange

Produits

Tags

Commenté :

le 19 Juil 2019

Community Treasure Hunt

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

Start Hunting!

Translated by