I have a matrix lets say:
A=[1 2 1; 5 6 7; 7 8 9]
and I want to extract its rows in the following format:
x_1=[1 2 1] x_2=[5
You can try the following:
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
The code iterates through every row of A, creates the variable name (as per your format) and then assigns a variable in the MATLAB base workspace ('base') with its data being the ith row of A.
If doing this from a function, rather than using 'base' use 'caller' to indicate that the variables should be created in the workspace of the function.