• Viernes 26 de Abril de 2024, 18:32

Autor Tema:  Abrir un archivo para crear graficos  (Leído 1284 veces)

Goldberry

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Abrir un archivo para crear graficos
« en: Viernes 19 de Febrero de 2010, 00:43 »
0
Ola a todos,

soy portuguesa e por eso espero que me perdonáis la escrita que empleo, que pude que no sea la mejor.
Mi problema es el siguiente, tras abrir un archivo de txt con el siguiente código en matlab:

r=0;
x=0;

fid = fopen('output.txt','r');

while(x~=(-1))
x=fgetl(fid);
disp(x)
r=r+1;
end
r = r-1;

disp(['Number of rows = ' num2str(r)])

fclose(fid);

me aparece un texto así, con los datos de todos los estados de EUA:

State,Acronym,Total,Geothermal,Hydro-electric,MSW/Landfill Gas,Biomass,Solar,Wind,Wood/Wood waste
United States,USA,356.479,14.093,275.573,20.305,2.826,493,5.593,37.595
Alabama,AL,9.894,0,5.818,4,25,0,0,4.047
Alaska,AK,1.002,0,1.002,0,0,0,0,0
Arizona,AZ,8.359,0,8.354,0,5,0,0,0
Arkansas,AR,3.965,0,2.370,0,7,0,0,1.587
California,CA,60.837,12.308,38.334,1.938,673,493,3.518,3.574
.......
.......

E tengo que crear, por ejemplo, un gráfico de barras com el porcentaje de totales
producidos por fuente renovable en los EUA.

Como creo una matriz de estos datos?

Si me pudieran ayudar estaría muí agradecida

allisap

  • Miembro MUY activo
  • ***
  • Mensajes: 259
  • Nacionalidad: mx
    • Ver Perfil
Re: Abrir un archivo para crear graficos
« Respuesta #1 en: Domingo 7 de Marzo de 2010, 04:23 »
0
Portuguesa eh, pues bienvenida a este foro, y espero que te podamos ayudar :D:D:D

creo que puedes ir leyendo linea a linea usando fscanf

y si las lineas de texto son siempre iguales por ejemplo : "texto", numero1, numero2, numero3, numero4

puedes usar

fid = fopen('output.txt'', 'r');
texto=fscanf(fid,'%s',1)
datos=fscanf(fid,'%f %f %f %f ',4);     %4 datos, pueden ser mas

tal vez se pueda leer todo en una sola linea pero necesaria probarlo,
si tienen un archivo de ejemplo seria muy util

saludos

Victor Pasilla
Puebla, Pue.
México