实验十五.插值与拟合实验

实验内容

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.

答案供参考,如有错误请自行改正,本人只是随意分享之前的作业,代码均来源于网络+个人稍微修改,认为有用可参考哈~

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值