将矩阵的行转换为向量

时间:2014-05-29 23:42:43

标签: matlab matrix row

我有一个矩阵可以说:

A=[1 2 1; 5 6 7; 7 8 9]

我希望以下列格式提取其行:

x_1=[1 2 1] x_2=[5 6 7] x_3=[7 8 9]

我想知道如何撰写x_1x_2x_3。我知道如何提取行但我不知道如何制作x_1x_2x_3我希望这是自动,因为我的真实矩阵尺寸非常大,我不想手工制作x_1 x_2 .. x_100

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:

m = size(A,1);

for i=1:m
    % set the variable name
    varName = sprintf('x_%d',i);

    % create and assign the variable in the base workspace
    assignin('base',varName,A(i,:));
end 

代码遍历 A 的每一行,创建变量名称(根据您的格式),然后在MATLAB基础工作区('base')中分配一个变量,其数据为第i个一行 A

如果从函数执行此操作,而不是使用'base',请使用'caller'来指示应在函数的工作空间中创建变量。