输出几个矩阵的Matlab代码

时间:2012-01-03 13:28:28

标签: matlab

我试图编写一个Matlab代码,给定一个矩阵,输出3个矩阵(根据一些规则)。我很难让它工作 - 我无法输出带有矩阵作为条目的向量。我收到错误消息:

  

???在赋值A(I)= B中,B和I中的元素数   必须是一样的。

我该怎么做呢?

3 个答案:

答案 0 :(得分:4)

你可以写

function [A B C] = myFunction(X)
    A = X;
    B = 2 * X;
    C = 3 * X;
end

并用

调用它
[a b c] = myFunction(ones(2))

如果您不想要所有输出,只需用

调用即可
a = myFunction(ones(2))

[a b] = myFunction(ones(2))

只获得第一个参数,或者只获得前两个参数。

答案 1 :(得分:1)

您也可以使用单元格:

A=cell(1,3); %% or A=cell(1,2); if you want to output only 2 matrices
A{1}=B;
A{2}=C;
A{3}=D;

如果你的矩阵都有相同的大小,你也可以连接它们:

A=zeros(m,n,3);
A(:,:,1)=B;
A(:,:,2)=C;
A(:,:,3)=D;

答案 2 :(得分:0)

功能声明:

 function [A, B, C] = something (Input_mat)
 %Do whatever needs to be done here, for example:
 A= Input_mat;
 B= Input_mat';
 C= ones(18);

然后当你用它来调用它时:

 [A,B,C] = something (Some_mat)

A,B和C被填满。