matlab如何进行曲面拟合
在一丘陵地带测量高程,x和 y方向每隔100米测一个点,得高程如下表,试
插值一曲面,确定合适的模型,并由此找出最高点和该点的高程。
x
y 100 200 300 400 500
100 636 697 624 478 450
200 698 712 630 478 420
300 680 674 598 412 400
-113-
400 662 626 552 334 310
解 编写程序如下:
clear,clc
x=100:100:500;
y=100:100:400;
z=[636 697 624 478 450
698 712 630 478 420
680 674 598 412 400
662 626 552 334 310];
pp=csape({x,y},z')
xi=100:10:500;yi=100:10:400
cz1=fnval(pp,{xi,yi})
cz2=interp2(x,y,z,xi,yi','spline')
[i,j]=find(cz1==max(max(cz1)))
x=xi(i),y=yi(j),zmax=cz1(i,j)
在某海域测得一些点(x,y)处的水深 z 由下表给出,在矩形区域(75,200)
×(-50,150) 内画出海底曲面的图形。
x 129 140 103.5 88 185.5 195 105 157.5 107.5 77 81 162 162 117.5
y 7.5 141.5 23 147 22.5 137.5 85.5 –6.5 -81 3 56.5 –66.5 84 -33.5
z 4 8 6 8 6 8 8 9 9 8 8 9 4 9
解 编写程序如下:
x=[129 140 103.5 88 185.5 195 105 157.5 107.5 77 81 162 162
117.5];
y=[7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84
-33.5];
z=-[4 8 6 8 6 8 8 9 9 8 8 9 4
9];
xi=75:1:200;
yi=-50:1:150;
zi=griddata(x,y,z,xi,yi','cubic')
subplot(1,2,1)
plot(x,y,'*')
subplot(1,2,2)
mesh(xi,yi,zi) 希望对你有帮助,这是插值
某乡镇企业 1990-1996 年的生产利润如下表:
年份 1990 1991 1992 1993 1994 1995 1996
利润(万元) 70 122 144 152 174 196 202
试预测 1997年和 1998 年的利润。
解 作已知数据的的散点图,
-1
x0=[1990 1991 1992 1993 1994 1995 1996];
y0=[70 122 144 152 174 196 202];
plot(x0,y0,'*')
发现该乡镇企业的年生产利润几乎直线上升。
因此,我们可以用 y =a x+a 作为
1 0
拟合函数来预测该乡镇企业未来的年利润。
编写程序如下:
x0=[1990 1991 1992 1993 1994 1995 1996];
y0=[70 122 144 152 174 196 202];
a=polyfit(x0,y0,1)
y97=polyval(a,1997)
y98=polyval(a,1998)
2024-10-28 广告