Matlab 将变量传递给具有可变长度输入参数的函数
使用Matlab 将变量传递给具有可变长度输入参数的函数,matlab,Matlab,使用varargin从输入参数(需要插入对角线的每个矩阵)构造块对角线矩阵 out=blkdiag(a,b,c,d,…),其中a,b,c,d,…是矩阵, 输出形式为的块对角矩阵 假设我有一个矩阵单元数组(或其他数据结构);我将如何将其提供给类似于blkdiag的函数?使用{:}为函数展开它: blocks = cell(2); blocks{1} = rand(2); blocks{2} = rand(2); out = blkdiag(blocks{:}) 答复: out = 0.678
varargin
从输入参数(需要插入对角线的每个矩阵)构造块对角线矩阵
out=blkdiag(a,b,c,d,…)
,其中a,b,c,d,…
是矩阵,
输出形式为的块对角矩阵
假设我有一个矩阵单元数组(或其他数据结构);我将如何将其提供给类似于
blkdiag
的函数?使用{:}为函数展开它:
blocks = cell(2);
blocks{1} = rand(2);
blocks{2} = rand(2);
out = blkdiag(blocks{:})
答复:
out =
0.6787 0.7431 0 0
0.7577 0.3922 0 0
0 0 0.6555 0.7060
0 0 0.1712 0.0318
该死我刚找到答案。啊,好吧…@Phonon:这通常不是一个好的形式:)但是它确实能给那些寻求帮助的人提供好的信息。@Jacob:我不同意。我认为对你自己的问题发表一个好的答案是完全可以的。@Jonas:是的,当然可以,但我个人更喜欢这样做,如果我的答案更好/仍然没有答案。