山东大学数值计算实验报告7
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运行结果:
从结果我们可以看出拟合的结果是:2.0472x+0.5756=z 2.1 利用 plot 函数画出散点图 代码如下:
t=[0.0,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5,7. 0,7.5,8.0,8.5,9.0,9.5,10.0]; y=[2.9,2.7,4.8,5.3,7.1,7.6,7.7,7.6,9.4,9.0,9.6,10.0,10.2,9.7, 8.3,8.4,9.0,8.3,6.6,6.7,4.1]; plot(t,y,'*')
ቤተ መጻሕፍቲ ባይዱ
18/13 -12/13 612/169
18/13 12/13 612/169
8/5 -4/5 96/25
8/5 4/5 96/25
2 0 4
x=[0,2/5,2/5,1,1,18/13,18/13,8/5,8/5,2]; y=[0,-4/5,4/5,-1,1,-12/13,12/13,-4/5,4/5,0]; z=[0,36/25,36/25,3,3,612/169,612/169,96/25,96/25,4]; plot3(x,y,z,'*')
plot(t,y,'*') %得到散点图 hold on; %不覆盖原图,继续在这个图上画 syms m y1 ezplot(y1==ans(1)+ans(2)*m,[-1,10]) hold on;
运行结果: 解方程结果:
图像:
2.3 用二次多项式拟合,拟合函数:f(t,x)=x1+x2t+x3t^2 代码如下:
运行结果:
1.2 用平面拟合点: 设平面为 Ax+By+C=z 我们可以得到以下方程组,系数矩阵为: [0 0 1 2/5 -4/5 1 2/5 -4/5 1 1 -1 1 1 1 1 18/13 -12/13 1 18/13 -12/13 1 8/5 -4/5 1 8/5 -4/5 1 2 0 1] 右端项为: [0 36/25 36/25 3 3 612/169 612/169 96/25 96/25 4] 利用 matlab 内函数直接解方程,代码如下:
山东大学
软件
学院
数值计算 课程实验报告
学号: 实验题目: 姓名: 班级:5 班
1、在二次曲面
与圆柱面
交线上取 10 个不同的点
1.1 画散点图(三维图,plot3()) 1.2 用平面拟合这些点 2、例题 3.2(图 3.1)的 21 个点(选做) 1.1 画出散点图 1.2 用一次多项式拟合。给出拟合函数,确定矛盾方程组的系数矩阵、右端 项。正规方程的方法得到结果,并画图显示该拟合函数 1.3 用二次多项式拟合,画图 1.4 用双曲线拟合(选做)
运行结果:
2.2 用一次多项式拟合(恕我直言,这个和上个实验差不多) 拟合函数为: f(t,x)=x1+x2t 代码如下:
t=[0.0,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5,7. 0,7.5,8.0,8.5,9.0,9.5,10.0]; y=[2.9,2.7,4.8,5.3,7.1,7.6,7.7,7.6,9.4,9.0,9.6,10.0,10.2,9.7, 8.3,8.4,9.0,8.3,6.6,6.7,4.1]; plot(t,y,'*') t=t'; y=y'; A = ones(21,2); %一个六行两列全是 1 的矩阵 A(:,2) = t; %将 A 的第二列替换成 t ans = A\y%直接解方程
实验学时:2 实验目的:最小二乘法数据拟合 硬件环境: PC 机 软件环境: MATLAB 实验步骤与内容: 实验日期:2017 年 11 月 21 日
1.在二次曲面和圆柱面上取以下十个点: x 0 2/5 2/5 1 1 y 0 -4/5 4/5 -1 1 z 0 36/25 36/25 3 3 使用 plot 函数画出散点图: 代码:
t=[0.0,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5,7. 0,7.5,8.0,8.5,9.0,9.5,10.0]; y=[2.9,2.7,4.8,5.3,7.1,7.6,7.7,7.6,9.4,9.0,9.6,10.0,10.2,9.7, 8.3,8.4,9.0,8.3,6.6,6.7,4.1]; plot(t,y,'*') t=t'; y=y'; A = ones(21,3); %一个六行三列全是 1 的矩阵 A(:,2) = t; %将 A 的第二列替换成 t for i = 1:21 A(i,3) = t(i).^2; %将 A 的第三列替换成 t^2 end ans = A\y %直接解方程
x=[0,2/5,2/5,1,1,18/13,18/13,8/5,8/5,2];
y=[0,-4/5,4/5,-1,1,-12/13,12/13,-4/5,4/5,0]; z=[0,36/25,36/25,3,3,612/169,612/169,96/25,96/25,4]; x=x'; y=y'; z=z'; A=ones(10,3); A(:,1)=x; A(:,2)=y; %得到右端项 ans = A\z %直接解方程得出结果
hold on; syms m y2 e = ezplot(y2==ans(1)+ans(2)*m+ans(3)*m*m,[-1,10]) %得到拟合曲
线 hold on;
运行结果: 解方程结果:
图像:
结论分析与体会: 现在觉得拟合也挺简单的,感觉这个二次多项式拟合的超级好看! ! !Matlab 的画图依旧感 觉很神奇。
从结果我们可以看出拟合的结果是:2.0472x+0.5756=z 2.1 利用 plot 函数画出散点图 代码如下:
t=[0.0,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5,7. 0,7.5,8.0,8.5,9.0,9.5,10.0]; y=[2.9,2.7,4.8,5.3,7.1,7.6,7.7,7.6,9.4,9.0,9.6,10.0,10.2,9.7, 8.3,8.4,9.0,8.3,6.6,6.7,4.1]; plot(t,y,'*')
ቤተ መጻሕፍቲ ባይዱ
18/13 -12/13 612/169
18/13 12/13 612/169
8/5 -4/5 96/25
8/5 4/5 96/25
2 0 4
x=[0,2/5,2/5,1,1,18/13,18/13,8/5,8/5,2]; y=[0,-4/5,4/5,-1,1,-12/13,12/13,-4/5,4/5,0]; z=[0,36/25,36/25,3,3,612/169,612/169,96/25,96/25,4]; plot3(x,y,z,'*')
plot(t,y,'*') %得到散点图 hold on; %不覆盖原图,继续在这个图上画 syms m y1 ezplot(y1==ans(1)+ans(2)*m,[-1,10]) hold on;
运行结果: 解方程结果:
图像:
2.3 用二次多项式拟合,拟合函数:f(t,x)=x1+x2t+x3t^2 代码如下:
运行结果:
1.2 用平面拟合点: 设平面为 Ax+By+C=z 我们可以得到以下方程组,系数矩阵为: [0 0 1 2/5 -4/5 1 2/5 -4/5 1 1 -1 1 1 1 1 18/13 -12/13 1 18/13 -12/13 1 8/5 -4/5 1 8/5 -4/5 1 2 0 1] 右端项为: [0 36/25 36/25 3 3 612/169 612/169 96/25 96/25 4] 利用 matlab 内函数直接解方程,代码如下:
山东大学
软件
学院
数值计算 课程实验报告
学号: 实验题目: 姓名: 班级:5 班
1、在二次曲面
与圆柱面
交线上取 10 个不同的点
1.1 画散点图(三维图,plot3()) 1.2 用平面拟合这些点 2、例题 3.2(图 3.1)的 21 个点(选做) 1.1 画出散点图 1.2 用一次多项式拟合。给出拟合函数,确定矛盾方程组的系数矩阵、右端 项。正规方程的方法得到结果,并画图显示该拟合函数 1.3 用二次多项式拟合,画图 1.4 用双曲线拟合(选做)
运行结果:
2.2 用一次多项式拟合(恕我直言,这个和上个实验差不多) 拟合函数为: f(t,x)=x1+x2t 代码如下:
t=[0.0,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5,7. 0,7.5,8.0,8.5,9.0,9.5,10.0]; y=[2.9,2.7,4.8,5.3,7.1,7.6,7.7,7.6,9.4,9.0,9.6,10.0,10.2,9.7, 8.3,8.4,9.0,8.3,6.6,6.7,4.1]; plot(t,y,'*') t=t'; y=y'; A = ones(21,2); %一个六行两列全是 1 的矩阵 A(:,2) = t; %将 A 的第二列替换成 t ans = A\y%直接解方程
实验学时:2 实验目的:最小二乘法数据拟合 硬件环境: PC 机 软件环境: MATLAB 实验步骤与内容: 实验日期:2017 年 11 月 21 日
1.在二次曲面和圆柱面上取以下十个点: x 0 2/5 2/5 1 1 y 0 -4/5 4/5 -1 1 z 0 36/25 36/25 3 3 使用 plot 函数画出散点图: 代码:
t=[0.0,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5,7. 0,7.5,8.0,8.5,9.0,9.5,10.0]; y=[2.9,2.7,4.8,5.3,7.1,7.6,7.7,7.6,9.4,9.0,9.6,10.0,10.2,9.7, 8.3,8.4,9.0,8.3,6.6,6.7,4.1]; plot(t,y,'*') t=t'; y=y'; A = ones(21,3); %一个六行三列全是 1 的矩阵 A(:,2) = t; %将 A 的第二列替换成 t for i = 1:21 A(i,3) = t(i).^2; %将 A 的第三列替换成 t^2 end ans = A\y %直接解方程
x=[0,2/5,2/5,1,1,18/13,18/13,8/5,8/5,2];
y=[0,-4/5,4/5,-1,1,-12/13,12/13,-4/5,4/5,0]; z=[0,36/25,36/25,3,3,612/169,612/169,96/25,96/25,4]; x=x'; y=y'; z=z'; A=ones(10,3); A(:,1)=x; A(:,2)=y; %得到右端项 ans = A\z %直接解方程得出结果
hold on; syms m y2 e = ezplot(y2==ans(1)+ans(2)*m+ans(3)*m*m,[-1,10]) %得到拟合曲
线 hold on;
运行结果: 解方程结果:
图像:
结论分析与体会: 现在觉得拟合也挺简单的,感觉这个二次多项式拟合的超级好看! ! !Matlab 的画图依旧感 觉很神奇。