我有.dat文件,我希望matlab在'REQUESTS / DURATIONS:'部分读取数据并将它们保存在单个矩阵中(32,7)。我不知道使用哪个功能,我不知道该怎么做。请帮帮我。
file with basedata : j30_17.bas
initial value random generator: 79602564
projects : 1
jobs (incl. supersource/sink ): 32
horizon : 141
RESOURCES
- renewable : 4 R
- nonrenewable : 0 N
- doubly constrained : 0 D
REQUESTS/DURATIONS:
jobnr. mode duration R 1 R 2 R 3 R 4
------------------------------------------------------------------------
1 1 0 0 0 0 0
2 1 1 0 0 0 5
3 1 1 0 3 0 0
4 1 1 8 0 0 0
5 1 7 0 0 2 0
6 1 6 0 0 0 3
7 1 4 1 0 0 0
8 1 5 0 0 10 0
9 1 8 0 0 3 0
10 1 7 0 0 0 1
11 1 8 9 0 0 0
12 1 1 7 0 0 0
13 1 2 0 3 0 0
14 1 3 0 0 0 6
15 1 10 0 7 0 0
16 1 10 3 0 0 0
17 1 2 0 0 3 0
18 1 10 0 0 4 0
19 1 1 0 0 0 3
20 1 1 0 0 7 0
21 1 7 0 2 0 0
22 1 9 0 0 0 10
23 1 9 0 0 7 0
24 1 4 0 4 0 0
25 1 4 0 3 0 0
26 1 1 0 0 4 0
27 1 1 9 0 0 0
28 1 8 0 0 0 9
29 1 1 0 0 0 1
30 1 2 0 8 0 0
31 1 7 0 4 0 0
32 1 0 0 0 0 0
************************************************************************
RESOURCEAVAILABILITIES:
R 1 R 2 R 3 R 4
10 8 13 12
************************************************************************
答案 0 :(得分:0)
我不确定旧版本,但2013a可以通过右键单击“当前文件夹”面板下的文件并选择“导入数据...”来导入文本文件。导入向导将打开,允许您选择要导入的数据范围。选择矩阵选项,然后单击“导入选择”。
要保存矩阵,只需使用save
命令。
这种方法适用于您需要快速阅读的单个文件,但不适用于大型重复性任务。
答案 1 :(得分:0)
如果你跳过标题,一旦实际的数据类型与格式中指定的数据不一致,即当所有这些星号开始时,textscan()
将停止读取文件:
fid = fopen('C:\...\test.txt');
data = textscan(fid, '%f%f%f%f%f%f%f','HeaderLines',15);
fclose(fid);