MATLAB曲面interp2插值polyfit2d与polyval2d拟合

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:57:38
clear;
temp=[0 10 20 30 50 100];
mois=1.5:0.5:10;
data=[0 0 0 0 0 0 ;
0 0.11627907 0.23255814 0.348837209 0.465116279 0.581395349 ;
0 0.340909091 0.511363636 0.681818182 0.852272727 1.022727273 ;
0 0.813953488 1.162790698 1.511627907 1.627906977 1.744186047 ;
0 1.193181818 1.704545455 2.301136364 2.556818182 2.727272727 ;
0 1.860465116 2.325581395 3.255813953 3.488372093 3.953488372 ;
0 2.215909091 2.897727273 3.835227273 4.6875 5.795454545 ;
0 2.790697674 3.488372093 4.418604651 5.813953488 7.441860465 ;
0 3.323863636 4.346590909 5.625 7.159090909 9.801136364 ;
0 3.837209302 5.23255814 6.511627907 8.372093023 11.27906977 ;
0 4.517045455 6.221590909 7.755681818 10.14204546 13.63636364 ;
0 5.11627907 6.860465116 8.604651163 11.51162791 15.23255814 ;
0 5.625 7.670454545 9.715909091 12.86931818 17.30113636 ;
0 6.046511628 8.372093023 10.58139535 13.8372093 18.72093023 ;
0 6.5625 9.119318182

"w=interp2(temp,mois,data,u,v,'cubic');"此句中u,v应当为一个二维矩阵,表示所画网格图的精度,可以在此句前修改成[u,v]=meshgrid(0:1:85,1.5:0.1:10);创建网格矩阵
要得出确切表达式,不大可能,你这个程序中也就是用二元多项式进行拟合再求值进行比较罢了,本来离散数据点理论上只能以不同方式进行拟合,得出最佳结果,没有确切的表达式
meshgrid只是作三维图形时创建网格点用的,要画光滑曲面可以用插值的方法