我有一个矩阵,如下所示:
A=[2;1;8;5;4;7]
现在我需要将矩阵A提取为两部分:
newpoint=[2];
rest=[1;8;5;4;7];
然后再次应用循环以将第二列提取为新点:
newpoint=[1];
rest=[2;8;5;4;7];
再次应用循环将第三列编号作为新点:
newpoint=[8];
rest=[2;1;5;4;7];
获取行序列中的数字,直到最后一行。 有人可以帮助。谢谢!
答案 0 :(得分:1)
可能会这样:
for i=1:length(A)
newpoint = A(i);
if i==1
rest = A(i+1:end);
else
if i== length(A);
rest = A(1:end-1);
else
rest=A(1:i-1,i+1:end);
... stuff to do
end
答案 1 :(得分:1)
我会选择这样的事情:
for i = 1:size(A,1)
newpoint = A(i,1)
rest = A;
rest(i) = [];
%# use rest and newpoint
end
或者,如果您希望将所有rest
和newpoint
保存在矩阵中:
newpoint = zeros(size(A,1),1);
rest = zeros(size(A,1)-1,size(A,1));
for i = 1:size(A,1)
newpoint(i) = A(i,1);
temp = A;
temp(i) = [];
rest(:,i) = temp;
end