2017-10-29 5 views
0

サイズ102x20の行列を作成して保存しました。私は今この.matファイルをロードしたいと思います。したがって、私はload('test_file.mat')というコマンドを使用しています。MATLABの.matファイルの要素をロード

私の分析のために、私はサイズ100x20のマトリックスしか必要としません。

私はループを使用すると考えましたが、この解決法はあまり時間効率的ではありません。

T=102; N=20;

for t=1:100 
    for i=1:N 
     load('test_file.mat') 
    end 
end 

マトリックスの目的の部分だけをロードする方法はありますか?

+0

なぜ行列の一部をロードしますか?私が見ているように、それはsamllマトリックスであり、読み込むために多くのスペースを必要としません。 – OmG

+0

@OmG私が使用している行列は大きくなっています。私はちょうどコードが動作するかどうかをテストするために小さな行列を使いました。私は行列の部分の不一致の問題を抱えているので、行列の一部だけを読み込む必要があります。 – Joe

答えて

1

あなたのコードはマットファイルを何度も何度も読み込んでいます。あなたは一度だけそれをロードする必要があります。あなたの行列の名前がmatであるとしましょう。あなたはそれがロードされています後、次のことができ、インデックス、例えばその行列の小さな部分を取得したい場合は

load('test_file.mat'); 

:次に、あなたのコードは次のようになります。次のように:

smaller_mat = mat(1:100, :); 

を.MATファイルからの部分的な変数を取得する方法はありませんが、あなたはロード時間を心配している場合は、最初の場所での変数の一部だけを保存することができます。または、別の形式でファイルに保存することもできます。 csv、部分的にロードすることができます。

関連する問題