读取数据并将其保存在单个矩阵中

时间:2013-06-06 14:36:12

标签: matlab

我有.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
************************************************************************

2 个答案:

答案 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);