Error using plot Vectors must be the same length.

2 次查看(过去 30 天)
clear, clc, close all
DataStruct_IMU = importdata("IMU_Data.tsv");
Time_IMU = DataStruct_IMU.data(:,1);
Omega_IMU = DataStruct_IMU.data(:,2);
h = mean(diff(Time_IMU));
n = length(Omega_IMU);
Aplha_IMU(1)=(-3*Omega_IMU(1) + 4*Omega_IMU(2) - Omega_IMU(3))/(2*h);
for i = 2:n-1
Alpha_IMU(i) = (Omega_IMU(i+1)-Omega_IMU(i-1))/(2*h);
end
Aplha_IMU(n) = (Omega_IMU(n-2)-4*Omega_IMU(n-2) + 3*Omega_IMU(n))/(2*h);
figure('units','normalized','outerposition',[0 0 1 1])
title({'CVEN 308 Module 3','Numerical integration and differentiation of pendulum motion'})
subplot(1,1,1)
hold on
plot(Time_IMU,Alpha_IMU,'b')
I got following error
Error using plot
Vectors must be the same length.
Error in Copy_2_of_Data_Analysis_Starter (line 23)
plot(Time_IMU,Alpha_IMU,'b')
  5 个评论

请先登录,再进行评论。

采纳的回答

Voss
Voss 2023-9-24

You assign to

Aplha_IMU(n)

but it should be

Alpha_IMU(n)

(Similarly for Aplha_IMU(1), but that's not the cause of the error.)

  4 个评论
Voss
Voss 2023-9-25
An explanation: Those typos have the effect of creating two vectors: Aplha_IMU (the erroneous one), which is of length n, and Alpha_IMU (the one you wanted to plot with), which is of length n-1 (because its nth element never gets assigned).
See below:
n = 5;
Aplha_IMU(1) = 1;
for i = 2:n-1
Alpha_IMU(i) = i;
end
Aplha_IMU(n) = n;
% the one you wanted to create has n-1 elements.
% notice its first element is zero becuase it was never explicitly
% assigned.
Alpha_IMU
Alpha_IMU = 1×4
0 2 3 4
% the erroneously created vector has n elements.
% but it's all zeros except for the first and last element because only its
% first and last elements were explicitly assigned.
Aplha_IMU
Aplha_IMU = 1×5
1 0 0 0 5
So then when you try to plot Alpha_IMU against Time_IMU, you get the error you got because Alpha_IMU has n-1 elements while Time_IMU has n elements.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by