实验内容 | 1. (简答题) 某地15年间每月的平均日照数据如下:[80.9 67.2 67.1 50.5 32 33.6 36.6 46.8 52.3 62 64.1 71.2],试用插值方法获得日照时间的变化规律,写出M程序,并展现结果。 2. (简答题) 以下数据是某山区的高度表: 请做出该山区的地貌图和等高线图,并对几种插值方法进行比较。(写出M程序及运行结果及结论) 高度值: Z=[1130 1250 1280 1230 1040 900 500 700; 1320 1450 1420 1400 1300 700 900 850; 1390 1500 1500 1400 900 1100 1060 950; 1500 1200 1100 1350 1450 1200 1150 1010; 1500 1200 1100 1550 1600 1550 1380 1070; 1500 1550 1600 1550 1600 1600 1600 1550; 1480 1500 1550 1510 1430 1300 1200 980]; 3. (简答题)(P188)为研究碳含量与合金强度的关系,采集了以下数据:(x为碳含量,y为合金强度) x=[0.1:0.01:0.18,0.20,0.21,0.23]; y=[42 41.5 45 45.5 45.8 47.5 49 55 50 55 55.5 60.5]; (1)画出给定数据的散点图。 (2)选择恰当的函数形式进行数据拟合,并给出碳含量为0.168%时,合金强度值? 4. (简答题) 已知变量x,y满足函数关系式:y=a*e^(bx),请根据以下数据:x=[-0.2 0 0.1 0.15 0.2 0.3],y=[1.5 1.06 0.95 0.86 0.84 0.72], 选择恰当的方式确定函数表达式。(写出M程序及结果) |
实 验 步 骤、过 程
1.
编制函数文件:
m=[1 2 3 4 5 6 7 8 9 10 11 12];
t=[80.9 67.2 67.1 50.5 32.0 33.6 36.6 46.8 52.3 62.0 64.1 71.2];
plot(m,t,'*');
hold on;
a=polyfit(m,t,5)
x=1:12;
f=0.0069*x.^5-0.2669*x.^4+3.7108*x.^3-20.8889*x.^2+36.2143*x+60.0136;
plot(x,f);
大致符合f=0.0069*x.^5-0.2669*x.^4+3.7108*x.^3-20.8889*x.^2+36.2143*x+60.0136的分布,呈现夏季短日照冬季长日照,春秋居中的规律。1-6月份递减,6-12月份递增。
2.
编制函数文件(interp2函数):
x = 1200:400:4000;
y = 1200:400:3600;
z = [1130 1250 1280 1230 1040 900 500 700;1320 1450 1420 1400 1300 700 900 850;1390 1500 1500 1400 900 1100 1060 950;1500 1200 1100 1350 1450 1200 1150 1010;1500 1200 1100 1550 1600 1550 1380 1070;1500 1550 1600 1550 1600 1600 1600 1550;1480 1500 1550 1510 1430 1300 1200 980];
xi = 1200:10:4000;
mesh(x,y,z);
yi = 1200:10:3600;
zi = interp2(x,y,z,xi',yi,'cubic');
mesh(xi,yi,zi)
运行结果如下:
编制函数文件(meshgrid函数):
Z=[1130 1250 1280 1230 1040 900 500 700;1320 1450 1420 1400 1300 700 900 850;1390 1500 1500 1400 900 1100 1060 950;1500 1200 1100 1350 1450 1200 1150 1010;1500 1200 1100 1550 1600 1550 1380 1070;1500 1550 1600 1550 1600 1600 1600 1550;1480 1500 1550 1510 1430 1300 1200 980];
[X,Y] = meshgrid(1200:400:4000,1200:400:3600);
mesh(X,Y,Z);
[Xi,Yi] = meshgrid(1200:10:4000,1200:10:3600);
Zi = interp2(X,Y,Z,Xi,Yi,'cubic');
mesh(Xi,Yi,Zi)
运行结果如下:
编制函数文件(griddata函数):
x = 1200:400:4000;
y = 1200:400:3600;
z = [1130 1250 1280 1230 1040 900 500 700;1320 1450 1420 1400 1300 700 900 850;1390 1500 1500 1400 900 1100 1060 950;1500 1200 1100 1350 1450 1200 1150 1010;1500 1200 1100 1550 1600 1550 1380 1070;1500 1550 1600 1550 1600 1600 1600 1550;1480 1500 1550 1510 1430 1300 1200 980];
[Xi,Yi] = meshgrid(1200:400:4000,1200:400:3600);
Zi = griddata(x,y,z,Xi,Yi,'cubic');
mesh(Xi,Yi,Zi);
运行结果如下:
显然前两种拟合结果更好,画出的等高图更精确。
3.(1)
编制函数文件:
x=[0.1:0.01:0.18,0.20,0.21,0.23];
y=[42 41.5 45 45.5 45.8 47.5 49 55 50 55 55.5 60.5];
plot(x,y,'k*')
(2)
编制函数文件:
x=[0.1:0.01:0.18,0.20,0.21,0.23];
y=[42 41.5 45 45.5 45.8 47.5 49 55 50 55 55.5 60.5];
a=polyfit(x,y,2);xi=[0.1:0.01:0.18,0.20,0.21,0.23];
yi=a(1)*xi.^2+a(2)*xi+a(3);
plot(x,y,'*',xi,yi,'k');
f=@(x)a(1)*x^2+a(2)*x+a(3);
b=f(0.168)
得到碳含量为0.168%合金强度为:b =50.5134
4.
方法一:编制函数文件(lsqcurvefit函数):
function f=zdx(x,t)
f=x(1)*exp(x(2)*t);
窗口命令下执行:
>> t=[-0.2 0 0.1 0.15 0.2 0.3];
>> y=[1.5 1.06 0.95 0.86 0.84 0.72];
>> x0=[0.2,0.05];
>> x=lsqcurvefit(@su,x0,t,y)
运行结果如下:
方法二:编制函数文件(lsqnonlin函数):
function f=zdx1(x,t)
t=[-0.2 0 0.1 0.15 0.2 0.3];
y=[1.5 1.06 0.95 0.86 0.84 0.72];
f=x(1)*exp(x(2)*t)-y;
窗口命令下执行:
>> x0=[0.2,0.05];
>> x=lsqnonlin(@su1,x0)
运行结果如下:
即a=1.0997,b=-1.4923.
答案供参考,如有错误请自行改正,本人只是随意分享之前的作业,代码均来源于网络+个人稍微修改,认为有用可参考哈~