要做一个新冠累计确诊人数的拟合,从WHO上下了数据,然后基于2020年1月3日起至2020年6月3日的数据做预测,共154行4列的,4列依次是新增确诊、累计确诊、新增死亡、累计死亡
function y = quanguo(b, t)
global y0 %b(1):固有增长率;b(2):最大值;b(3):初始值
y = b(2) ./ (1 + b(2) / b(3) - 1) .* exp(-b(1) .* t);
end
以上为函数
以下为命令
a = xlsread("quanguo");
plot(a, "*-");
y = a(:, 2);
t = 1:154;
b = nlinfit(t, y, @quanguo, [0.3, 100000, 1]);
错误使用 nlinfit (line 219)
MODELFUN 必须为函数,它返回大小与 Y (154-by-1)相同的拟合值向量。您提供的模型函数返回结果 1-by-154。
大小不匹配的常见原因之一是在函数中使用矩阵运算符(*、/、^),而不是对应的元素运算符(.*、./、.^)。
可我提供的xls是个154行4列的矩阵啊,a读出来也是正确的
不是很懂错在哪了,求指点一下