数值分析作业21.docx

上传人:b****4 文档编号:4638090 上传时间:2022-12-07 格式:DOCX 页数:9 大小:55.22KB
下载 相关 举报
数值分析作业21.docx_第1页
第1页 / 共9页
数值分析作业21.docx_第2页
第2页 / 共9页
数值分析作业21.docx_第3页
第3页 / 共9页
数值分析作业21.docx_第4页
第4页 / 共9页
数值分析作业21.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

数值分析作业21.docx

《数值分析作业21.docx》由会员分享,可在线阅读,更多相关《数值分析作业21.docx(9页珍藏版)》请在冰豆网上搜索。

数值分析作业21.docx

数值分析作业21

姓名:

李扬志学号:

181********8

数值分析作业

12.求

在[0,1]上的一次最佳平方逼近多项式与二次最佳平方逼近多项式。

函数:

functionS=zjpfbj(n,a,b)%创建一个函数,里面填入次数,和区间范围

base=inline('x^(j-1)','x','j');%定义多项式

quan=inline('1','x');%权函数

A=zeros(n+1);

y=zeros(1,n+1);

fork=1:

(n+1)

forj=1:

(n+1)

symsx

A(k,j)=int(base(x,k)*base(x,j)*quan(x),x,a,b);%构建希尔伯特矩阵

end

y(k)=int(base(x,k)*(x^2+3*x+2),x,a,b);%求d

end

%A;

%y';

c=vpa(inv(A)*y',3)%求系数

%vpa控制精度保存3位有效数字,digits()与vpa()合用,控制精度

S=0;

fori=1:

(n+1)

S=S+c(i)*base(x,i);

end

(1)一次最佳平方逼近

命令行:

>>zjpfbj(1,0,1)

c=

1.83

4.0

ans=

4.0*x+1.8333333333430346101522445678711

画图:

>>fun='x^2+3*x+2';

fplot(fun,[0,1])

holdon

xi=0:

0.1:

1;

yi=4.0*xi+1.8333333333430346101522445678711;

plot(xi,yi,'r:

')

(2)二次最佳平方逼近

命令行:

>>zjpfbj(2,0,1)

c=

2.0

3.0

1.0

ans=

1.0*x^2+3.0*x+2.0

画图:

>>fun='x^2+3*x+2';

fplot(fun,[0,1])

holdon

xi=0:

0.1:

1;

yi=xi.^2+3*xi+2;

plot(xi,yi,'r:

')

18.用最小二乘法求

函数:

functionS=zuixiao(xi,yi,m)

%xi---自变量

%yi---应变量

%m----拟合次数

%a----解超定方程组的最小二乘解

A=zeros(m+1,m+1);

fori=0:

m

forj=0:

m

A(i+1,j+1)=sum(xi.^(i+j));

end

b(i+1)=sum(xi.^i.*yi);

end

a=A\b';

a';

S=fliplr(a');%使翻转

%c=p;

%c=[0.0000,-0.0049,0.2557,0.0442]

%f=polyval(c,xi);%拟合

f=polyval(p,xi);%拟合

plot(xi,yi,'b*')

holdon

plot(xi,f,'r--');

disp('拟和方程系数按照降幂排列如下')

(1)二次拟合

命令行:

>>xi=[0,5,10,15,20,25,30,35,40,45,50,55];

yi=[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51,4.58,4.62,4.64];

zuixiao(xi,yi,2)

拟和方程系数按照降幂排列如下

ans=

-0.00220.19920.2453

(2)三次拟合

>>zuixiao(xi,yi,3)

拟和方程系数按照降幂排列如下

ans=

0.0000-0.00490.25570.0442

问题,同是三次拟合效果不同:

functionp=zuixiao(xi,yi,m)

%xi---自变量

%yi---应变量

%m----拟合次数

%a----解超定方程组的最小二乘解

A=zeros(m+1,m+1);

fori=0:

m

forj=0:

m

A(i+1,j+1)=sum(xi.^(i+j));

end

b(i+1)=sum(xi.^i.*yi);

end

a=A\b';

a'

p=fliplr(a')

%c=p;

c=[0.0000,-0.0049,0.2557,0.0442]

f=polyval(c,xi)

plot(xi,yi,'b*')

holdon

plot(xi,f,'r--');

disp('拟和方程系数按照降幂排列如下')

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1