考虑以下矩阵:
a=[1,2,3]
因此
size(a)=[1,3]
我想将第二个维度 3 分配给变量 n。最有效的方法是什么?
为什么以下内容不起作用?
[[],n]=size(a)
或
n= num2cell(size(a)){2}
最佳答案
这可能是最简单的,适用于 a
具有任意数量的维度:
n = size(a,2);
如果a
保证恰好有 2 个维度,您也可以使用
[ m, n ] = size(a);
如果您不需要第一个变量,在最新版本的 Matlab 中您可以编写
[ ~, n ] = size(a);
至于你尝试过的事情:
[[],n]=size(a)
不起作用,因为[]
不是可以分配任何内容的变量。n= num2cell(size(a)){2}
不起作用,因为你不能像在 Matlab 中那样直接索引。您需要一个临时变量:temp = num2cell(size(a)); n=temp{2}
。或处置num2cell
并执行:temp = size(a); n=temp(2)
.
关于matlab - Matlab 中的多个左侧部分赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18263226/