2023年8月3日发(作者:)
数值分析习题3多项式的曲线拟合3 次、4 次、指数多项式的曲线拟合3 次多项式的曲线拟合程序x=[0.0 0.1 0.2 0.3 0.5 0.8 1.0];y=[1.0 0.41 0.50 0.61 0.91 2.02 2.46];%初始化变量m=length(x); %取 m 为数组长度n=4; %取 n-1 为多项式次数Y=0; syms t; YY=0;A=zeros(n,n); %法⽅程组的 A 数组b=zeros(n,1); %法⽅程组的 b 向量y1=zeros(1,m); %拟合函数对应抽样点的函数值%%%******************写⼊法⽅程组的 A 矩阵和 b 向量****************************for i=1:1:n for j=1:1:m A(1,i)=A(1,i)+x(j)^(i-1); A(2,i)=A(2,i)+x(j)^(i); A(3,i)=A(3,i)+x(j)^(i+1); A(4,i)=A(4,i)+x(j)^(i+2); b( i,1)=b(i,1)+x(j)^(i-1)*y(j); endend%%***************************求 C 并输出已 C 向量为系数的多项式****************format short;C=Ab %求多项式系数 C 向量P=[1 t t^2 t^3]*C(:,1); %输出多项式公式P=vpa(collect(P),4)%作图X=0:0.05:1; %取 X 为作图抽样点for k=1:1:n Y=Y.*X+C(5-k,1); %取 Y 为作图的 X 对应函数值endplot(x,y,”ob”,X,Y)xlabel(“x”),ylabel(“y”);title(“三次多项式拟合曲线”);grid on;%%*****************************计算偏差平⽅和****************************** %取抽样点对应函数值x1=[0.0 0.1 0.2 0.3 0.5 0.8 1.0]; for ii=1:1:mfor kk=1:1:n YY=YY.*x1(ii)+C(5-kk,1);end y1(1,ii)=YY; YY=0; end y1%输出偏差平⽅和 zzformat long;z=(y1-y).^2; %取 z 为偏差平⽅数组zz=sum(z)4 次多项式的曲线拟合程序x=[0.0 0.1 0.2 0.3 0.5 0.8 1.0];y=[1.0 0.41 0.50 0.61 0.91 2.02 2.46];%初始化变量m=length(x); %取 m 为数组长度n=5; %取 n-1 为多项式次数Y=0; syms t; YY=0;A=zeros(n,n); %法⽅程组的 A 数组b=zeros(n,1); %法⽅程组的 b 向量y1=zeros(1,m); %拟合函数对应抽样点的函数值%%%******************写⼊法⽅程组的 A 矩阵和 b 向量****************************for i=1:1:n for j=1:1:m A(1,i)=A(1,i)+x(j)^(i-1); A(2,i)=A(2,i)+x(j)^(i); A(3,i)=A(3,i)+x(j)^(i+1); A(4,i)=A(4,i)+x(j)^(i+2); A(5,i)=A(5,i)+x(j)^(i+3);b(i,1)=b(i,1)+x(j)^(i-1)*y(j); endend%%***************************求 C 并输出已 C 向量为系数的多项式****************format short;C=Ab %求多项式系数 C 向量P=[1 t t^2 t^3 t^4]*C(:,1); %输出多项式公式P=vpa(collect(P),4)%作图X=0:0.05:1; %取 X 为作图抽样点for k=1:1:n Y=Y.*X+C(6-k,1); %取 Y 为作图的 X 对应函数值endplot(x,y,”ob”,X,Y)xlabel(“x”),ylabel(“y”);title(“四次多项式拟合曲线”);grid on;%%*****************************计算偏差平⽅和****************************** %取抽样点对应函数值x1=[0.0 0.1 0.2 0.3 0.5 0.8 1.0]; for ii=1:1:m for kk=1:1:n YY=YY.*x1(ii)+C(6-kk,1); end y1(1,ii)=YY; YY=0; end y1%输出偏差平⽅和 zz format long; z=(y1-y).^2; %取 z 为偏差平⽅数组zz=sum(z) 指数函数多项式的曲线拟合可以选取函数类其相应的法⽅程组为x=[0.0 0.1 0.2 0.3 0.5 0.8 1.0];y=[1.0 0.41 0.50 0.61 0.91 2.02 2.46];syms t;format short;A=zeros(5,5);b=zeros(5,1);a12=exp(x);a22=exp(2*x);a24=exp(3*x);a44=exp(4*x);a13=exp(-1*x);a33=exp(-2*x);a35=exp(-3*x);a55=exp(-3*x);%%%******************写⼊法⽅程组的 A 矩阵和 b 向量****************************A(1,1)=7; A(1,2)=sum(a12); A(1,3)=sum(a13);A(1,4)=sum(a22); A(1,5)=sum(a33);A(2,1)=sum(a12); A(2,2)=sum(a22); A(2,3)=7;A(2,4)=sum(a24); A(2,5)=sum(a13);A(3,1)=sum(a13); A(3,2)=7; A(3,3)=sum(a33);A(3,4)=sum(a12); A(3,5)=sum(a35);A(4,1)=sum(a22); A(4,2)=sum(a24); A(4,3)=sum(a12);A(4,4)=sum(a44); A(4,5)=7;A(5,1)=sum(a33); A(5,2)=sum(a13); A(5,3)=sum(a35);A(5,4)=7; A(5,5)=sum(a55);b(1,1)=sum(y); b(2,1)=a12*y’; b(3,1)=a13*y’;b(4,1)=a22*y’; b(5,1)=a33*y’;%%***************************求 C 并输出已 C 向量为系数的多项式****************C=Ab %求多项式系数 C 向量P=[1 exp(t) exp(-t) exp(2*t) exp(-2*t) ]*C(:,1); %输出多项式公式P=vpa(collect(P),4)%作图X=0:0.05:1; %取 X 为作图抽样点Y=1*C(1,1)+exp(X)*C(2,1)+exp(-X)*C(3,1)+exp(2*X)*C(4,1)+exp(-2*X)*C(5,1);plot(x,y,”ob”,X,Y)%%*****************************计算偏差平⽅和****************************** %取抽样点对应函数值x1=[0.0 0.1 0.2 0.3 0.5 0.8 1.0];for ii=1:1:7y 1(ii)=1.*C(1,1)+exp(x1(ii))*C(2,1)+exp(-x1(ii))*C(3,1)…+exp(2*x1(ii))*C(4,1)+exp(-2*x1(ii))*C(5,1); end y1%输出偏差平⽅和 zz format long; z=(y1-y).^2; %取 z 为偏差平⽅数组zz=sum(z)
发布者:admin,转转请注明出处:http://www.yc00.com/news/1691040238a492935.html
评论列表(0条)