matlabコードと同じフォルダーにテキストファイルがありますmatlab.in
。その内容は次のとおりです。
training_set = [1 2 3; 4 5 6]
この行列をという変数に読み込むにはどうすればよいtraining_set
ですか?
テキストファイルには、実行可能なMatlabステートメントが含まれています。training_set.m
おそらく、名前を(接尾辞が重要です)のような名前に変更し.m
、コマンドラインから実行して単に「読み取る」ことができます。私のマシンでは、「コマンド」
>> training_set
応答を生成します
training_set =
1 2 3
4 5 6
そして、ちょっとプレスト、変数training_set
は今あなたのワークスペースに安全に閉じ込められています。
ここで、最初の(?)Matlabスクリプトを作成したことを祝福し、この重要なトピックを確認するためのドキュメントにアクセスして報酬を与えてください。
まず、次を使用して開きますfopen(...)
。
fid = fopen('matlab.in');
次に、ファイルからその行を読み取り、ファイルを再度閉じます。これは、もう必要ないためです。
content = fgetl(fid);
fclose(fid);
第三に、ファイルから読み取られた文字列を評価します。
eval(content);
出力を抑制したい場合は、テキストファイルの最後にセミコロンを追加するか、代わりに次を使用することをお勧めします。
eval(strcat(content,';'));
file1.txt: 1 2 3 4 5 6 7 8
10 20 30 40 50 60 70 80
[fileID,errmsg] = fopen('file1.txt')
val= textscan(fileID, '%u8')
z = transpose(cell2mat(val))
vec = transpose(reshape(z, [8 2]))
...
Gives you
vec =
2×8 uint8 matrix
1 2 3 4 5 6 7 8
10 20 30 40 50 60 70 80