いくつかの目的のために、関数の 1 つの入力として外部テキスト ファイルを提供したいと考えていMATLAB
ます。
通常、このテキスト ファイルは次のレイアウトを示します。
-----------------------------------------------------
HubHt = 90;
GridWidth = 220;
GridHeight = 220;
Ny = 35;
Nz = 37;
Nfft = 8192;
time = 620;
Uhub = 15;
Coherence = Bladed;
-----------------------------------------------------
それを読むために、私は現在このコードを呼び出しています:
fid = fopen('test.inp','r+');
A = textscan(fid,'%s','Delimiter',';','commentStyle', '-','CollectOutput',1);
fclose(fid);
A = A{1};
inputs = regexp(A,' = ','split');
最後の変数inputs
は<9x1>
セルになります。各要素は<1x2>
セルになります。
セルの最初の要素は<1x2>
INPUT 構造体全体のフィールドであると想定され、2 番目の要素は関連付けられたパラメータです。
現時点では、目標を達成するために非常に静的でひどい方法を使用しています。
inp = struct(char(inputs{1}(1)),str2double(inputs{1}(2)),char(inputs{2}(1)),str2double(inputs{2}(2)),char(inputs{3}(1)),str2double(inputs{3}(2)),char(inputs{4}(1)),str2double(inputs{4}(2)),char(inputs{5}(1)),str2double(inputs{5}(2)),char(inputs{6}(1)),str2double(inputs{6}(2)),char(inputs{7}(1)),str2double(inputs{7}(2)),char(inputs{8}(1)),str2double(inputs{8}(2)),char(inputs{9}(1)),char(inputs{9}(2)));
同じことを行うためのより良い方法が存在すると思います.1つを共有していただければ幸いです.