9

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

任何帮助都会很棒,

谢谢,乔恩。

4

2 回答 2

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 的最后一个参数更改为曲线拟合的维度来实现。假设我们称这个维度d为 ,您将收到 中的回d+1系数p,它表示符合 估计的多项式f(x)

f(x) = p(1) * x^d + p(2) * x^(d-1) + ... + p(d)*x + p(d+1)

编辑,如评论中所述,您也可以使用polyvalto compute r,其语法如下所示:

r = polyval(p, x);
于 2010-01-08T02:06:48.460 回答
0

Infs、NaN 和复数的虚部在数据中被忽略。

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

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

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

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

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

于 2013-08-12T16:51:06.000 回答