如何提取序列矩阵元素?
问题描述:
我具有矩阵如下面的:如何提取序列矩阵元素?
A=[2;1;8;5;4;7]
现在我需要矩阵A提取到2份:
newpoint=[2];
rest=[1;8;5;4;7];
然后再次应用循环,以提取第二列作为新的点:再次
newpoint=[1];
rest=[2;8;5;4;7];
应用环路采取第三列号为新的起点:
newpoint=[8];
rest=[2;1;5;4;7];
取行序列中的数字直到最后一行。 有人可以提供足够的帮助。谢谢!
答
类似的东西可能会做:
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
答
我会去这样的事情:
for i = 1:size(A,1)
newpoint = A(i,1)
rest = A;
rest(i) = [];
%# use rest and newpoint
end
或者如果你喜欢保存所有rest
和newpoint
S IN矩阵:
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
您正在混合matlab语法和其他语言的语法! Matlab使用'()'来访问向量和矩阵的元素,而不是'[]'。 – ThijsW 2013-02-23 14:21:32
是的,你是对的,我的错误。 – sfotiadis 2013-02-23 21:32:11