高维问题 钮海
二维问题-插值 z x y 插值: 要求:对任意自变量x1<x<xn, y1<y<ym, … < ym z11 …… z1n …… zm1 …… zmn z 要求:对任意自变量x1<x<xn, y1<y<ym, 求对应的z值 问题 插值点 插值
二维问题-插值 x1 x2 x3 x4 x x y1 y2 y z? y3 y4 y (网格)插值节点
实现 方法:1.省却‘bilinear‘-分段双线性 Matlab实现:插值函数(程序) 插值= interp2(x数据, y数据, z数据, x插值点, y插值点, 方法) 方法:1.省却‘bilinear‘-分段双线性 2. ‘binearest ‘寻找最近数据点,由其得出函数值; 3.‘bicubic’-分段双三次 4.‘spline’-样条
实验 先创造数据点: [x,y] = meshgrid(–3:1:3); z = peaks(x,y); surf(x,y,z)
实验 再比较一下不同的插值 [xi,yi] = meshgrid(–3:0.25:3); zi1 = interp2(x,y,z,xi,yi,'nearest'); zi2 = interp2(x,y,z,xi,yi,'bilinear'); zi3 = interp2(x,y,z,xi,yi,‘bicubic’); surf(x,y,z)
实验
实验
实验
高维插值 三维及多维插值 列出函数,其余从略 VI = interp3(X,Y,Z,V,XI,YI,ZI,method) VI = interpn(X1,X2,X3...,V,Y1,Y2,Y3,...,method)
建模实例 逢山开路(CMCM94A) 1.问题提出 要在一山区修建公路,首先测得一些地点的高程,数据见表1(平面区域0≤x≤5600, 0≤y≤4800 表中数据为坐标点的高程,单位:米).
建模实例 表1 (y轴正向为北) 4800 1350 1370 1390 1400 1410 960 940 880 800 690 570 430 290 210 150 4400 1430 1440 1140 1110 1050 950 820 540 380 300 4000 1380 1450 1470 1320 1280 1200 1080 780 620 460 370 350 3600 1420 1480 1500 1550 1510 1300 980 850 750 550 500 3200 1460 1600 2800 895 1190 1100 1070 900 1150 2400 910 1090 1270 1010 1000 2000 1060 1230 870 930 830 1180 700 840 740 1130 1250 1040 650 760 970 1020 480 400 510 730 720 200 320 470 600 670 580 450 100 250 y x 5200 5600
建模实例 作山体三维图像 建立m文件 cm94a.m x1 x2 x3 x4 x y1 y2 y3 y4 y
建模实例 x=0:400:5600;y=0:400:4400; [X,Y] = meshgrid(x,y); Z=[370 470 550 600 670 690 670 620 580 450 400 300 100 150 250; 510 620 730 800 850 870 850 780 720 650 500 200 300 350 320; 650 760 880 970 1020 1050 1020 830 800 700 300 500 550 480 350; 740 880 1080 1130 1250 1280 1230 1040 900 500 700 780 750 650 550; 830 980 1180 1320 1450 1420 1400 1300 700 900 850 840 380 780 750; 880 1060 1230 1390 1500 1500 1400 900 1100 1060 950 870 900 930 950; 910 1090 1270 1500 1200 1100 1350 1450 1200 1150 1010 880 1000 1050 1100; 895 1190 1370 1500 1200 1100 1550 1600 1550 1380 1070 900 1050 1150 1200; 1430 1450 1460 1500 1550 1600 1550 1600 1600 1600 1550 1500 1500 1550 1500; 1420 1430 1450 1480 1500 1550 1510 1430 1300 1200 980 850 750 550 500; 1380 1410 1430 1450 1470 1320 1280 1200 1080 940 780 620 460 370 350; 1370 1390 1410 1430 1440 1140 1110 1050 950 820 690 540 380 300 210; 1350 1370 1390 1400 1410 960 940 880 800 690 570 430 290 210 150];
建模实例 xin=linspace(0,5600,100); yin=linspace(0,4400,80); [Xin,Yin] = meshgrid(xin,yin); Zin=interp2(X,Y,Z,Xin,Yin, ‘bicubic’); meshz(Xin,Yin, Zin) 保存为cm94a.m
建模实例 在工作区中输入 cm94a
建模实例 旋转
建模实例 旋转
建模实例 旋转
多维问题 回归
高维问题-回归 插值: x y X1 < …… < Xn Y1 … ym x11 …… x1n …… xm1 …… xmn 问题
实现-线性回归 Matlab实现:线性回归(程序) [b,bint,r,rint,stats]= regress(因变量试数据向量,自变量数据矩阵)
实现-逐步回归 Matlab实现:逐步回归(程序) stepwise(因变量试数据向量,自变量数据矩阵,[],arfa)
谢谢