最佳拟合散点图

时间:2010-01-08 01:52:25

标签: matlab linear-regression scatter-plot

我正在尝试用matlab中的最佳拟合线绘制散点图,我可以使用散点图(x1,x2)或散点图(x1,x2)获得散点图,但基本拟合选项被遮蔽了并且lsline返回错误'找不到允许的行类型。什么都没做'

任何帮助都会很棒,

谢谢, 乔恩。

2 个答案:

答案 0 :(得分:22)

lsline仅在统计工具箱中可用,您是否拥有统计工具箱?更通用的解决方案可能是使用polyfit

您需要使用polyfit为您的数据添加一行。假设您在y中有一些数据,并且您在x中有相应的域值,(即您的任意y = f(x)数据近似为f),那么您可以拟合线性曲线如下:

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,您将在d+1中收到回p个系数,这些系数表示符合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);

答案 1 :(得分:0)

数据中忽略了复数的Infs,NaNs和虚部。

曲线拟合工具提供灵活的图形用户界面,您可以交互地将曲线和曲面拟合到数据和视图。你可以:

创建,绘制和比较多个拟合

使用线性或非线性回归,插值,局部平滑回归或自定义方程

查看拟合优度统计数据,显示置信区间和残差,删除异常值并使用validationdata评估拟合

自动生成用于拟合和绘制表面的代码,或将拟合导出到工作空间以进行进一步分析