MATLAB Answers

How can I plot a serie data using linspace?

5 views (last 30 days)
Jonathan Bijman
Jonathan Bijman on 19 Jul 2019
Edited: Adam Danz on 24 Jul 2019
Hi everybody
I´m trying to plot 59 data (the variable a and b), but those data corresponds to 90 days, the difference between data and days is because there were days with no measurements.
I´m using this command:
a = E_D/E_C;
b = 1 - a;
x = linspace(0, 90, numel(E_C));
X = [x].';
Y = [b];
err=[E_desv_C(:) E_desv_D(:)];
errorbar(X,Y,err)
xticks(0:5:90);
but appears this error
Error using errorbar>checkSingleInput (line 269)
XData must be the same size as YData.
Error in errorbar (line 94)
x = checkSingleInput(x, sz, 'XData');
Error in Untitled (line 65)
errorbar(X,Y,err)
How can I fix this?
Thank u!

  4 Comments

Show 1 older comment
Walter Roberson
Walter Roberson on 19 Jul 2019
Do you have information about which 59 days ?
When you get to the days that are not present, do you want a gap in the line? Do you want to draw a straight line over the gap? Do you want interpolation to be done to fill in the space?
Jonathan Bijman
Jonathan Bijman on 19 Jul 2019
The 59 days correspond to the average of measurements (there were 9 measurements per day) and I want to draw a straight line over the gap.
Adam Danz
Adam Danz on 20 Jul 2019
Do you have a vector of dates that correspond to the 59 data points? For example, do you know what date is associated with point #32?

Sign in to comment.

Answers (1)

Vinai Datta Thatiparthi
Vinai Datta Thatiparthi on 24 Jul 2019
Hi Jonathan!
From your question, I understand that you want to plot the variables ‘a’ and ‘b’ against each other.
Firstly, if you want the output variables ‘a’ & ‘b’ to be vectors, then use the dot operator. The ‘./’ operator returns vectors.
Secondly, the variables ‘E_desv_C(:)’ and ‘E_desv_D(:)’ aren’t defined in your question, I am assuming that they are of the same dimensions as of the variables ‘E_D’ and ‘E_C’. If this is the case, the variable ‘err’ will be of size [59x2]. This is why the error “XData must be the same size as YData” is thrown by MATLAB, since the dimensions of the arrays ‘Y’ and ‘err’ are different. To use errorbar(x,y,err), the variables 'y' & 'err' must be of the same dimensions.

  0 Comments

Sign in to comment.