多项式曲线拟合最小二乘法

对给定的试验数据点(xi,yi)(i=1,2,……,n),可以构造m次多项式



数据拟合的最简单的做法就是使误差p(xi)-yi的平方和最小


当前任务就是求一个P(x)使得


从几何意义上讲就是寻求给与定点(xi,yi)距离的平方和最小的曲线y=p(x),函数p(x)称为拟合函数或者是最小二乘解,求拟合函数p(x)的方法称为曲线拟合的最小二乘法

由极值条件得到


即求得


通过简单运算可以得出系数是下面线性方程组的解。



在matlab中编程实现多项式曲线拟合函数为:LeastSquareDetail

功能:求已知数据点的多项式曲线拟合插值法多项式

调用格式:A=LeastSquareDetail(x,y,m,x0)

其中:x为已知数据点的x坐标向量

      y为已知数据点的y坐标向量

      m为拟合多项式的次数

      A为拟合多项式的系数向量


多项式曲线拟合的matlab实现

LeastSquareDetail<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">.m</span>

<pre name="code" class="plain">function f = LeastSquareDetail(x,f,m,x0)
%x代表输入的x的值
%y代表输入的x对应的y值
%m代表拟合的次数
%x0为待求的点的x坐标format long g
a=length(x);
b=length(f);
if(a~=b)disp('xy的维数不相等!!');
end%求得矩阵A
A=zeros(m+1);
for i=1:m+1for j=i:m+1if(i==1&&j==1)A(i,j)=a;elsefor k=1:aA(i,j)=A(i,j)+x(k)^(i+j-2);endendA(j,i)=A(i,j);end
end%求得等式右边的矩阵
B=zeros(1,m+1);
for i=1:m+1if(i==1)for k=1:aB(i)=B(i)+f(k);endelsefor k=1:aB(i)=B(i)+x(k)^(i-1)*f(k);endend
end
B=B';
%求解系数
X=A\B;%求得到的方程
syms t;
c=length(X);
f=0;
for i=1:cf=f+X(i)*t^(i-1);f=collect(f);f=vpa(f,6);
endif nargin==4f=subs(f,'t',x0);
end


 


LeastSquareDetail<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Insert.m</span>
<pre name="code" class="plain">% x=[36.9 46.7 63.7 77.8 84.0 87.5];
% y=[181 197 235 270 283 292];
% LeastSquareDetail(x,y,1)x=0:2*pi;
y=sin(x);
xx=0:0.1:2*pi;
yy=LeastSquareDetail(x,y,3,xx);
plot(x,y,'b',xx,yy,'r')

 



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运动合成——机器学习技术

参考文献&#xff1a;《人体运动合成中的机器学习技术合成综述》 根据机器学习的用途分类&#xff0c;在图形学中使用到的大致如下&#xff1a; 1> 回归和函数逼近。回归是一种插值技术&#xff0c;分析已知数据点来合成新的数据。 2> 降维。从高维数的运动数据…

ICA独立成分分析—FastICA基于负熵最大

1. 概念 官方解释&#xff1a;利用统计原理进行计算的方法&#xff0c;是一种线性变换。 ICA分为基于信息论准则的迭代算法和基于统计学的代数方法两大类&#xff0c;如FastICA算法&#xff0c;Infomax算法&#xff0c;最大似然估计算法等。 这里主要讨论FastICA算法。 先来…

tensorboard的可视化及模型可视化

待整理 How to Check-Point Deep Learning Models in Keras LossWise Tensorboard 中文社区 谷歌发布TensorBoard API&#xff0c;让你自定义机器学习中的可视化 查找tensorflow安装的位置 pip show tensorflow-gpu Name: tensorflow-gpu Version: 1.0.1 Summary: TensorFl…

隐马尔科夫模型——简介

1. 前言 学习了概率有向图模型和概率无向图模型&#xff0c;回头再看了一下隐马尔可夫模型(hidden Markov model&#xff0c;HMM)。 HMM属于树状有向概率图模型&#xff0c;主要用于对时序数据的建模&#xff0c;它的潜在变量是离散的&#xff1b;而另一种状态空间模型&…

训练的神经网络不工作?一文带你跨过这37个坑

近日&#xff0c;Slav Ivanov 在 Medium 上发表了一篇题为《37 Reasons why your Neural Network is not working》的文章&#xff0c;从四个方面&#xff08;数据集、数据归一化&#xff0f;增强、实现、训练&#xff09;&#xff0c;对自己长久以来的神经网络调试经验做了 37…

HMM——前向算法与后向算法

1. 前言 前向算法和后向算法主要还是针对HMM三大问题之一的评估问题的计算&#xff0c;即给定模型参数&#xff0c;计算观察序列的概率。文章不介绍过多公式&#xff0c;主要看两个例子 复习一下HMM的三大要素&#xff08;以海藻&#xff08;可观测&#xff09;和天气&#x…

HMM——维特比算法(Viterbi algorithm)

1. 前言 维特比算法针对HMM第三个问题&#xff0c;即解码或者预测问题&#xff0c;寻找最可能的隐藏状态序列&#xff1a; 对于一个特殊的隐马尔可夫模型(HMM)及一个相应的观察序列&#xff0c;找到生成此序列最可能的隐藏状态序列。 也就是说给定了HMM的模型参数和一个观测…

HMM——前向后向算法

1. 前言 解决HMM的第二个问题&#xff1a;学习问题&#xff0c; 已知观测序列&#xff0c;需要估计模型参数&#xff0c;使得在该模型下观测序列 P(观测序列 | 模型参数)最大&#xff0c;用的是极大似然估计方法估计参数。 根据已知观测序列和对应的状态序列&#xff0c;或者说…

Web安全(吴翰清)

安全工程师的核心竞争力不在于他能拥有多少个 0day&#xff0c;掌握多少种安全技术&#xff0c;而是在于他对安全理解的深度&#xff0c;以及由此引申的看待安全问题的角度和高度。 第一篇 我的安全世界观 脚本小子 “Script Kids”。 黑客精神所代表的 Open、Free、Share。…

机器学习两种方法——监督学习和无监督学习(通俗理解)

前言 机器学习分为&#xff1a;监督学习&#xff0c;无监督学习&#xff0c;半监督学习&#xff08;也可以用hinton所说的强化学习&#xff09;等。 在这里&#xff0c;主要理解一下监督学习和无监督学习。 监督学习&#xff08;supervised learning&#xff09; 从给定的训…

Tensorflow中padding的两种类型SAME和VALID

边界补充问题 原始图片尺寸为7*7&#xff0c;卷积核的大小为3*3&#xff0c;当卷积核沿着图片滑动后只能滑动出一个5*5的图片出来&#xff0c;这就造成了卷积后的图片和卷积前的图片尺寸不一致&#xff0c;这显然不是我们想要的结果&#xff0c;所以为了避免这种情况&#xff…

机器学习两种距离——欧式距离和马氏距离

我们熟悉的欧氏距离虽然很有用&#xff0c;但也有明显的缺点。它将样品的不同属性&#xff08;即各指标或各变量&#xff09;之间的差别等同看待&#xff0c;这一点有时不能满足实际要求。例如&#xff0c;在教育研究中&#xff0c;经常遇到对人的分析和判别&#xff0c;个体的…

最小二乘法深入

上次写了一个一次函数yaxb类型的最小二乘法&#xff0c;即可以看做是n维输入列向量对应的一个n维输出列向量&#xff0c;然后对已知结果进行学习&#xff0c;得到拟合公式。这里对m*n的矩阵进行最小二乘法分析。 设模型的输出为和训练集输出&#xff0c;它们之间的平方误差为&…

ubuntu16.04 制作gif

byzanz安装 sudo apt-get install byzanz byzanz-record #录像byzanz-playback #回放 下载完成后打开命令行输入byzanz-record –help 其中我们重点关注几个参数 * -d 动画录制的时间,默认录制10秒 * -e 动画开始延迟 * -x 录制区域的起始X坐标 * -y 录制区域的起始Y坐标 …

典型关联分析CCA(canonical correlation analysis)

先看两个数学概念&#xff1a; 相关系数&#xff08;参看百度百科&#xff09; 相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数是按积差方法计算&#xff0c;同样以两变量与各自平均值的离差为基础&#xff0c;通过两个离差相乘来反映两变量之间相关程度 相…

Kullback–Leibler divergence(相对熵,KL距离,KL散度)

1 前言 注意两个名词的区别&#xff1a; 相对熵&#xff1a;Kullback–Leibler divergence 交叉熵&#xff1a;cross entropy KL距离的几个用途&#xff1a; ① 衡量两个概率分布的差异。 ② 衡量利用概率分布Q 拟合概率分布P 时的能量损耗&#xff0c;也就是说拟合以后丢失…

李宏毅机器学习课程11~~~为何要深?

为何要“深”&#xff1f; pluskid的博客 Deep Learning and Shallow Learning Bengio Y. Learning deep architectures for AI. Foundations and trends in Machine Learning, 2009 Deeper is Better? 模型有更多的参数会有更好的结果&#xff0c;这是毋庸置疑的。 深瘦的模…

没事随便写写——matlab图像与矩阵的转换与存储为txt文件

<span style"font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">刚开课&#xff0c;上了一节计算机图像处理&#xff0c;想了一下把图像转换成矩阵表示&#xff0c;然后存储到txt文档中去。图片用的 lena.jpg</span> …

李宏毅机器学习课程12~~~半监督学习

Semi-supervised Learning The distribution of the unlabeled data tell us something. Usually with some assumptions. Semi-Supervised Generative Model 对比学习见 李宏毅机器学习课程&#xff14;~~~分类&#xff1a;概率生成模型 EM算法思路来最大化似然函数。 Self-tr…

Python程序设计—车万翔

程序设计入门—Python 对象和类型 五种基本对象类型 字符串 &#xff08;string&#xff09;&#xff0c;简记为 str 使用 ’ ’ 或 ” ” 括起来的一系列字符 整数&#xff08;integer&#xff09;&#xff0c;简记为 int 十进制&#xff1a;21&#xff0c;八进制&#xf…