Array indices must be positive integers or logical values error

%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 Kommentare

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.
Ok, Sorry for that

Melden Sie sich an, um zu kommentieren.

Antworten (1)

the cyclist
the cyclist am 17 Feb. 2021
Bearbeitet: the cyclist am 17 Feb. 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).

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by