How can I fix "Not Enough Input Arguments" error in this Script?
Mostrar comentarios más antiguos
Input:
t = 0:pi/50:10*pi;
x = (1/2)*(sin(2*t))+1;
y = (1/2)*(cos(2*t))+1;
z = 2*t;
plot3(x,y,z,t,'r','LineWidth',3)
Output:
Error using plot3
Not enough input arguments.
Error in testfunc (line 6)
plot3(x,y,z,t,'r','LineWidth',3)
11 comentarios
t = 0:pi/50:10*pi
x = (1/2)*(sin(2*t))+1;
y = (1/2)*(cos(2*t))+1;
z = 2*t;
figure(2);
plot3(x,y,z,'r','LineWidth',3)
Stephen23
el 20 de Jun. de 2018
@Tom Keaton: please show us the complete error message. This means all of the red text.
OCDER
el 20 de Jun. de 2018
Code works for me without error. Is there more to it?
Tom Keaton
el 20 de Jun. de 2018
Editada: Tom Keaton
el 20 de Jun. de 2018
Tom Keaton
el 20 de Jun. de 2018
Geoff Hayes
el 20 de Jun. de 2018
Editada: Geoff Hayes
el 20 de Jun. de 2018
Tom - which version of MATLAB are you using? If you look at that the documentation for that version (call doc plot3 from the command line) does your code satisfy the documentation description (in particular the signature for plot3)?
Note that the online documentation is for the most recent version of MATLAB (you can find archived versions though) so it may conflict with whatever version you have.
OCDER
el 20 de Jun. de 2018
@sophia's code worked for me.
plot3(x,y,z,t,'r','LineWidth',3)
^ ^ your code has an extra t or z input.
Maybe Mathworks could change the error message to something like this:
Error using plot3
Incorrect number of input arguments.
So what do you expect a 3D plot will do with 4 dimensions of data - (x, y, z, t)? Maybe you need another plot, or a video perhaps?
Tom Keaton
el 20 de Jun. de 2018
Greg
el 21 de Jun. de 2018
"Not enough input arguments" is the correct error message because plot3 allows indefinite triplets of x,y,z inputs. Therefore, it thinks "t" is the first dimension of the second triplet, meaning 2 more inputs must follow.
OCDER
el 21 de Jun. de 2018
@Tom, glad it worked!
@Greg, I guess that explains why Mathworks put that error message. But, "Incorrect number of input arguments" INCLUDES "Not enough input arguments" AND "Too many input arguments". In this case, there was too many input arguments, which was the opposite of "not enough input arguments" - this could make debugging a little confusing.
Greg
el 21 de Jun. de 2018
Maybe you're right. Personally, MATLAB's documentation makes 100% perfect sense to me, so I just look up the calling syntax and fix it. It's probably the single most prominent reason I'm proficient with MATLAB - my brain just works exactly the way the documentation is laid out. Others might not be so lucky.
Respuestas (1)
KSSV
el 21 de Jun. de 2018
t = 0:pi/50:10*pi;
x = (1/2)*(sin(2*t))+1;
y = (1/2)*(cos(2*t))+1;
z = 2*t;
plot3(x,y,z,'r','LineWidth',3)
You need not plot t here. plot3 takes only three inputs of data i.e (x,y,z).
Categorías
Más información sobre Entering Commands en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!