matlab函数参数中[]的含义是什么?

Blo*_*rth 0 matlab

我找到了以下函数调用:

reshape(A, 1, [])
Run Code Online (Sandbox Code Playgroud)

这使得矩阵A colum major变平.我想了解这个电话.函数文档说在A之后应该有重构矩阵的大小向量,但是在这里有一个后跟[]而不是两个向量.这是一种说法"不管它做什么,所以矩阵将有一行,我不关心宽度是什么"?

为什么Matlab会让你像这样交换两个参数?我试着用谷歌搜索并没有找到解释,我想知道这里发生了什么.

rlb*_*ond 6

[]是一个空矩阵.在许多MATLAB内置函数中,空矩阵被解释为"在此处使用默认参数"或"自动确定此值".偶尔它用于消除函数的两个含义的歧义,就像max函数一样,其中max(A,2)将每个元素A与2 进行比较并返回较大max(A,[],2)的元素,同时找到每行的最大元素.

如果您阅读了帮助reshape,您将看到以下内容:

您可以指定单个尺寸大小[]以自动计算尺寸大小,以便元素B数量与中的元素数量相匹配A.例如,如果A是10×10矩阵,则将reshape(A,2,2,[])100个元素重新整形A为2×2×25阵列.