Array indices must be positive integers or logical values error

조회 수: 3 (최근 30일)
Haren Sunil Panchal
Haren Sunil Panchal 2021년 2월 17일
댓글: Haren Sunil Panchal 2021년 2월 17일
%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
the cyclist
the cyclist 2021년 2월 17일
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.

댓글을 달려면 로그인하십시오.

답변 (1개)

the cyclist
the cyclist 2021년 2월 17일
편집: the cyclist 2021년 2월 17일
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).

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by