我有一个矩阵可以说:
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_1
,x_2
,x_3
。我知道如何提取行但我不知道如何制作x_1
,x_2
和x_3
。 我希望这是自动,因为我的真实矩阵尺寸非常大,我不想手工制作x_1 x_2 .. x_100
。
答案 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'来指示应在函数的工作空间中创建变量。