如何在MATLAB中实现等高线图仅显示下三角的特定形状
解决MATLAB contourf仅显示下三角部分的方法
第一步:构建掩码矩阵
若你的Z是n×n方阵(对应长度相同的x、y向量),可以用tril快速生成下三角掩码,将上三角区域设为NaN(MATLAB绘图会自动忽略NaN区域):% 生成下三角为1、上三角为0的掩码矩阵 mask = tril(ones(size(Z))); Z_masked = Z; % 把上三角区域赋值为NaN Z_masked(mask == 0) = NaN;若x、y长度不同,可先通过网格矩阵精准定义下三角范围:
[X, Y] = meshgrid(x, y); % 根据需求设定下三角逻辑条件,示例为Y ≤ X的区域 mask = Y <= X; Z_masked = Z; Z_masked(~mask) = NaN;第二步:绘制处理后的等高线图
直接使用掩码后的矩阵绘图即可:contourf(x, y, Z_masked);
内容的提问来源于stack exchange,提问作者Bibigul
相关产品推荐
相关产品推荐

