0

基本的に、次のようなテキストファイルにデータがあります。

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

最初の 3 つのトークンは (x, y, z) 座標として使用され、4 番目の数値は surf(x,y,x,c) 関数を使用する色を作成するために使用されます。他の値も行に保存できるのが好きです。

4

2 に答える 2

2

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                
于 2011-10-15T20:59:09.593 に答える
1

これを 1 回だけ行う必要があり、GUI で matlab を使用している場合は、 File->import data を使用するだけで済みます。これは、表形式に関して非常にスマートです。

ただし、これを繰り返し実行する必要がある場合、またはプログラムの一部にする必要がある場合は、コマンド ライン バージョンの importdata を呼び出します。

于 2011-10-16T08:43:03.917 に答える