# Plotting matrices that don't have the same size

30 views (last 30 days)
Samy Ben Thabet on 29 Nov 2018
Edited: Akira Agata on 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)
Samy Ben Thabet on 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!

Ken Atwell on 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 CommentShowHide None
Akira Agata on 30 Nov 2018
Edited: Akira Agata on 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)