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