Subscript indices must either be real positive integers or logicals.

조회 수: 1 (최근 30일)
nathan Short
nathan Short 2019년 9월 17일
댓글: nathan Short 2019년 9월 17일
Why do i get " Subscript indices must either be real positive integers or logicals." when i run my code and how can i fix it
%% problem parameters
P = 0.5*9.81; % [load N]
L = 0.5; % [Length M]
E = 69*10^6;
I = ((0.0032^3)*(0.0088))/12;
%%
x = (0:0.025:L);
v = zeros(length(x));
for i = 0.025:length(a)
a = 1/(E*I);
b = 1/12;
c = 1/16;
v(i) = a*((b*P*(i^3))-(1*c*P*(L^2)));
end

답변 (2개)

KALYAN ACHARJYA
KALYAN ACHARJYA 2019년 9월 17일
편집: KALYAN ACHARJYA 2019년 9월 17일
The error is
v(i)
%..^
In Matlab indexing, the i value must be positive interger, like 1,2,3,,,,
v(1)>> Allow
v(0)>> Not Allow
v(0.25)>> Not Allow
v(-3)>> Not Allow
v(7)>> Allow
Hope you get the sufficients hints. In your case i starts from 0.25, hence v(0.25) Not allowed.
% Define a
% ????
%% problem parameters
P = 0.5*9.81; % [load N]
L = 0.5; % [Length M]
E = 69*10^6;
I = ((0.0032^3)*(0.0088))/12;
%%
x = (0:0.025:L);
v = zeros(length(x));
i=0.025:length(a)
for j =1:length(i)
a = 1/(E*I);
b = 1/12;
c = 1/16;
v(j)= a*((b*P*(i(j)^3))-(1*c*P*(L^2)));
end
Without Loop:
% Define a
% ????
%% problem parameters
P = 0.5*9.81; % [load N]
L = 0.5; % [Length M]
E = 69*10^6;
I = ((0.0032^3)*(0.0088))/12;
%%
x = (0:0.025:L);
v = zeros(length(x));
i=0.025:length(a)
a=1/(E*I);
b=1/12;
c=1/16;
v=a*((b*P.*(i.^3))-(1*c*P*(L^2)));
Any issue let me know?
  댓글 수: 5
KALYAN ACHARJYA
KALYAN ACHARJYA 2019년 9월 17일
편집: KALYAN ACHARJYA 2019년 9월 17일
If a=20,
the what does the following means
i = 0.025:length(a)
it return i as a single element
i=0.025
Are you sure? No Need of loop.The v becomes
v =
-46.2192
If no, What exactly you are trying to do?
nathan Short
nathan Short 2019년 9월 17일
i want to return v as an array for each input of i (0;0.025;0.5). then plot the values against each other as it should display a deflection curve

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


Image Analyst
Image Analyst 2019년 9월 17일
The FAQ explains it pretty well: Click here for the FAQ on that error

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by