Why is day() function throwing me this error: Check for missing argument or incorrect argument data type in call to function 'day'?

2 次查看(过去 30 天)
Having this task:
Perform a regression model over the normalized active cases in China using the model.....(long assignment that I'm not worried about). Tip: To convert from datetime to a numeric variable for the regression, use x=day(date-min(date(:)))+1; being “date” the datetime vector return from getdata function.
This is what I have until now:
function RP_ejercicio1
data = readtable('COVID-19.csv');
[active_res, confirmed_res, death_res, recovered_res, date] = getdata(data, 'China', 93/147);
x=day(date-min(date(:)))+1;
y = active_res;
yp = log(y./x);
a = [x ones(size(x))];
sol = inv(a'*a)*(a'*yp);
b = sol(1);
c = sol(2);
a = exp(c);
end
I'm getting an error in this line
x=day(date-min(date(:)))+1;
and I don't get it. From getdata function I'm getting successfully a 1x50 datetime array fulled with dates and stored in my date variable. What am I doing wrong?
  1 个评论
Shalini K
Shalini K 2020-5-11
letterds = datastore("*_M_*.txt"); data = read(letterds); data = scale(data); plot(data.X,data.Y) axis equal plot(data.Time,data.Y) ylabel("Vertical position") xlabel("Time")

请先登录,再进行评论。

采纳的回答

Cris LaPierre
Cris LaPierre 2020-3-27
编辑:Cris LaPierre 2020-3-27
Based on the arithmetic you are doing with your date, I think you want to use the function days instead of day. The former returns the number of elapsed days as a duration, which is typically what you want when you subtract two dates. The later extracts the day number from a date, as in day of the month.
x=days(date-min(date(:)))+1;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息

产品


版本

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by