0

以下に示すようなマトリックスがあります。

A=[2;1;8;5;4;7]

ここで、行列 A を 2 つの部分に抽出する必要があります。

newpoint=[2];
rest=[1;8;5;4;7];

次に、ループを再度適用して、2 番目の列を新しいポイントとして抽出します。

newpoint=[1];
rest=[2;8;5;4;7];

ループを再度適用して、3 番目の列番号を新しいポイントとして取得します。

newpoint=[8];
rest=[2;1;5;4;7];

最後の行まで行の順序で番号を取得します。誰か親切に助けてくれませんか.Thanks!

4

2 に答える 2

1

私は次のようなものに行きます:

for i = 1:size(A,1)
    newpoint = A(i,1)
    rest = A;
    rest(i) = [];
    %# use rest and newpoint
end

restまたは、すべてのandnewpointをマトリックスに保存したい場合は、次のようにします。

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
于 2013-02-23T14:17:42.300 に答える
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
于 2013-02-23T10:49:00.533 に答える