Unable to perform assignment because the left and right sides have a different number of elements
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Nathan Brannan
le 4 Mar 2021
Commenté : Nathan Brannan
le 4 Mar 2021
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)
0 commentaires
Réponse acceptée
Walter Roberson
le 4 Mar 2021
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
Plus de réponses (1)
David Hill
le 4 Mar 2021
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)
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!