Matlab - Ayuda para tratar datos de una medición en Matlab

   
Vista:

Ayuda para tratar datos de una medición en Matlab

Publicado por manuel (3 intervenciones) el 02/05/2013 22:34:24
Que tal, tengo una duda que para Uds debe ser simple, tengo un archivo .txt de una medición, tiene un encabezado de varios renglones que quiero dejar intactos.
A partir de ahí una columna de "x" y "y" separados por una coma. Sólo quiero multiplicar "y" por una constante y sumarla a "x", y reemplazarla por un nuevo valor de "x".

Alguna idea de cómo puedo ignorar todo el encabezado y a partir de ahí leer y sobreescribir esos datos en el archivo??
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
Imágen de perfil de Dave

Ayuda para tratar datos de una medición en Matlab

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 04/05/2013 09:30:43
Hola Manuel;

Muy interesante el problema lo que deseas hacer.

La idea sería que leas los datos del primer archivo, luego realices las operaciones que deseas y finalmente coloques los nuevos datos en otro archivo.

A continuación un ejemplo de como podrías pasar datos de un archivo a otro.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
fid01 = fopen('archivo01.txt');
% Archivo que contiene la información
clc
fid02 = fopen('archivo02.txt','w');
% Archivo al que se pasa la información
 
tline = fgetl(fid01);
while ischar(tline)
    disp(tline)
    fprintf(fid02,'%s\n',tline);
    tline = fgetl(fid01);
 
end
 
fclose(fid01);
fclose(fid02);



Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Ayuda para tratar datos de una medición en Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 04/05/2013 23:35:13
De que sea sencillo o no depende del conocimiento de matlab que tiene un usuario, muchas veces el termino sencillo no es tan simple como uno piensa.

Mira tu haz hecho tu pregunta la fecha 02/05/13 pero sin embargo ya pasaron dos días y aun no obtienes una respuesta adecuada a tu pregunta. Aunque tu dices que pueda que ser sencillo para las personas que te van contestar. Eso sucede porque tu pregunta es muy ambigua y no precisa. Comentas, que las primeras líneas deseas dejarlas intactas la pregunta que te hago es ¿Cuántas líneas quieres dejarlos intactos?, ¿ Como son tus datos numéricos que quieres leerlos, son enteros o son números decimales?. Y estas preguntas que te hago el vital para responderte de forma puntual a tu pregunta. Por eso menos deberías poner un extracto de tu archivo, para ver como es.
Y apartir de la informacion que brindas te puedo apoyar en forma adecuada.
Caso contrario muchas veces las respuestas que te brinden en el foro quizás no sea adecuado para el tipo de archivo que tienes, y al final vas a estar descontento con el foro.


Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Ayuda para tratar datos de una medición en Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 05/05/2013 00:12:28
Aquí un ejemplo. Adaptalo a tu data.
DATA ORIGINAL. importandodatostexto20.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Que tal tengo una duda que para Uds debe ser simple tengo un archivo txt
de una medición, tiene un encabezado de varios renglones que quiero dejar
intactos.
A partir de ahí una columna de "x" y "y" separados por una coma. Sólo
quiero multiplicar "y" por una constante y sumarla a "x", y reemplazarla
por un nuevo valor de "x".
Alguna idea de cómo puedo ignorar todo el encabezado y a partir de ahí
leer y sobreescribir esos datos en el archivo??
7.0434,7.6692
7.2951,9.3448
2.2428,1.0789
2.6905,1.8223
7.7303,0.9910
4.7749,4.8976
6.2372,1.9325
2.3644,8.9589
1.7712,0.9909
8.2964,0.4417



EL CODIGO EXCLUSIVO PARA ESTE DATA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
clear all
fid1=fopen('importandodatostexto20.txt','r');
fid2=fopen('importandodatostexto20_1.txt','w');
i=1;
k=1;
constante=10;
while 1
    linea=fgetl(fid1);
    if ~ischar(linea),
         break;
    end
 
    if k<=8
      fprintf(fid2,'%s\n',linea);
      k=k+1;
    else
      a=strfind(linea,',');
      linea(a)= ' ';
      N(i,:)=[str2double(linea(1:a-1))...
      str2double(linea(a+1:end))+constante*str2double(linea(1:a-1))];
      fprintf(fid2,'%f %f \n',N(i,:));
      i=i+1;
    end
end
edit('importandodatostexto20_1.txt')


1
2
EJECUCION
>> importandodatostexto20


DATA MODIFICADA importandodatostexto20_1.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Que tal tengo una duda que para Uds debe ser simple tengo un archivo txt
de una medición, tiene un encabezado de varios renglones que quiero dejar
intactos.
A partir de ahí una columna de "x" y "y" separados por una coma. Sólo
quiero multiplicar "y" por una constante y sumarla a "x", y reemplazarla
por un nuevo valor de "x".
Alguna idea de cómo puedo ignorar todo el encabezado y a partir de ahí
leer y sobreescribir esos datos en el archivo??
7.043400 78.103200
7.295100 82.295800
2.242800 23.506900
2.690500 28.727300
7.730300 78.294000
4.774900 52.646600
6.237200 64.304500
2.364400 32.602900
1.771200 18.702900
8.296400 83.405700




Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda para tratar datos de una medición en Matlab

Publicado por manuel (3 intervenciones) el 06/05/2013 17:22:44
Muchas gracias, deveras es de gran ayuda.
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

Ayuda para tratar datos de una medición en Matlab

Publicado por raul (2 intervenciones) el 06/05/2013 19:00:49
Y si se quisiera sacar igual en columna como estaba originalmente?
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

Ayuda para tratar datos de una medición en Matlab

Publicado por Manuel (3 intervenciones) el 06/05/2013 17:24:51
Muchas gracias deveras, recién estoy aprendiendo y me resulta muy útil ésto.
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