必威体育Betway必威体育官网
当前位置:首页 > IT技术

[matalb]polyfit多项式拟合函数以及polyval

时间:2019-09-29 00:13:20来源:IT技术作者:seo实验室小编阅读:59次「手机版」
 

polyfit

polyfit

polyfit函数简介

polyfit函数是Matlab中用于进行曲线拟合的一个函数。其数学基础是最小二乘法曲线拟合原理。曲线拟合:已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。

用法

p = polyfit(x,y,n)

p = polyfit(x,y,n) 返回阶数为 n 的多项式 p(x) 的系数,该阶数是 y 中数据的最佳拟合(在最小二乘方式中)。p 中的系数按降幂排列,p 的长度为 n+1

p(x)=p1xn+p2xn−1+...+pnx+pn+1" role="presentation" style="position: relative;">p(x)=p1xn+p2xn1+...+pnx+pn+1

[p,S] = polyfit(x,y,n)

比上面多返回了结构体S,S可以在polyval中进行误差的计算

字段 说明
R Vandermonde 矩阵 x 的 QR 分解的三角因子
df 自由度
normr 残缺的范数
[p,S,mu] = polyfit(x,y,n)

mu 是一个二元素向量,包含中心化值和定标值。mu(1) 是 mean(x),mu(2) 是 std(x)。使用这些值时,polyfit 将 x 的中心置于零值处并定标为具有单位标准差,可以作为 polyval 的第四个输入以计算 p 在定标点 (x - mu(1))/mu(2) 处的解

简单的例子

利用polyfit和sin(x)函数拟合

x = linspace(0,4*pi,10);
y = sin(x);
%在区间 [0,4*pi] 中沿正弦曲线生成 10 个等间距的点

p = polyfit(x,y,7);
%七次拟合

x1 = linspace(0,4*pi);
y1 = polyval(p,x1);
figure
plot(x,y,'o');
hold on
plot(x1,y1,'r')
%画图

拟合的效果

image

中文文档的链接

polyval

polyval简介

主要用于多项式的计算

polyval用法

y = polyval(p,x)

y = polyval(p,x) 返回在 x 处计算的 n 次多项式的值。输入参数 p 是长度为 n+1 的向量,其元素是按要计算的多项式降幂排序的系数。

$p(x) = p_{1}x^{n} + p_{2}x^{n-1} + ... + p_{n}x + p_{n+1}$

y = polyval(p,x,[],mu)

[y,delta] = polyval(p,x,S) 使用 polyfit 生成的可选输出结构体 S 来生成误差估计值 delta。delta 是使用 p(x) 预测 x 处的未来观测值时的误差标准差估计值。如果 p 中的系数是 polyfit 计算的最小二乘估计值,polyfit 数据输入中的误差呈独立正态分布,并拥有常量方差,则 y±delta 至少包含 x 处 50% 的未来观测值。

[y,delta] = polyval(p,x,S)
[y,delta] = polyval(p,x,S,mu)

使用x^=x−μ1μ2" role="presentation" style="position: relative;">x^=xμ1μ2取代 x。在此方程中,μ1" role="presentation" style="position: relative;">μ1=mean(x) 且 μ2" role="presentation" style="position: relative;">μ2=std(x)。居中和缩放参数 mu = [μ1" role="presentation" style="position: relative;">μ1,μ2" role="presentation" style="position: relative;">μ2] 是由 polyfit 计算的可选输出。

中文链接

polyvalm和polyval基本相似,只不过输入为矩阵,用作矩阵多项式的计算

相关阅读

itoa函数

昨天在做 acm的时候,使用 itoa函数将数字转成二进制string,在vs里运行通过但是vjudge(选用了 g++)提交了以后编译器却无法识别。 结

atoi函数的实现

atoi函数要求 我所实现的atoi函数有以下几个要求: 1,这个函数需要丢弃之前的空白字符,直到找到第一个非空白字符。之后从这个字符开

C#中Directory.GetFiles() 函数的使用方法(读取目录中

转自:http://www.365jz.com/article/24023   C#中Directory.GetFiles(string path , string searchPattern, SearchOption sea

CreateFile函数详解

HANDLE CreateFile( _In_ LPCSTR lpFileName,//指向文件名的指针 _In_ DWORD dwDesiredAccess,// 访问模式(写 / 读) _In

js编写trim()函数

代码如下: <script language="javascript"> String.prototype.trim=function(){ return this.replace(/(^\s*)|(\s*

分享到:

栏目导航

推荐阅读

热门阅读