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 个评论
回答(1 个)
Vinai Datta Thatiparthi
2019-7-24
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!