这是代码。
>> 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 [.
有谁知道为什么?为什么错误就是那样?谢谢。
答案 0 :(得分:6)
表达式size(a)
返回[1 10]
,而不是(1,10)
。所以相当于:
repmat(1, [1 10]);
以下是一些有用的文档:
答案 1 :(得分:3)
与示例代码完全等效的是repmat(1,size(ones(1,10)))
。或者,您可以使用repmat(1,[1,10])
,对于必须使用[]
的数组构造,圆括号()
仅用于函数调用和索引。
答案 2 :(得分:0)
Repmat用于创建一个包含n个重复的源数组副本的数组(A)。因此,第二个参数是一个单一的标量,用于定义A的副本数量,即第一个参数。
您可以将矢量用于第二个参数,但它定义了结果在不同维度中的副本数。语法将是:repmat(1,[1 10])