考虑以下矩阵:
a=[1,2,3]
因此
size(a)=[1,3]
我想将第二个维度3分配给变量n。什么是最有效的方式?
为什么以下不起作用?
[[],n]=size(a)
或
n= num2cell(size(a)){2}
答案 0 :(得分:1)
这可能是最简单的,适用于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)
。