You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB中保存数据点Z值并筛选等高线内数据?

MATLAB筛选等高线内部数据点解决方案

问题背景

已通过MATLAB计算得到二维密度场Z,并绘制出Z=4e-5的红色等高线,需筛选出givenData中位于该等高线内部的点,剔除外部点。

解决方案

核心思路是通过插值获取每个数据点对应的Z值,再与阈值4e-5比较,判断点是否位于等高线内部:

  1. 插值获取数据点对应的Z值
    使用interp2函数对givenData中的每个点进行Z值插值,匹配生成Z的网格xgrid和ygrid:
% 对给定数据点进行线性插值,得到对应Z值;超出网格范围的点返回0
Z_interp = interp2(xgrid, ygrid, Z, givenData(:,1), givenData(:,2), 'linear', 0);
  1. 筛选内部点
    根据插值得到的Z值与阈值比较,筛选出内部点(默认等高线内部为Z≥4e-5的区域,若业务逻辑为内部Z更小,可修改判断条件):
% 筛选位于等高线内部的点
innerPoints = givenData(Z_interp >= 4e-5, :);
% 可选:获取外部点
outerPoints = givenData(Z_interp < 4e-5, :);
  1. 验证结果(可选)
    绘制图形验证筛选结果,内部点用红色标记:
figure;
plot(givenData(:,1), givenData(:,2), 'b.', 'MarkerSize', 3); hold on;
contour(xgrid,ygrid,Z,[4e-5, 4e-5],'EdgeColor',[1 0 0],'ShowText','on','LineWidth',2);
plot(innerPoints(:,1), innerPoints(:,2), 'r.', 'MarkerSize', 5);
hold off;

内容的提问来源于stack exchange,提问作者Arjun Krishnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:05:14