Unable to perform assignment because the left and right sides have a different number of elements

조회 수: 2 (최근 30일)
I understand the concept behind the error, but not so much the reason as it applies to the code. This is a homework problem that I was given.
If there are other issues with this code, I would really appreciate any and all explanations!
t = (0:.2:50);
V = zeros(length(t));
for i=1:length(t)
if 0 <= t(i) <= 8
V(i) = 10*t.^2-5*t;
elseif 8 < t(i) <= 16
V(i) = 624-5*t;
elseif 16 < t(i) <= 26
V(i) = 36*t+12*(t-16)^2;
else t(i) > 26;
V(i) = 2136*exp(1)^(-0.1*(t-26));
end
end
plot(t,V)

채택된 답변

Walter Roberson
Walter Roberson 2021년 3월 4일
if 0 <= t(i) && t(i) <= 8
V(i) = 10*t(i).^2-5*t(i);
Also
else t(i) > 26;
That calculates whether t(i) is greater than 26, and then throws away the result of the test because of the semi-colon. Notice that you did not use elseif

추가 답변 (1개)

David Hill
David Hill 2021년 3월 4일
t = (0:.2:50);
V = zeros(length(t));
for i=1:length(t)
if 0 <= t(i)&&t(i) <= 8
V(i) = 10*t(i)^2-5*t(i);
elseif 8 < t(i)&& t(i) <= 16
V(i) = 624-5*t(i);
elseif 16 < t(i)&&t(i) <= 26
V(i) = 36*t(i)+12*(t(i)-16)^2;
elseif t(i) > 26
V(i) = 2136*exp(1)^(-0.1*(t(i)-26));
end
end
plot(t,V)

카테고리

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

제품

Community Treasure Hunt

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

Start Hunting!

Translated by