- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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 =
您可能关注的文档
- 基于节点邻居关系MCDS构造算法.pdf
- 基于物联网九寨沟智慧景区管理.pdf
- 基于视觉同时定位和地图构建方法综述.pdf
- 基于独特销售主张理论旅游口号评价_以中国5A级旅游景区为例.pdf
- 基因组印迹和种子发育.pdf
- 基于颜色与运动信息夜间车辆检测方法.pdf
- 基于马尔科夫决策过程应急资源调度方案动态优化_王炜.pdf
- 基于采购定位模型采购策略和其实施分析.pdf
- 基于生物多样性海绵城市景观途径探讨.pdf
- 墨菲定律、二八法则、手表定理、“不值得”定律、彼得原理、零与游戏、水桶定律、奥卡姆剃刀.doc
- 2019学年一年级小学数学上册同步试卷word可编辑.docx
- 2022年电力安全应急技能大赛考试题库.pdf
- 2019学年上半学期(三年级)教科版上册科学月考试卷不含答案.docx
- 2019学年三年级教科版上册科学单元练习试卷(word可编辑).docx
- 2022年度乡镇行政执法专业法律知识考试题库汇总-上(单选、多选题).pdf
- 2019学年上半学期(一年级)浙教版小学数学上册期末试卷【可打印】.docx
- 2022年成本会计模拟测试题及答案.pdf
- 2022年河北省中级美容师资格考试题库汇总(含真题和典型题).pdf
- 2019学年榆树市培英小学精编人教版一年级数学上册达标试卷【可打印】.docx
- 2019学年上半学期(一年级)浙教版小学数学上册同步试卷【A4可打印】.docx
文档评论(0)