matlab中的最小二乘法法在matlab中怎么实现

小木虫 --- 600万学术达人喜爱的学术科研平台
热门搜索:
&&MATLAB怎样输出最小二乘法拟合的函数
MATLAB怎样输出最小二乘法拟合的函数
用最小二乘拟合出了函数,但不知道怎么输出这个函数
按你的方法,怎么提示我没定义
1.你这里的b(1)、b(2)……是什么?
2.你的最小二乘法我没看明白你是用哪个函数算的……
我给出我的,你看看:
=polyfit(x,y,3);
x1=0:0.1:24;
y1=polyval(p,x1);
plot(x,y,'bo',x1,y1,'r-');
如果拟合的是多元函数呢?我拟合的是四元二次方程,有四个输入,一个输出。求大神赐教
此时你只有通过编程计算来进行了,不能直接使用函数。
1.查看最小二乘法的计算过程;最小二乘法是具有计算过程的。
2.根据你的数据进行计算看看。
3.看看这个编程:/link?url=S22l3dKVwb-sQwWgpXTeMDTsLrSP7E876lf97iHFz_TX4I1R8MNNWiGrl98p2bIdqxaHX5AQuXaSHLg9L_eYw6Za2NNQRYZ-1SHlJEyzqPa
PS:我不知道你之前是怎么做的,是不是已经做出来了?
已经做出来了,拟合值和误差都显示出来了,但拟合的方程表达式不知道怎么输出
先恭喜你咯:D
要明确一点就是,其实最终得到的是一个系数向量p或者是矩阵P什么的。
你是怎么做的,然后获得的系数是什么,能都贴出了给我看看。
另外,怎么输出,已经在之前的回答中给出了哈。
使用fprintf函数啊~
你给我个邮箱,发给你看看
学术必备与600万学术达人在线互动!
扫描下载送金币应用MATLAB通过最小二乘法拟合曲线问题? - 知乎9被浏览1956分享邀请回答21 条评论分享收藏感谢收起君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
最小二乘法在matlab中怎么实现啊?
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口最小二乘法的Matlab实现_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
最小二乘法的Matlab实现
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢最小二乘法
& & & & 最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。
& & & & 利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
线性函数模型
& & & & 典型的一类函数模型是线性函数模型。最简单的线性式是写成矩阵形式为:
& & & & 直接给出该式的参数解:
& & & & 其中,为x的算术平均值,也可解得如下形式:
一般线性情况
& & & &若含有更多不相关模型变量,可如组成线性函数的形式:
& & & & 即线性方程组:
& & & & 通常人们将xij记作数据矩阵&A,参数bj记做参数向量b,观测值yi记作Y,则线性方程组又可写成:
& & & & 上述方程运用最小二乘法导出为线性平方差计算的形式为:。
& & & & 最后的最优解为:。
& & & & 实验得到4个数据(x, y):(1, 6)、(2, 5)、(3, 7)、(4, 10)。希望找出一条和这四个点最匹配的直线:。
& & & & 最小二乘法采用的手段是尽量使得等号两边的方差最小:
& & & & 求通过对β1,β2求偏导:
& & & & 得到β1=3.5,β2=1.4。所以:最佳。
MATLAB实现
例一:小车时间与位移关系
% 小车时间(xi)和位移关系(yi)关系
x = [0 1 2 3 4 5 6
y = [0 2 4 7 8 9 12 14 15 18];
subplot(m,n,p) 其中前两个参数 m,n是指将你的图分成 m*n个栅格,
每个栅格用 p 来编号,而编号是按行(横着)编号的,所以,当 m = 2,n = 2时编号规则为
所以subplot(2,2,[1 3]),就说明你这一个子图占据的是 1, 3两个栅格,
而subplot(2,2,2)说明子图仅占据第2个栅格.
subplot(1,2,1);
plot(x,y,'o');
% 图形的一些设置
xlabel('时间(秒)');
ylabel('位移(米)');
title('原始数据离散点')
grid on:是打开网格
grid off:是关闭网格
而grid是切换两种状态,如果在grid off的状态下,输入grid,相当于grid on
相反,如果在grid on状态下输入grid 等价于grid off
polyfit函数是matlab中用于进行曲线拟合的一个函数。其数学基础是最小二乘法曲线拟合原理。
曲线拟合:已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。
调用方法:polyfit(x,y,n)。用多项式求过已知点的表达式,
其中x为源数据点对应的横坐标,可为行向量、矩阵;
y为源数据点对应的纵坐标,可为行向量、矩阵;
n为你要拟合的阶数,一阶直线拟合,二阶抛物线拟合,并非阶次越高越好,看拟合情况而定。
多项式在x处的值y可用下面程序计算:y=polyval(a,x,m)
p = polyfit(x,y,1)
% 0:0.01:9
起始为0,终点为9,步长0.01
x1 = 0:0.01:9;
y1 = polyval(p,x1);
x2 = 0:0.01:9;
MATLAB中的插值函数为interp1,其调用格式为:
yi= interp1(x,y,xi,'method')
其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量,
'method'表示采用的插值方法,MATLAB提供的插值方法有几种:
'nearest'是最邻近插值, 'linear'线性插值; 'spline'三次样条插值; 'pchip'立方插值.缺省时表示线性插值
注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。
y2 = interp1(x,y,x2,'spline');
subplot(1,2,2);
plot(x1,y1,'k',x2,y2,'r')
xlabel('时间(秒)');
ylabel('位移(米)');
title('黑线为最小二乘法拟合,红色为插值法拟合')
例二:温度和时间关系
例如:对某日隔两小时测一次气温。设时间为ti,气温为Ci,i = 0,2 ,4,…,24。数据如下:
表2 温度(Ci)随时间(ti)变化关系
-----------------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------
x = [0 2 4 6 8 10 12 14 16 18 20 22 24]
y = [15 14 14 16 20 23 26 27 26 25 22 18 16]
plot(x,y,'o')
hold on 和hold off,是相对使用的
前者的意思是,你在当前图的轴(坐标系)中画了一幅图,再画另一幅图时,原来的图还在,与新图共存,都看得到
后者表达的是,你在当前图的轴(坐标系)中画了一幅图,此时,状态是hold off,则再画另一幅图时,
原来的图就看不到了,在轴上绘制的是新图,原图被替换了
% 三阶拟合
得到的 p = -0.0061
13.7390是个多项式的系数
% 即拟合的曲线y = -0.0061*x3 + 0.1474*x2 - 0.0246*x + 13.7390 (其中x3表示x的3次方,x2同理)
p = polyfit(x,y,3)
x1 = 0:0.01:24
y1 = polyval(p,x1)
plot(x1,y1,'r')
% axis坐标轴范围设置
axis([0 24 12 28])
xlabel('温度(度)');
ylabel('时间(点)');
title('温度变化图','position', [18,10])
本文已收录于以下专栏:
相关文章推荐
最小二乘法,通常用在我们已知数学模型,但是不知道模型参数的情况下,通过实测数据,计算数学模型,例如,在题目中,数学模型就是直线方程y=ax+b,但是不知道直线方程的a和b。
   
本来呢,我们只需...
最小二乘法:原理:用各个离差的平方和M=Σ[yi-(axi+b)]^2 (i = 1...n)最小来保证每个离差的绝对值都很小。为求其最小值,可用函数M对a、b求偏导,并令偏导数为0。整理得(Σxi^...
网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最
小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可
以简便地求得未知的数据,并使得这些求得的数据与实际数据之
...
1  基于MATLAB编程的最小二乘法
例如,已知某一热敏电容的温度T和电容C的实测数据如表所示:
热敏电容的温度T和电容C的实测数据
曲线拟合[1]是一种常用的模型拟合方法,经常用在相机标定或其它传感器标定上。对于加性高斯噪声,最小二乘通常是一种最优的估计方法(PS:当外点存在时,通常可以采用其它robust estimator 或...
MATLAB实现最小二乘法
2624人阅读 评论(0)
MATLAB(12)
作者同类...
偏最小二乘是建立表到表的线性拟合关系,然后预测的方法(处理高维数据),比如在光谱分析中,X是某物质的光谱样本构成的训练集,Y是对应的成分数据,x是要预测成分的光谱数据function [y5,S] =...
他的最新文章
讲师:董西成
讲师:唐宇迪
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 matlab中最小二乘法 的文章

 

随机推荐