出于某些目的,我想提供一个外部文本文件作为我的一个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 结构的字段,而第二个元素是相关参数。
目前,我正在使用一种非常静态和糟糕的方式来实现我的目标:
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)));
我相信存在更好的方法来做同样的事情:我希望你能和我分享一个。