MATLAB Answers

# Array indices must be positive integers or logical values error

13 views (last 30 days)
%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 CommentsShowHide 1 older comment
Haren Sunil Panchal on 17 Feb 2021
Ok, Sorry for that

Sign in to comment.

### Answers (1)

the cyclist on 17 Feb 2021
Edited: the cyclist on 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).
##### 1 CommentShowHide None
Haren Sunil Panchal on 17 Feb 2021
Thank you. This helped me resolve the issue.

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!