# Plotting matrices that don't have the same size

16 vues (au cours des 30 derniers jours)
Samy Ben Thabet le 29 Nov 2018
Modifié(e) : Akira Agata le 30 Nov 2018
I am trying to plot two matrices it doesn't work.
matrix_1 is a 181x1 matrix with different values, I am trying to plot these values and also get a line fitted on the same plot, I tried polyfit as well but it doesn't work.
Message diplayed:
"Error using plot
Vectors must be the same length."
x=1941:2010
y=matrix_1
plot(x,y)
##### 3 commentairesAfficher 2 commentaires plus anciensMasquer 2 commentaires plus anciens
Samy Ben Thabet le 29 Nov 2018
Oh right my bad. I guess I made a mistake somewhere in my code I will try to fix that.
Thank you!

Connectez-vous pour commenter.

### Réponses (1)

Ken Atwell le 30 Nov 2018
When calling plot, the length of the x,y pairs must be equal. Here is an example of a plot of x^2 with noise added, then then a polyfit to that data:
x=-3:.1:3;
y=x.^2+rand(size(x));
f=polyfit(x, y, 2); % Returns coefficients, not y values directly
fy = f(1).*x.^2 + f(2).*x + f(3);
plot(x,y,x,fy)
##### 1 commentaireAfficher AucuneMasquer Aucune
Akira Agata le 30 Nov 2018
Modifié(e) : Akira Agata le 30 Nov 2018
If these two matrices are not the same size but matrix_1 is a sampled data from x = 1941 to 2010 with some fixed sampling frequency, adjusting length of x with linspace function would be possible solution. Here is an example.
x = 1941:2010;
y = matrix_1;
xInterp = linspace(min(x),max(x),numel(y));
figure
plot(xInterp,y)

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Line Plots 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!