深入探究 MATLAB 高维数组的使用与操作
1. 高维数组的延迟求值
高维数组(Tall Arrays)与内存中的 MATLAB 数组的一个显著区别在于,高维数组通常在你请求执行计算之前保持未求值状态。不过,像 plot 和 histogram 这样的绘图函数,以及 fitlm 等一些统计拟合函数是例外,它们会自动对高维数组输入进行求值。
在高维数组处于未求值状态时,MATLAB 可能不知道其大小、数据类型或具体包含的值。但你仍然可以在计算中使用未求值的数组,就好像这些值是已知的一样。这使得你可以快速处理大型数据集,而无需等待每个命令执行。因此,建议仅在需要输出时使用 gather 函数。
MATLAB 会跟踪你对未求值高维数组执行的所有操作。当你最终调用 gather 来计算排队的操作时,MATLAB 会利用未求值命令的历史记录来优化计算,通过减少对数据的遍历次数。如果使用得当,这种优化可以通过消除对大型数据集的不必要遍历来节省大量的执行时间。
1.1 未求值高维数组的显示
未求值高维数组的显示方式取决于 MATLAB 对数组及其值的了解程度。显示中反映了三个信息:
- 数组大小 :未知的维度大小在显示中用变量 M 或 N 表示。如果所有维度大小都未知,则大小显示为 M×N×... 。
- 数组数据类型
MATLAB高维数组操作详解
超级会员免费看
订阅专栏 解锁全文
3113

被折叠的 条评论
为什么被折叠?



