Установить массивы из табличных данных в текстовый файл с помощью MATLAB - PullRequest
0 голосов
/ 15 октября 2011

Итак, в основном у меня есть данные в текстовом файле, например:

100 5 10 20 someval someval
200 6 20 12 someval someval
300 7 30 13 someval someval

Первые 3 токена будут использоваться как (x, y, z) координаты, а четвертое число будет использоваться длясоздайте цвет, чтобы использовать функцию прибоя (x, y, x, c).Мне нравится иметь возможность хранить другие значения в строке тоже.

Ответы [ 2 ]

2 голосов
/ 16 октября 2011

Попробуйте использовать функцию TEXTSCAN:

fid = fopen('file.txt','rt');
A = textscan(fid, '%f %f %f %d %s %s', 'Delimiter',' ');
fclose(fid);

XYZ = [A{1:3}]
clr = A{4}
valsStr = [A{5:6}]

результат:

XYZ =
   100     5    10
   200     6    20
   300     7    30
clr =
          20
          12
          13
valsStr = 
    'someval'    'someval'
    'someval'    'someval'
    'someval'    'someval'

где

>> whos XYZ clr valsStr
  Name         Size            Bytes  Class     Attributes

  XYZ          3x3                72  double              
  clr          3x1                12  int32               
  valsStr      3x2               444  cell                
1 голос
/ 16 октября 2011

Если вам нужно сделать это только один раз, и вы используете matlab с графическим интерфейсом, то вы можете просто использовать File-> import data, что довольно умно в табличных форматах.

Но если вам нужно сделать это несколько раз или сделать это частью вашей программы, то вы вызываете importdata версии командной строки.

...