Error using Plot, Vectors must be the same length

100 visualizaciones (últimos 30 días)
NERANJEN S
NERANJEN S el 1 de Ag. de 2021
Comentada: Scott MacKenzie el 1 de Ag. de 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 comentarios
Chunru
Chunru el 1 de Ag. de 2021
what is "v" in your code?
NERANJEN S
NERANJEN S el 1 de Ag. de 2021
@Chunru Here, v is a 3x3 matrix

Iniciar sesión para comentar.

Respuesta aceptada

Scott MacKenzie
Scott MacKenzie el 1 de Ag. de 2021
Editada: Scott MacKenzie el 1 de Ag. de 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 comentarios
NERANJEN S
NERANJEN S el 1 de Ag. de 2021
Ok sir! Now understood! Thanks a lot!
Scott MacKenzie
Scott MacKenzie el 1 de Ag. de 2021
You're welcome. Good luck.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Programming en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by