How can I plot a serie data using linspace?

2 次查看(过去 30 天)
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 个评论
Jonathan Bijman
Jonathan Bijman 2019-7-19
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 2019-7-20
编辑:Adam Danz 2019-7-24
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?

请先登录,再进行评论。

回答(1 个)

Vinai Datta Thatiparthi
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.

类别

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