在Matlab中获取函数的多个输出

时间:2017-11-22 19:30:28

标签: matlab function

我使用的函数可能会返回超过3或4的输出,这使得很难将这些数字/矩阵逐个分配给用户定义的变量。这是一个例子:

k = fix(log2(length(s)))
[c,l] = wavedec(s,k,'db1');
[cd1,cd2,cd3, ... , cdk] = detcoef(c,l,1:k);
在这个例子中,

k是22。如何通过不写入1到22的所有CD来获得这些输出?

1 个答案:

答案 0 :(得分:1)

不要创建这些动态变量。只需使用:

D = detcoef(c,l,1:k);

这将创建一个单元格数组,其内容与cd1cd2,...,cdk的内容分别位于第1,第2,...,第k个索引。分别使用D{1}D{2},...,D{k}访问它们。