MATLAB中的整形

MATLAB中的整形,matlab,dimensions,reshape,Matlab,Dimensions,Reshape,如果我们在MATLAB中看到以下代码行: 这里,数据集{j}似乎是单元格数组中的一个元素。是这样吗?因为我们使用的是重塑,我们可以说该元素是一个数组吗? 当我们使用重塑时,我们定义尺寸,即:;m、 n。在上面的代码中,m=1和n=200*200?但是,为什么n不写为400呢?用我们看到的语法写它有什么原因吗? 谢谢。数据集是一个单元格数组,但不能假定数据集{j}是一个数组。重塑也适用于字符串和单元格数组: reshape({1,2,3,4},2,2) ans = [1] [3]

如果我们在MATLAB中看到以下代码行:

这里,数据集{j}似乎是单元格数组中的一个元素。是这样吗?因为我们使用的是重塑,我们可以说该元素是一个数组吗? 当我们使用重塑时,我们定义尺寸,即:;m、 n。在上面的代码中,m=1和n=200*200?但是,为什么n不写为400呢?用我们看到的语法写它有什么原因吗? 谢谢。

数据集是一个单元格数组,但不能假定数据集{j}是一个数组。重塑也适用于字符串和单元格数组:

reshape({1,2,3,4},2,2)

ans =

    [1]    [3]
    [2]    [4]

>> reshape('abcd',2,2)

ans =

ac
bd

没有明显的理由写200*200,除非200对于理解计算的内容很重要

你的意思是200*200=40000而不是400。数据集{j}大概是一个任意数据类型的正方形数组。通过将200*200替换为[]可实现等效平坦化。也许作者想强调维度,不管莫莉怀疑是什么原因;或者,他们可能对[]功能不了解/漠不关心,也不会费心计算和硬编码产品。
reshape({1,2,3,4},2,2)

ans =

    [1]    [3]
    [2]    [4]

>> reshape('abcd',2,2)

ans =

ac
bd