【发布时间】:2014-01-27 09:14:46
【问题描述】:
matlab中contourf函数中轮廓的默认值是什么?
例如:
Z = peaks(20);
contourf(Z);
这些轮廓分别代表什么?如果我没有在 contourf 中指定第二项,例如contourf(Z,10) 将给出 10 条等高线,matlab 如何选择等高线的数量?
【问题讨论】:
matlab中contourf函数中轮廓的默认值是什么?
例如:
Z = peaks(20);
contourf(Z);
这些轮廓分别代表什么?如果我没有在 contourf 中指定第二项,例如contourf(Z,10) 将给出 10 条等高线,matlab 如何选择等高线的数量?
【问题讨论】:
您可以在第 25 行附近的 MATLABROOT\toolbox\matlab\specgraph\@specgraph\@contourgroup\refresh.m 中查找计算初始轮廓级别步长的详细算法。
基本上,Matlab 将范围划分为大约 10 个步骤,但会根据 z 值范围的确切值稍微调整该数字。
【讨论】:
没有默认值。您正在使用以下方法定义轮廓数: Z=峰(20); 这实际上返回了一个 20x20 [m,n] 的峰值矩阵,该矩阵存储在 Z 中。
x 轴和 y 轴的范围取决于数组 Z 的大小。
等高线的数量和等高线的值取自Z数组内部的峰值的最小值和最大值。
Z 数组填充了 peaks() 函数,该函数使用正态分布(或高斯分布)。
作为文档 contourf 函数说: 等高线的数量和等高线的值是根据Z的最小值和最大值自动选择的。x轴和y轴的范围是[1:n]和[1:m ],其中 [m,n] = 大小(Z)。
【讨论】: