Error using Plot, Vectors must be the same length
173 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
NERANJEN S
le 1 Août 2021
Commenté : Scott MacKenzie
le 1 Août 2021
>> Height = [0;3;6;9;12;15];
>> for i = 1:5
subplot(1,5,i)
plot([0;v(:,i)], Height);
ylabel('Height of the structure (m)','FontSize',12);
title(['Mode Shape ',num2str(i)],'FontSize',18)
end
How to rectify this?!
2 commentaires
Réponse acceptée
Scott MacKenzie
le 1 Août 2021
Modifié(e) : Scott MacKenzie
le 1 Août 2021
Your vector Height has six elements, with 0 as the first element. Given this, your apparent effort to plot v vs. Height is causing the error because [0; v] and Height need to be the same length. The code below achieves this with test data for v (replace as necessary) The code also sets to length(Height) the number of iterations in the for-loop and the number of subplots (adjust as necessary).
% data given in question (6x1 vector)
Height = [0;3;6;9;12;15];
% test data (replace as needed)
v = rand(length(Height)-1,10);
for i = 1:length(Height)
subplot(1,length(Height),i)
plot([0; v(:,i)], Height);
ylabel('Height of the structure (m)','FontSize',12);
title(['Mode Shape ',num2str(i)],'FontSize',10)
end
3 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!