等高线代码无法顺利运行

标签: 问题反馈——未实现的功能

myidcn 2025-02-24 18:27:40


原网址如下:

https://ww2.mathworks.cn/help/matlab/creating_plots/highlight-specific-contour-levels-1.html


代码如下。在MATLAB可以运行,在天元不能运行。

Z = peaks(100);

zmin = floor(min(Z(:)));

zmax = ceil(max(Z(:)));

zinc = (zmax - zmin) / 40;

zlevs = zmin:zinc:zmax;

figure

contour(Z,zlevs)

zindex = zmin:2:zmax;

hold on

contour(Z,zindex,'LineWidth',2)

hold off


137 2 0 收藏 回复

回复

社区小助手 2025-02-25 #1

根据北太天元中contour函数的功能情况做一些调整即可正确绘制等高线了:第一处zlevs包含超出Z实际数据范围的层级(因floor(min(Z))可能小于实际最小值),需使用min(Z(:))和max(Z(:))直接获取数据范围;第二处zinc计算可能使zlevs末位略微超过zmax(如zmax=8.0但实际数据最大为7.999),需要修改求zlevs的方式使得确保不越界,比如lQLPJw64yzjibl_NArzNAyCwXy7BTUjo1L8HoLHV8C31AA_800_700.png

大提琴手 2025-02-25 #2

我测试的问题在于zlevs的最小值和最大值超出了Z的范围,感觉contour函数应该报告一个警告,但是依然执行命令较好。


回复

重置 提交