2010-01-08 91 views
7

我试图做一个最适合在matlab中的散点图,我可以使用散点图(x1,x2)或scatterplot(x1,x2)得到一个散点图,但是基本拟合选项被遮蔽掉,lsline返回错误'找不到允许的线型。一事无成”最佳拟合散点图线

任何帮助将是巨大的,

感谢, 乔恩。

+0

你可以发布你的确切代码吗? scatter(x1,x2)后面跟着lsline对我来说工作正常... – 3lectrologos 2010-01-08 02:04:04

+3

这个“不是编程相关”是怎么回事... – Rook 2010-01-08 02:16:56

回答

21

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,你会收到在pd+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); 
+6

您可以使用** polyval **来帮助您评估多项式 – Amro 2010-01-08 02:13:29

+0

@Amro I有同样的问题找到最合适的线。你确定答案是正确的吗?我不确定,因为我认为如果最佳拟合线条选择正确,线条上方的点数必须等于线条下方的点数,是不是?我不确定,你的想法是什么? – Fatime 2013-08-15 13:03:43

+0

@MarkElliot你对我的评论有什么想法? – Fatime 2013-08-15 13:05:14

0

Infs,NaNs和复数的虚数部分在数据中被忽略。

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

创建,打印和比较多个拟合

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

查看拟合优度拟合统计,显示confidenceintervals和残差,去掉异常值和评估与validationdata

拟合自动生成用于装配和plottingsurfaces代码,或出口到适合工作空间进一步分析