Borrar filtros
Borrar filtros

Error message when using plot command: "Subscript indices must either be real positive integers or logicals"

4 visualizaciones (últimos 30 días)
I am having an issue when I run this code:
x = linspace(0,1,7);
yprimeexact = -2*x.*exp(-x.^2);
yprimeapprox = [-1.3264656E-02 -0.3154821 -0.5814109 -0.7609767 -0.8383472 -0.8199028 -0.7577648];
plot(x,yprimeexact,'b')
hold on
plot(x,yprimeapprox,'r')
When I try to plot the data, I get an error message saying, "Subscript indices must either be real positive integers or logicals." Do you know what is wrong? Thank you in advance!
  1 comentario
dpb
dpb el 10 de Oct. de 2013
Looks like you've inadvertently created an array named plot earlier...
clear plot
then try again. If that doesn't cure it, do
which plot
and post it and the full error in context but I suspect it will...

Iniciar sesión para comentar.

Respuestas (2)

Wayne King
Wayne King el 10 de Oct. de 2013
The above code should execute properly Kelsey. Perhaps you have a variable named linspace() in your workspace?
If you execute
>>who linspace
do you get something back, like "Your variables are"
If so try
>> clearvars linspace
and try again. Worse case, just clear everything and copy and paste the above code back into the workspace, it should work.
  4 comentarios
Sean de Wolski
Sean de Wolski el 10 de Oct. de 2013
Could also be a shadowed plot.m function which inside does indexes into x or similar.
dpb
dpb el 10 de Oct. de 2013
which was my first suggestion of likely cause but seems if OP really did what says did (and didn't do the wrong thing again right after which we can't see) should've gone away.
But, then again, if is running a script that has the problematic line in it and we're not seeing that, then it's quite possible that the problem gets fixed at the command line then runs the script that has the error and makes the problem all over again-- ad nauseum, so to speak... :)

Iniciar sesión para comentar.


Sean de Wolski
Sean de Wolski el 10 de Oct. de 2013
Run:
dbstop if error
At the command line.
Then run the above code. It will stop with the debugger on the offending line and you will be able to see which function (e.g. exp, plot, linspace has a variable named after it or another function shadowing the builtin one.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by