matlab - griddata 在所需区域之外生成数据
问题描述
我正在尝试在点之间插入数据,如图所示 。当我使用griddata函数matlab时,插值数据超出了原始数据的边界。所需插值区域由图中的边界突出显示。有没有办法解决这个问题?
我的插值显示代码
figure2 = figure;
[x , y] = meshgrid(min(Matrixmin(:,5)):0.01:max(Matrixmin(:,5)),min(Matrixmin(:,6)):0.01:max(Matrixmin(:,6)));%graduation des x et y.
[xi,yi,zi]=griddata(Matrixmin(:,5),Matrixmin(:,6),Matrixmin(:,10),x,y);
contourf(xi,yi,zi,'edgecolor','none','LevelStep',0.01);
h=colorbar('location','Eastout');colormap('jet');
我也尝试过 interp2 函数,但结果仍然相同。
解决方案
您正在[x, y]
使用meshgrid
图像边界之外的查询点创建查询点。然后,griddata
估计zi
这些查询点的值。meshgrid
两者的行为都griddata
符合预期。如果您不希望图像边界之外的点,请使用inpolygon函数在创建后删除这些点meshgrid
。
推荐阅读
- flutter - Flutter:导航到另一个页面后列表项的数据丢失
- javascript - JavaScript - 按值排序对象但返回键
- tensorflow - 如何在 tensorflow 中读取 hive.ql.io.orc.OrcOutputFormat 表
- java - 将 PsiMethod 转换为 java.lang.reflect.Method
- vb.net - 为什么在这里设置 headerText 会退出线程,而不是抛出异常?
- c++ - C++ 添加非常大的 unsigned long 和 double
- vuejs2 - Vuejs 双向绑定数组
- ruby-on-rails - Rails 6 与 Turbolinks 和 Facebook 客户聊天
- apache-nifi - JOLT - 重新排序嵌套数组
- java - org.apache.tomcat.websocket.AsyncChannelGroupUtil 对象可能导致内存泄漏