How can I plot a serie data using linspace?
2 views (last 30 days)
Show older comments
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
Answers (1)
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
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!