Array indices must be positive integers or logical values error

1 visualización (últimos 30 días)
%HW4 Q2-Vector Loop solution
r2=1; r3=4;
theta2=60;
X = (2*r2((cosd(0)*cosd(theta2))));
B=r2^2-r3^2;
%Case 1 - signma=+1
sigma=1;
r1=(-(-X)+sigma*sqrt(X^2-4*B))/2;
theta3=atand((-r2*sind(theta2))/r1*cosd(0)-r2*cosd(theta2));
%Case 2 - sigma=-1
sigma=-1;
r1=(-(-X)+sigma*sqrt(X^2-4*B))/2;
theta3(2)=atand((-r2*sind(theta2))/r1*cosd(0)-r2*cosd(theta2));
The error is on line 4 for 'X' variable
  2 comentarios
the cyclist
the cyclist el 17 de Feb. de 2021
FYI, I edited your question to use the "code" format from the toolbar, to make it more readable. Next time, please take a look at doing that yourself.

Iniciar sesión para comentar.

Respuestas (1)

the cyclist
the cyclist el 17 de Feb. de 2021
Editada: the cyclist el 17 de Feb. de 2021
You need
X = (2*r2*((cosd(0)*cosd(theta2))));
instead of
X = (2*r2((cosd(0)*cosd(theta2))));
(Note that I used r2* instead of just r2.)
MATLAB needs the explicit multiplication sign there, to distinguish the syntax from indexing a variable (which is why it threw that error).

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by