这是代码 .
>> a=ones(1,10);
>> b=size(a);
>> repmat(1,b)
ans =
1 1 1 1 1 1 1 1 1 1
>> repmat(1,(1,10))
repmat(1,(1,10))
|
Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.
有谁知道为什么?为什么错误就是那样?谢谢 .
3 回答
Repmat用于创建具有n个重复的源数组副本的数组(A) . 因此,第二个参数是一个单一的标量,用于定义第一个参数A的副本数 .
您可以使用向量作为第二个参数,但它定义了结果在不同维度中的副本数 . 语法将是:repmat(1,[1 10])
表达式
size(a)
返回[1 10]
,而不是(1,10)
. 所以相当于:这是一些有用的文档:
Matrices and Arrays
The size function
The repmat function
与示例代码完全等效的是
repmat(1,size(ones(1,10)))
. 或者你可以使用repmat(1,[1,10])
,对于数组构造你必须使用[]
,圆括号()
仅用于函数调用和索引 .