- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab直线拟合与平面拟合
利用Matlab实现直线和平面的拟合
2011-04-14 10:45:43| 分类: 算法思想 |举报|字号 订阅
直线和平面拟合是很常用的两个算法,原理非常简单。但如果matlab不太熟的话,写起来也不是那么容易。搜了很久才找到这两个代码,保存之,免得日后麻烦。
1、直线拟合的matlab代码
% Fitting a best-fit line to data, both noisy and non-noisy
x = rand(1,10);
n = rand(size(x)); % Noise
y = 2*x + 3; % x and y satisfy y = 2*x + 3
yn = y + n; % x and yn roughly satisfy yn = 2*x + 3 due to the noise
% Determine coefficients for non-noisy line y=m1*x+b1
Xcolv = x(:); % Make X a column vector
Ycolv = y(:); % Make Y a column vector
Const = ones(size(Xcolv)); % Vector of ones for constant term
Coeffs = [Xcolv Const]\Ycolv; % Find the coefficients
m1 = Coeffs(1);
b1 = Coeffs(2);
% To fit another function to this data, simply change the first
% matrix on the line defining Coeffs
% For example, this code would fit a quadratic
% y = Coeffs(1)*x^2+Coeffs(2)*x+Coeffs(3)
% Coeffs = [Xcolv.^2 Xcolv Const]\Ycolv;
% Note the .^ before the exponent of the first term
% Plot the original points and the fitted curve
figure
plot(x,y,ro)
hold on
x2 = 0:0.01:1;
y2 = m1*x2+b1; % Evaluate fitted curve at many points
plot(x2, y2, g-)
title(sprintf(Non-noisy data: y=%f*x+%f,m1,b1))
% Determine coefficients for noisy line yn=m2*x+b2
Xcolv = x(:); % Make X a column vector
Yncolv = yn(:); % Make Yn a column vector
Const = ones(size(Xcolv)); % Vector of ones for constant term
NoisyCoeffs = [Xcolv Const]\Yncolv; % Find the coefficients
m2 = NoisyCoeffs(1);
b2 = NoisyCoeffs(2);
% Plot the original points and the fitted curve
figure
plot(x,yn,ro)
hold on
x2 = 0:0.01:1;
yn2 = m2*x2+b2;
plot(x2, yn2, g-)
title(sprintf(Noisy data: y=%f*x+%f,m2,b2))
2、平面拟合matlab代码
x = rand(1,10);
y = rand(1,10);
z = (3-2*x-5*y)/4; % Equation of the plane containing
% (x,y,z) points is 2*x+5*y+4*z=3
Xcolv = x(:); % Make X a column vector
Ycolv = y(:); % Make Y a column vector
Zcolv = z(:); % Make Z a column vector
Const = ones(size(Xcolv)); % Vector of ones for constant term
Coefficients = [Xcolv Ycolv Const]\Zcolv; % Find the coefficients
XCoeff =
您可能关注的文档
最近下载
- 施工过程中应急设备配置与管理方案.docx
- 合规-国有企业合规管理体系建设实务讲座(80页).pptx VIP
- 无人机智能巡航路面病害检测方法、无人机和检测系统.pdf VIP
- 23S519小型排水构筑物图集_可搜索.pdf VIP
- 智慧工地系统介绍PPT(共友).pptx VIP
- 生鲜商品配置(按月份).xls VIP
- 2025年新人教版语文3年级上册全册课件.pptx
- 《JB-QGL-TX3016AJB-QTL-TX3016A火灾报警控制器(联动型)安装使用说明书(Ver.1.3,2016.11 )》.pdf VIP
- 大连高金18T操作说明书.pdf
- 施工组织总体设想、方案针对性及施工段划分.doc VIP
文档评论(0)