matlab没法用均值,方差公式,不计算,不报错,不知道怎么办了
代码如下:
%% 对数形式
m1 = @(b,x) b(1) + b(2)*log(x);
% @是定义句柄的运算符,如:f=@(x)acos(x) 相当于建立了一个函数文件
nonlinfit1 = fitnlm(x,y,m1,[0.01;0.01])
% 将m1指定的模型拟合到表或数据集数组中的变量,并返回非线性模型nonlinfit1
% 使用从[0.01;0.01]中的初始值开始的迭代过程估计模型系数
b=nonlinfit1.Coefficients.Estimate;
% 把非线性模型中估计的系数储存到b中
Y1=b(1,1)+b(2,1)*log(x);
hold on
plot(x,Y1,'--k','linewidth',2)
运行结果: