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

MATLAB创建方形网格图时如何消除‘鱼缸’效应实现边等长规整

MATLAB方形网格图规整化实现方法

现象说明

使用默认参数绘制方形网格图时会出现边缘向内收缩的“鱼缸”弯曲效应,无法保证所有边长度一致、网格均匀规整。

原因

MATLAB的graph对象默认采用力导向布局算法,该算法会优先避免节点和边重叠,导致边缘节点出现位置偏移,破坏网格的规整性。

解决方案

方案1:手动指定节点坐标(精度最高)

直接生成对应尺寸的网格坐标传入绘图参数,完全控制节点排布:

n = 8;
A = delsq(numgrid('S',n+2));
G = graph(A,'omitselfloops');
% 生成n×n网格的坐标矩阵
[x,y] = meshgrid(1:n,1:n);
% 绘图时传入坐标,同时设置坐标轴等比例避免拉伸
p = plot(G,'XData',x(:),'YData',y(:));
axis equal

方案2:指定网格布局(操作最简)

不需要手动计算坐标,直接调用内置网格布局即可:

n = 8;
A = delsq(numgrid('S',n+2));
G = graph(A,'omitselfloops');
p = plot(G,'Layout','grid');
axis equal

两种方案都可以实现完全规整的方形网格效果,所有边长度一致,无弯曲变形。

内容的提问来源于stack exchange,提问作者emily susan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:36:02