2011-11-23 25 views
6

Estoy tratando de leer algunos valores de un archivo en un programa de octava (sospecho que matlab es similar), pero no estoy seguro de cómo hacerlo.Leer y analizar el archivo de texto en octava/matlab

que tienen archivo de entrada en la forma:

x y 
A B C 
a_11 ... a_1n 
a_21 .. a_2n 
... 
a_m1 ... a_mn 

donde x, y son dobles, A, B, C son números enteros, y a_11 ... a_mn es una matriz.

Vi ejemplos de cómo leer en solo la matriz, pero ¿cómo puedo leer cosas mezcladas como esta?

Respuesta

8

En mi opinión, esta no es una buena manera de almacenar datos. Pero octava ofrece la funcionalidad de leer esto también con dlmread:

data = dlmread (file, sep, r0, c0) 
data = dlmread (file, sep, range) 

Si usted tiene este archivo de texto test.csv:

1 2 
1.1 2.2 3.3 4.4 
1 2 3 
4 5 6 
7 8 9 

se puede leer en sus datos como este:

integers = dlmread('test.csv', '', [0 0 0 1]); 
floats = dlmread('test.csv', '', [1 0 1 3]); 
matrix = dlmread('test.csv', '', 2, 0); 
Cuestiones relacionadas