作业帮 > 综合 > 作业

matlab插值1、x,y,z分别为经度、纬度和浓度数据,现要插值到全球5°×5°等经纬度网格数据,如何处理?我的数据量

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 04:03:31
matlab插值
1、x,y,z分别为经度、纬度和浓度数据,现要插值到全球5°×5°等经纬度网格数据,如何处理?我的数据量比较大,有近5万,而且不是均匀分布的,有的经纬度附近的点很密,有的没有值,用什么插值法比较好?最后我想做成的是根据值的大小有不同颜色表示的图.
2、如何自定义调整颜色条的值,加了colorbar这个语句可以自动添加颜色条,但我希望改变值的阈值,比如0.1用蓝色,1.5用黄色,1.2用红色.
二楼说的太复杂,我自己写了个大概,谁帮我改改.
xmin=min(x); xmax=max(x);
ymin=min(y); ymax=max(y);
zmin=min(z); zmax=max(z);
[xx,yy]=meshgrid(linspace(xmin,xmax),linspace(ymin,ymax));
zz=griddata(x,y,z,xx,yy,'v4');
caxis([zmin zmax])
[c,h]=contour(xx,yy,zz);
3次样条方法如果需要导数的话就不适用了.建议将地球表面分割成若干大小合适的块(可能需要考虑忽略地球曲率),在块上做Delaunay剖分,然后根据Delaunay剖分做线性或二次局部Lagrange插值.这些方法做成代码的话很费事,这里就不说了.
你的问题其实是二维空间散乱数据插值,特殊之处是球面的数据插值.
至于颜色设置应该不是难事,看一下帮助文档就能搞定,不多说了.