首页 文章

为什么repmat(1,(1,10))在matlab中不起作用? [关闭]

提问于
浏览
-5

这是代码 .

>> 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 回答

  • 0

    Repmat用于创建具有n个重复的源数组副本的数组(A) . 因此,第二个参数是一个单一的标量,用于定义第一个参数A的副本数 .

    您可以使用向量作为第二个参数,但它定义了结果在不同维度中的副本数 . 语法将是:repmat(1,[1 10])

  • 3

    表达式 size(a) 返回 [1 10] ,而不是 (1,10) . 所以相当于:

    repmat(1, [1 10]);
    

    这是一些有用的文档:

  • 6

    与示例代码完全等效的是 repmat(1,size(ones(1,10))) . 或者你可以使用 repmat(1,[1,10]) ,对于数组构造你必须使用 [] ,圆括号 () 仅用于函数调用和索引 .

相关问题