Error using Plot, Vectors must be the same length
121 views (last 30 days)
Show older comments
NERANJEN S
on 1 Aug 2021
Commented: Scott MacKenzie
on 1 Aug 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 Comments
Accepted Answer
Scott MacKenzie
on 1 Aug 2021
Edited: Scott MacKenzie
on 1 Aug 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 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!