Matlab - cargar archivo.txt y guardar columnas como vectore

 
Vista:

cargar archivo.txt y guardar columnas como vectore

Publicado por Rober (1 intervención) el 08/08/2006 11:05:49
Hola, tengo un problema. A ver si alguien me puede ayudar, igual es una tontería pero me estoy volviendo loco.
Tengo un Archivo.txt con 15 columnas de datos y unas 50000 filas, la primera de esas columnas es una cadena de caracteres ('pepito') el resto de los datos son números.
Quiero cargar ese archivo y guardar algunas columnas como variables:
He probado algo así:

load archivo.txt
columna2=archivo(:,2);
columna4=archivo(:,4);
...etc

y obtengo:

??? Error using ==> load
Unknown text on line number 1 of ASCII file C:\MATLAB7\work\archivo.txt
"pepito"
He visto que modificando la primera columna de archivo.txt y poniendo numeros en lugar de la cadena de caracteres si funciona, pero ese archivo no debo modificarlo.

he probado tambien con fopen, fscanf pero no me aclaro con la sintaxis...

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder

RE:cargar archivo.txt y guardar columnas como vect

Publicado por s (1 intervención) el 21/08/2006 23:41:14
load('archivo.txt') y guarda el archivo en la carpeta work
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

RE:cargar archivo.txt y guardar columnas como vect

Publicado por lll (1 intervención) el 07/10/2007 22:14:30
usa importdata
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

cargar archivo.txt y guardar columnas como vect

Publicado por Plutarco (3 intervenciones) el 22/10/2007 01:18:15
efectivamente tengo el mismo problema si lo llegas a solucionar por favor te agradezco el dato.
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

cargar archivo.txt y guardar columnas como vect

Publicado por Plutarco (3 intervenciones) el 22/10/2007 01:21:02
efectivamente tengo el mismo problema si lo llegas a solucionar por favor te agradezco el dato.
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

RE:cargar archivo.txt y guardar columnas como vect

Publicado por Rl (14 intervenciones) el 23/10/2007 21:51:55
Hola, hace ya tiempo de ello.. pero creo recordar que usé la función TEXTSCAN, busca en las ayudas de matlab, creo que te defines los tipos de datos que vas a tener en cada columna y te los carga.

Era algo así.

fid=fopen (archivo,'r') %abre el archivo cuyo nombre hemos introducido y está contenido en variable archivo
tabla=textscan (fid,'%s %s %s %f32 %f32 %f32 %f32 %f32 %f32 %f32 %f32 %f32 %d16 %d16 %f32');
fclose (fid)
col1=tabla{1};%asigno cada columna de salida a la variable correspondiente
col2=tabla{2};% "
col3=tabla{3};

Espero que te ayude. Suerte
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

RE:cargar archivo.txt y guardar columnas como vect

Publicado por Benigno Hernandez (1 intervención) el 16/11/2007 21:23:22
Usa la funcion "textread" de la siguiente manera:

[a,b,c,d,e,f,g,h]=textread('hipotetico.txt','%s %s %s %s %s %s %s %s')

A cada columna de la tabla le coloque un nombre: (a,b,c,d,e,f,g,h)

En el cason de 8 columnas se tomaran los valores como string
luego puede usar la funcion "str2double"

Recuerda str2double('12.2358') = 12.2358

Esta funcion aplicasela a los valores que necesitas para trasformarlos en numeros
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

RE:cargar archivo.txt y guardar columnas como vect

Publicado por camilo gonzalez (2 intervenciones) el 27/05/2014 06:19:21
buenas noches su respuesta me ha servido de mucha utilidad pero tengo una pregunta: los símbolos %s ¿quieren decir string? y lo otro es si yo quiero que me los lea como enteros o decimales que símbolo coloco en vez de %s muchas gracias
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

RE:cargar archivo.txt y guardar columnas como vect

Publicado por pablo (1 intervención) el 30/09/2008 02:09:23
cambia las comas del archivo por puntos (matlab interpreta puntos no comas)
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

RE:cargar archivo.txt y guardar columnas como vect

Publicado por Justo Flavio (1 intervención) el 18/09/2009 18:42:37
en matlab se tiene que direccionar la carpeta donde se encuentra el archivo de texto,para eso guarda tu archivo de texto en work de matlab.

luego en matlab : current directory debe estar la direccion ponlo con elboton que esta entre la flecha y la carpeta :
ejm: C:\MATLAB701\work\ing_control_1\datos_control

mis archivos estan en la carpeta datos_control
despues en la ventana :

a=load('texto.txt');


eso es todo

claro hay otras formas tbm
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

RE:cargar archivo.txt y guardar columnas como vect

Publicado por Felipe (1 intervención) el 03/01/2010 23:32:39
no sera que tienes comas (,) en vez de puntos (.)
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

cargar archivos

Publicado por alubalu (1 intervención) el 14/05/2010 00:12:32
Hola tengo un problema. Estoy cargando datos de varios años (10) eso ya lo hice, de cada año quisiera agrupar enero de los diez años. alguien me puede ayudar
mil gracias
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

cargar archivos

Publicado por ggg (1 intervención) el 01/11/2016 20:40:43
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
im = imread('ImagenCerebro.jpg'); %leer imagen
figure; imshow(im); %se muestra la imagen leida como im
%figure; imshow('foto.tif'); %se muestra la imagen guardada como 'foto'
%formato de Color RGB
Im_R=im(:,:,1);
figure; imshow(Im_R);
Im_G=im(:,:,2);
figure; imshow(Im_G);
Im_B=im(:,:,3);
figure; imshow(Im_B);
[m,n,p]=size(im) %dimensiones de la imagen
Im_sub=im(1:4:end,1:4:end,1:1:end); %Submuestro de la imagen por factor de 4
figure; imshow(Im_sub);
%Transformacion Uint8-Double; para procesar imagen en valores enteros entre 0 y 255
Im_double=double(im);
Im_double=Im_double*0.25;
Im_uint8=uint8(Im_double);
figure; imshow(Im_uint8);
%detección de Bordes
filter=[1 2 1;0 0 0; -1 -2 -1]; %filtro de detección de bordes
Im_gray=rgb2gray(im); %la imagen que se filtra debe estar en escala de grises
Im_edge=filter2(filter,Im_gray);
figure;imshow(Im_edge);
%Reducir ruido con Filtraje promedio
foto=imread('ImagenCerebro.jpg');
foto=imnoise(foto,'salt & pepper'); %se simula ruido en la imagen
foto_R=foto(:,:,1);
foto_G=foto(:,:,2);
foto_B=foto(:,:,3);
filtro=1/9*[1 1 1;1 1 1;1 1 1];
foto2_R=filter2(filtro,double(foto_R));
foto2_G=filter2(filtro,double(foto_G));
foto2_B=filter2(filtro,double(foto_B));
foto2(:,:,1)=foto2_R;
foto2(:,:,2)=foto2_G;
foto2(:,:,3)=foto2_B;
figure; imshow(uint8(foto));
figure; imshow(uint8(foto2));
%filtro mediana
%atenua el ruido de imagenes (generalmente en escala de grises)
Im_gray=imnoise(Im_gray,'salt & pepper');
figure; imshow(Im_gray);
Im_filt=medfilt2(Im_gray);
figure;imshow(Im_filt);
%máscara de SOBEL para detección de bordes
Im_edge=edge(Im_gray,'sobel');
figure; imshow(Im_edge);
%Binarización Método1 /Escala de grises a una imagen lógica
im2=imread('ImagenCerebro.jpg');
Im_gray2=rgb2gray(im2);
Im_bin=Im_gray2>=128;
figure; imshow(Im_bin); %Im_bin=im2bw(im2,0.5); Otra forma de hacer la binarizacion
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

cargar archivos

Publicado por Jairo (2 intervenciones) el 09/03/2018 18:26:50
Hola chicos
Hay muchas formas de leer archivos .txt en matlab.
Les dejo este link en el cual explico una forma sencilla
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