文档介绍:《数值分析》计算实****题
姓名:
学号:
班级:
第二章
1、程序代码
Clear;clc;
x1=[ ];
y1=[ ];
n=length(y1);
c=y1(:);
for j=2:n %求差商
for i=n:-1:j
c(i)=(c(i)-c(i-1))/(x1(i)-x1(i-j+1));
end
end
syms x df d;
df(1)=1;d(1)=y1(1);
for i=2:n %求牛顿差值多项式
df(i)=df(i-1)*(x-x1(i-1));
d(i)=c(i-1)*df(i);
end
P4=vpa(sum(d),5) %P4即为4次牛顿插值多项式,并保留小数点后5位数
pp=csape(x1,y1, 'variational');%调用三次样条函数
q=;
q1=q(1,:)*[(x-.2)^3;(x-.2)^2;(x-.2);1];
q1=vpa(collect(q1),5)
q2=q(1,:)*[(x-.4)^3;(x-.4)^2;(x-.4);1];
q2=vpa(collect(q2),5)
q3=q(1,:)*[(x-.6)^3;(x-.6)^2;(x-.6);1];
q3=vpa(collect(q3),5)
q4=q(1,:)*[(x-.8)^3;(x-.8)^2;(x-.8);1];
q4=vpa(collect(q4),5)%求解并化简多项式
2、运行结果
P4 =
*x - *(x - )*(x - ) - *(x - )*(x - )*(x - ) - *(x - )*(x - )*(x - )*(x - ) +
q1 =
- *x^3 + *x^2 - *x +
q2 =
- *x^3 + *x^2 - *x +
q3 =
- *x^3 + *x^2 - *x +
q4 =
- *x^3 + *x^2 - *x +
3、问题结果
4次牛顿差值多项式= *x - *(x - )*(x - ) - *(x - )*(x - )*(x - ) - *(x - )*(x - )*(x - )*(x - ) +
三次样条差值多项式
第三章
1、程序代码
Clear;clc;
x=[0 1];
y=[1 ];
p1=polyfit(x,y,3)%三次多项式拟合
p2=polyfit(x,y,4)%四次多项式拟合
y1=polyval(p1,x);
y2=polyval(p2,x);%多项式求值
plot(x,y,'c--',x,y1,'r:',x,y2,'y-.')
p3=polyfit(x,y,2)%观察图像,类似抛物线,故用二次多项式拟合。
y3=polyval(p3,x);
plot(x,y,'c--',x,y1,'r:',x,y2,'y-.',x,y3,'k--')%画出四种拟合曲线
2、运行结果
p1 =
- -
p2 =
- -
p3 =
-
3、问题结果
三次多项式拟合P1=
四次多项式拟合P2=
二次多项式拟合P3=
第四章