MATLAB 数值分析 第二次 50页第二章计算实习题2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二次 50页第二章计算实习题2
clear all
clc
x=-1:.1:1;
y=1./(1+25*x.^2);
plot(x,y)
for n=10:10:20
x1=linspace(-1,1,n)
y1=interp1(x,y,x1)
hold on
plot(x1,y1,'r')
x2=linspace(-1,1,n);
a=polyfit(x,y,3);%polyfit:给定n+1个点将可以唯一确定一个n 阶多项式。利用命令polyfit 可容易确定多项式的系数
y2=polyval(a,x2)%polyval:用命令polyval 计算多项式的值
hold on
plot(x2,y2,'g')
end
图像:
-1-0.8-0.6-0.4-0.200.20.40.60.81
-0.20
0.2
0.4
0.6
0.8
1
1.2
对于给定的函数2
1()125f x x =
+在区间[1,1]-上取值,试求三次曲线拟合并画出拟合曲线方程。
8次拟合曲线;
程序:clear all
clc
x=-1:0.01:1;
f=1./(1+25*x.^2);
plot(x,f,'*')
i=0:10;
x1=-1+0.2.*i;
f1=1./(1+25*x1.^2);
a=polyfit(x1,f1,8)
f2=polyval(a,x1);
hold on
plot(x1,f2,'r') 曲线系数(从高到低):20.4662 0.0000 -43.6006 -0.0000 30.8171 0.0000 -8.5318 -0.0000 0.8880
-1-0.8-0.6-0.4-0.200.20.40.60.81
3次拟合曲线; clear all
clc
x=-1:0.01:1;
f=1./(1+25*x.^2);
plot(x,f,'*')
i=0:10;
x1=-1+0.2.*i;
f1=1./(1+25*x1.^2);
a=polyfit(x1,f1,3)
f2=polyval(a,x1);
hold on
plot(x1,f2,'r')
曲线系数(从高到低):0.0000 -0.5752 -0.0000 0.4841
3次拟合曲线
-1-0.8-0.6-0.4-0.200.20.40.60.81 clear all
clc
x=-1:.01:1;
y=1./(1+25*x.^2);
plot(x,y,'*')
for n=10:10:20
x1=linspace(-1,1,n)
y1=interp1(x,y,x1,'cubic')
hold on
plot(x1,y1,'r')
x2=linspace(-1,1,n);
a=polyfit(x,y,3);
y2=polyval(a,x2)
hold on
plot(x2,y2,'g')
y3=interp1(x,y,x1,'spline');
hold on
plot(x1,y3,'y')
hold off
end
-1-0.8-0.6-0.4-0.200.20.40.60.81