首页 > 试题

rline是什么意思

更新时间:2022-12-04 06:42:48 阅读: 评论:0

人教版初一英语上册课本图片-卯时是几点


2022年12月4日发(作者:法人代表委托书)

Matlab:最小二乘曲线拟合

问题:给定一批数据点(输入变量与输出变量的数据),需确定满足特定要求的曲线或

曲面。如果输入变量和输出变量都只有一个,则属于一元函数的拟合和插值;而若输入变量

有多个,则为多元函数的拟合和插值(有点回归分析的意思)

解决方案:

(1)若要求所求曲线(面)通过所给所有数据点,就是插值问题;

(2)若不要求曲线(面)通过所有数据点,而是要求它反映对象整体的变化趋势,这

就是数据拟合,又称曲线拟合或曲面拟合。

注意:插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,

二者的数学方法上是完全不同的。而面对一个实际问题,究竟应该用插值还是拟合,有时容

易确定,有时则并不明显

数据拟合的具体作法是:对给定数据

),(

ii

yx

(i=0,1,…,m),在取定的函

数类

中,求

)(xp

,使误差iii

yxpr)(

(i=0,1,…,m)的平方和最小,即

m

i

i

r

0

2

=





m

i

ii

yxp

0

2min)(

从几何意义上讲,就是寻求与给定点

),(

ii

yx

(i=0,1,…,m)的距离平方和为最

小的曲线

)(xpy

(图6-1)。函数

)(xp

称为拟合函数或最小二乘解,求拟

合函数

)(xp

的方法称为曲线拟合的最小二乘法。

在曲线拟合中,函数类

可有不同的选取方法.

6—1

1.“”命令

t函数

arch函数

4.曲线拟合工具箱

1.非线性拟合nlinfit函数

5.例子

1.1.直线型例子

2.2.多项式型

3.非线性(多元情况)

最小二乘法在曲线拟合中比较普遍。拟合的模型主要有

1.直线型

2.多项式型

3.分数函数型

4.指数函数型

5.对数线性型

6.高斯函数型

......

一般对于LS问题,通常利用反斜杠运算“”、fminarch或优化工具箱提供的极小化函数求解。在Matlab

中,曲线拟合工具箱也提供了曲线拟合的图形界面操作。在命令提示符后键入:cftool,即可根据数据,

选择适当的拟合模型。

“”命令

1.假设要拟合的多项式是:y=a+b*x+c*x^2.首先建立设计矩阵X:

X=[ones(size(x))xx^2];

执行:

para=Xy

para中包含了三个参数:para(1)=a;para(2)=b;para(3)=c;

这种方法对于系数是线性的模型也适应。

2.假设要拟合:y=a+b*exp(x)+cx*exp(x^2)

设计矩阵X为

X=[ones(size(x))exp(x)x.*exp(x.^2)];

para=Xy

3.多重回归(乘积回归)

设要拟合:y=a+b*x+c*t,其中x和t是预测变量,y是响应变量。设计矩阵为

X=[ones(size(x))xt]%注意x,t大小相等!

para=Xy

polyfit函数

polyfit函数不需要输入设计矩阵,在参数估计中,polyfit会根据输入的数据生成设计矩阵。

1.假设要拟合的多项式是:y=a+b*x+c*x^2

p=polyfit(x,y,2)

然后可以使用polyval在t处预测:

y_hat=polyval(p,t)

polyfit函数可以给出置信区间。

[pS]=polyfit(x,y,2)%S中包含了标准差

[y_fit,delta]=polyval(p,t,S)%按照拟合模型在t处预测

在每个t处的95%CI为:(y_fit-1.96*delta,y_fit+1.96*delta)

2.指数模型也适应

假设要拟合:y=a+b*exp(x)+c*exp(x.^2)

p=polyfit(x,log(y),2)

fminarch函数

fminarch是优化工具箱的极小化函数。LS问题的基本思想就是残差的平方和(一种范数,由此,LS产

生了许多应用)最小,因此可以利用fminarch函数进行曲线拟合。

假设要拟合:y=a+b*exp(x)+c*exp(x.?2)

首先建立函数,可以通过m文件或函数句柄建立:

x=[......]';

y=[......]';

f=@(p,x)p(1)+p(2)*exp(x)+p(3)*exp(x.?2)%注意向量化:p(1)=a;p(2)=b;p(3)=c;

%可以根据需要选择是否优化参数

%opt=options()

p0=ones(3,1);%初值

para=fminarch(@(p)(y-f(p,x)).^2,p0)%可以输出Hessian矩阵

res=y-f(para,x)%拟合残差

曲线拟合工具箱

提供了很多拟合函数,对大样本场合比较有效!

非线性拟合nlinfit函数

clearall;

x1=[0.42920.42690.3810.40150.41170.3017]';

x2=[0.000140.000590.01260.00610.004250.0443]';

x=[x1x2];

y=[0.5170.5090.440.4660.4790.309]';

f=@(p,x)

2.350176*p(1)*(1-1/p(2))*(1-(1-x(:,1).^(1/p(2))).^p(2)).^2.*(x(:,1).^(-1/p(2))-1).^(-p

(2)).*x(:,1).^(-1/p(2)-0.5).*x(:,2);

p0=[80.5]';

opt=optimt('TolFun',1e-3,'TolX',1e-3);%

[pR]=nlinfit(x,y,f,p0,opt)

例子1.直线型例子

2.多项式型

1900-2000年的总人口情况的曲线拟合

clearall;cloall;

%cftool提供了可视化的曲线拟合!

t=[19302000]';

y=[75.99591.972105.711123.203131.669150.697179.323203.212226.505249.633

281.4220]';

%t太大,以t的幂作为基函数会导致设计矩阵尺度太差,列变量几乎线性相依。变换为[-11]上

s=(t-1950)/50;

%plot(s,y,'ro');

%回归线:y=a+bx

mx=mean(s);my=mean(y);

sx=std(s);sy=std(y);

r=corr(s,y);

b=r*sy/sx;

a=my-b*mx;

rline=a+b.*s;

figure;

subplot(3,2,[12])

plot(s,y,'ro',s,rline,'k');%

title('多项式拟合');

t(gca,'XTick',s,'XTickLabel',sprintf('%d|',t));

%holdon;

n=4;

PreYear=[2];%预测年份

tPreYear=(PreYear-1950)/50;

Y=zeros(length(t),n);

res=zeros(size(Y));

delta=zeros(size(Y));

PrePo=zeros(length(PreYear),n);

Predelta=zeros(size(PrePo));

fori=1:n

[pS(i)]=polyfit(s,y,i);

[Y(:,i)delta(:,i)]=polyval(p,s,S(i));%拟合的Y

[PrePo(:,i)Predelta(:,i)]=polyval(p,tPreYear,S(i));%预测

res(:,i)=y-Y(:,i);%残差

end

%plot(s,Y);%2009a自动添加不同颜色

%legend('data','regressionline','1stpoly','2ndpoly','3rdpoly','4thpoly',2)

%plot(tPreYear,PrePo,'>');

%holdoff

%plot(Y,res,'o');%残差图

r=corr(s,Y).^2%R^2

%拟合误差估计CI

YearAdd=[t;PreYear'];

tYearAdd=[s;tPreYear'];

CFtit={'一阶拟合','二阶拟合','三阶拟合','四阶拟合'};

forcol=1:n

subplot(3,2,col+2);

plot(s,y,'ro',s,Y(:,col),'g-');%原始数据和拟合数据

legend('Original','Fitted',2);

holdon;

plot(s,Y(:,col)+2*delta(:,col),'r:');%95%CI

plot(s,Y(:,col)-2*delta(:,col),'r:');

plot(tPreYear,PrePo(:,col),'>');%预测值

plot(tPreYear,PrePo(:,col)+2*Predelta(:,col));%预测95%CI

plot(tPreYear,PrePo(:,col)-2*Predelta(:,col));

axis([-1.21.80400]);

t(gca,'XTick',tYearAdd,'XTickLabel',sprintf('%d|',YearAdd));

title(CFtit{col});

holdoff;

end

figure;%残差图

forcol=1:n

subplot(2,2,col);

plot(Y(:,i),res(:,i),'o');

end

非线性(多元情况)

在百度知道中,要拟合y=a*x1^n1+b*x2^n2+c*x3^n3

%注:只是作为应用,模型不一定正确

%x2=x3

y=[1080.941083.031162.801155.611092.821099.261161.061258.051299.031298.30

1440.221641.301672.211612.731658.641752.421837.992099.292675.472786.33

2881.07]';

x1=[11.051.11.151.21.251.31.351.41.451.51.551.61.651.71.751.81.851.91.95

2]';

x2=[11.0251.051.0751.11.1251.151.1751.21.2251.2501.2751.31.3251.3501.375

1.41.4251.451.4751.5]';

x3=[11.0251.051.0751.11.1251.151.1751.21.2251.2501.2751.31.3251.3501.375

1.41.4251.451.4751.5]';

x=[x1x2x3];

f=@(p,x)p(1)*x(:,1).^p(2)+p(3)*x(:,2).^p(4)+p(5)*x(:,3).^p(6);

p0=ones(6,1);

p=fminarch(@(p)sum(y-f(p,x)).^2,p0)

res=y-f(p,x);

res2=res.^2%失败的模型

本文发布于:2022-12-04 06:42:48,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/49464.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:期待近义词
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图