Array indices must be positive integers or logical values.

Hi! I am getting this error and I do not understand why.
This is the line that is producin the error. However, all variables in this line have been defined successfully, and none of them are arrays. I do have the final loop, but it uses positive integers. Any thoughts?
M_max = -R1(distg2-distr1)+G1(distg2-distg1);
M_min = 0;
M_m = (M_max + M_min)/2; % Median moment
M_a = (M_max - M_min)/2; % Alternating moment
s_m = M_m*(d/2)/I; % Sigma m
s_a = M_a*(d/2)/J; % Sigma a
sigma_m = zeros(3);
sigma_a = zeros(3);
for (i = 1:3)
sigma_m(i) = kt(i)*s_m; % von mises equivalent median stress
sigma_a(i) = kt(i)*s_m; % von mises equivalent alternating stress
end

 채택된 답변

Walter Roberson
Walter Roberson 2020년 10월 23일

0 개 추천

You forgot to put in the multiplication operator. MATLAB has no implied multiplication, not anywhere. A(B) is indexing or function invocation, never multiplication.

댓글 수: 2

Does any (commonly used) programming language have implied multiplication?
In Maple, if a numeric constant appears before a non-numeric expression, then it will be multiplied, and non-numeric expressions separated by whitespace will be multiplied. So 3 x y is valid Maple but not x 3 y or 3 x 5 y

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Function Creation에 대해 자세히 알아보기

질문:

2020년 10월 23일

댓글:

2020년 10월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by