# Error using plot Vectors must be the same length.

7 vues (au cours des 30 derniers jours)
NANDEESWARAN le 24 Sep 2023
Commenté : Voss le 25 Sep 2023
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 commentairesAfficher 4 commentaires plus anciensMasquer 4 commentaires plus anciens
Voss le 24 Sep 2023
You're welcome! So is the problem solved now?

Connectez-vous pour commenter.

### Réponse acceptée

Voss le 24 Sep 2023

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 commentairesAfficher 3 commentaires plus anciensMasquer 3 commentaires plus anciens
Voss le 25 Sep 2023
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.

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Annotations dans Help Center et File Exchange

### Community Treasure Hunt

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

Start Hunting!