在matlab中,
[a,b] = size(A) 可以 ,其中size(A)返回A的行,列元素个数,比如说size(A)返回1,2
而 [a,b] = [1,2]不行呢。
1.[a,b] = size(A)是表示size函数的返回值,在size函数的返回参数中已经设置了这样的返回形式,具体在函数中已经分别将1,2,赋值给a,b了。所以可以这样做;
2. [a,b] = [1,2]是赋值语句,但是MATLAB语言中没有这样的赋值形式,或者说这样的赋值语句不合逻辑,这样的语句严格推敲是有歧义的,因为矩阵也是一个常量。不知道这样说能理解吗?
matlab批量赋值可以使用deal函数:
[a,b] = deal(1),即a=b=1;
[a,b] = deal(1,2),即a=1,b=2;
可以这样赋值:
x={1 2};
[a,b]=x{:}
a =
1
b =
2