1

したがって、ここでの考え方は、データを行列に読み込み、余分な列または行を削除してその行列を正方行列にしますが、ループをまったく使用せず、if/else を使用せずにベクトル化することです。これは可能ですか?

これは、ループとif/elseで行った方法です

load file.dat
r = num2str(size('file',1))
c = num2str(size('file',2))
while (r~=c) 
    if (r>c)
        r--
    else (c>r)
        c--
end
res = file(1:r,1:c)
save('squarefile.dat', 'res', '-ascii')

ありがとうございました

4

1 に答える 1

4

Anxm の大きさの行列が与えられた場合B、 から余分な列または行 (どちらの次元が大きいかに応じて) を削除することにより、正方行列である行列を作成しAます。

B=A(1:min(size(A)),1:min(size(A)));

ちなみに、この行は、余分な情報A=A(1:min(size(A)),...)を上書きして削除するかのように書くこともできます...A

于 2013-02-15T07:54:19.737 に答える