Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Matlab - Crear matriz con datos de 1 archivo

  Imprimir  
Vista:

Crear matriz con datos de 1 archivo

Publicado por Ander (1 intervención) el 03/03/2008 10:29:49
Hola!
Tengo que crear una matriz fila a partir de unos datos existentes en un archivo .txt. ¿Cómo puedo guardarlos en una matriz? Porque de la forma en que yo lo hago creo un string que luego no puedo plotear, que es lo que realmente necesito. Yo hago lo siguiente:

---------Leo dato del archivo

m=1;
while(line(r)~=' '),
valor(m)=line(r);
r=r+1;
m=m+1;
end

----------Escribo

puntero_matriz=puntero_matriz+1;
n=1;
while (n<m), %escribimos en la matriz
puntero_matriz= puntero_matriz +1;
x(puntero_matriz)= valor(n);
n=n+1;
end

Con lo que 'x' es un string y no me sirve.

Tampoco puedo crear una matriz estática porque no siempre van a tener la misma longitud.

Espero que podáis ayudarme.

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Crear matriz con datos de 1 archivo

Publicado por Kike (304 intervenciones) el 03/03/2008 15:07:13
Creo que lo que falta es convertir la cadena de texto a número. Es decir que cada valor leído del archivo de texto es también un texto, así que para pasarlo a la matriz debe primero ser convertido a número. Supongo que en el archivo de texto hay sólo un valor en cada línea, es decir que contiene un vector columna.

Pseudocódigo:
1- Leer el archivo de texo línea por línea
2- Convertir cada valor leído en número, así:
numero=str2num(valor_leido);
3- Agregar el número a la matriz, que es un vector fila:
vector_fila(end+1)=numero;
4- Al terminar de leer todos los valores del archivo de texto, se procede a plotear.

Para ahorrar tiempo es posible hacer los pasos 2 y 3 en uno solo:
vector_fila(end+1)=str2num(valor_leido)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar