文档介绍:插值法
下列数据点的插值
x 0 1 4 9 16 25 36 49 64
y 0 1 2 3 4 5 6 7 8
可以得到平方根函数的近似,在区间[0,64]上作图.
(1)用这ym x;
x0=[ ];
y0=[ ];
cc=polyfit(x0,y0,4);
S3=cc(1)+cc(2)*x+cc(3)*x^2+cc(4)*x^3+cc(5)*x^4
xx=x0(1)::x0(length(x0));
yy=polyval(cc,xx);
plot(xx,yy,'r');
hold on;
plot(x0,y0,'x');
xlabel('x');
ylabel('y');
运行结果
S3 =
图像如下
(3)另一个拟合曲线,
新建一个M-file
程序如下:
function [C,L]=lagran(x,y)
w=length(x);
n=w-1;
L=zeros(w,w);
for k=1:n+1
V=1;
for j=1:n+1
if k~=j
V=conv(V,poly(x(j)))/(x(k)-x(j));
end
end
L(k,:)=V;
end
C=y*L
在命令窗口中输入以下的命令:
x=[ ];
y=[ ];
cc=polyfit(x,y,4);
xx=x(1)::x(length(x));
yy=polyval(cc,xx);
plot(xx,yy,'r');
hold on;
plot(x,y,'x');
xlabel('x');
ylabel('y');
x=[ ];
y=[ ]; %y中的值是根据上面两种拟合曲线而得到的估计数据,不是真实数据
[C,L]=lagran(x,y);
xx=0::;
yy=polyval(C,xx);
hold on;
plot(xx,yy,'b',x,y,'.');
图像如下
解线性方程组的直接解法
线性方程组Ax=b的A及b为
A=10 7 8 77 5 6 58 6 10 97 5 9 10,b=32233331,则解x=(A)
A+δA=10 7 6 58 5 9 ,求解(A+δA)(x+δx)=b,输出向量x和||δx||=b解得相对误差||δx||2/||x||2及A的相对误差||δA||2/||A||2的关系.
解:(1)程序如下
clear;
A=[10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10];
det(A)
cond(A,2)
eig(A)
输出结果为
ans =
1
ans =
+003
ans =
(2)程序如下
A=[10 7 ; 6 5;8 9; 5 9 ];
b=[32 23 33 31]';
x0=[1 1 1 1]';
x=A\b %扰动后方程组的解
x1=x-x0 %δx的值
norm(x1,2) %δx的2-范数
运行结果为
x =
-
-
x1 =
-
-
ans =
程序如下
A=[10 7 ; 6 5;8 9; 5 9 ];
A0=[10 7 8 7;7