lsline仅在统计工具箱中可用,您是否有统计工具箱?更通用的解决方案可能是使用polyfit.
您需要使用polyfit来为您的数据拟合一条线.假设您在y中有一些数据并且在x中有相应的域值(即,对于任意f,您的数据近似为y = f(x)),那么您可以拟合线性曲线,如下所示:
p = polyfit(x,y,1); % p returns 2 coefficients fitting r = a_1 * x + a_2
r = p(1) .* x + p(2); % compute a new vector r that has matching datapoints in x
% now plot both the points in y and the curve fit in r
plot(x, y, 'x');
hold on;
plot(x, r, '-');
hold off;
请注意,如果要将任意多项式拟合到数据中,可以通过将polyfit的最后一个参数更改为curvefit的维数来实现.假设我们称这个维度为d,你将收到p中的d 1个系数,它代表符合f(x)估计值的多项式:
f(x) = p(1) * x^d + p(2) * x^(d-1) + ... + p(d)*x + p(d+1)
编辑,如评论中所述,您也可以使用polyval来计算r,其语法如下:
r = polyval(p, x);
如果觉得《matlab散点图和拟合曲线 matlab – 最佳拟合散点图》对你有帮助,请点赞、收藏,并留下你的观点哦!