Matlab - matriz desde txt

   
Vista:

matriz desde txt

Publicado por manuel guiller_081292@hotmail.com (14 intervenciones) el 17/02/2012 22:14:03
hola mi duda es como seleccionar solo las dos ultimas columnas de este archivo de texto para graficarlas sin tomar en cuenta la primera columna:
-2.820 54898.262 29.000
-2.681 55733.938 32.000
-2.632 56314.494 34.000
-2.588 56794.168 36.000
-2.549 57117.471 37.000
-2.485 58899.791 0.000
-2.486 58834.976 44.000
-2.484 58904.711 44.000
-2.486 58943.464 45.000
-2.473 59028.965 45.000
-2.468 59011.343 45.000
-2.463 59188.207 46.000
-2.457 59356.768 46.000
-2.455 59322.822 46.000
-2.465 59332.116 47.000
-2.471 59339.121 47.000
-2.467 59418.354 47.000
-2.464 59716.877 47.000
-2.458 59212.833 47.000
-2.467 59271.216 48.000
-2.458 59310.845 48.000
-2.455 59369.939 48.000
-2.450 59475.160 49.000
-2.444 59553.363 49.000
-2.442 59641.191 49.000

soy principiante en matlab y no tengo idea de como hacer eso porque yo habia escrito algo asi

% Escoger archivo
[laboratorio,ruta]=uigetfile('*.txt','ABRIR:');
nombre=[ruta,laboratorio];


if ischar(nombre) % si se escoge un archivo
id_archivo=fopen(laboratorio,'r'); % abre archivo para leerlo

R = textscan(id_archivo, '%f %f');

% cierra archivo
fclose(id_archivo);

a = R{1};%para seleccionar columna pero no funciona con archivos de mas de 2 columnas
b = R{2};

set (handles.txt,'string',a);
set (handles.txt2,'string',b);
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

matriz desde txt

Publicado por manuel (14 intervenciones) el 17/02/2012 22:22:18
ahi estan las columnas separadas por "--" para que se puedan distinguir



-2.820 -- 54898.262 -- 29.000
-2.681 55733.938 32.000
-2.632 56314.494 34.000
-2.588 56794.168 36.000
-2.549 57117.471 37.000
-2.485 58899.791 0.000
-2.486 58834.976 44.000
-2.484 58904.711 44.000
-2.486 58943.464 45.000
-2.473 59028.965 45.000
-2.468 59011.343 45.000
-2.463 59188.207 46.000
-2.457 59356.768 46.000
-2.455 59322.822 46.000
-2.465 59332.116 47.000
-2.471 59339.121 47.000
-2.467 59418.354 47.000
-2.464 59716.877 47.000
-2.458 59212.833 47.000
-2.467 59271.216 48.000
-2.458 59310.845 48.000
-2.455 59369.939 48.000
-2.450 59475.160 49.000
-2.444 59553.363 49.000
-2.442 59641.191 49.000
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

matriz desde txt

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 17/02/2012 22:50:52
Hola Manuel

1
2
3
4
5
6
7
8
clear all
[nombre,ruta]=uigetfile('*.txt','ABRIR ARCHIVO DE TEXTO');
if nombre==0
    return;
else
    data=importdata([ruta nombre]);
    plot(data(:,2),data(:,3))
end


1
2
EJECUCION
>> importandodatatxt11



Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
jjcc94@hotmail.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

matriz desde txt

Publicado por manuel (14 intervenciones) el 17/02/2012 23:03:51
bueno, y como podria hacer para que el valor de la columna dos me lo ponga en un edti text con tengo con el tag txt y la columna 3 en otro edittext
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

matriz desde txt

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 18/02/2012 01:35:01
hola Manuel
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
function varargout = importacion_de_datos_texto(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @importacion_de_datos_texto_OpeningFcn, ...
                   'gui_OutputFcn',  @importacion_de_datos_texto_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
 
function importacion_de_datos_texto_OpeningFcn(hObject, ~, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = importacion_de_datos_texto_OutputFcn(~, ~, handles)
varargout{1} = handles.output;
 
function pushbutton1_Callback(~, ~, handles) %#ok<DEFNU>
[nombre,ruta]=uigetfile('*.txt','ABRIR ARCHIVO DE TEXTO');
if nombre==0
    return;
else
    data=importdata([ruta nombre]);
    plot(data(:,2),data(:,3))
end
set(handles.text1,'String',data(:,2));
set(handles.text2,'String',data(:,3));
set(handles.edit1,'String',data(:,2));
set(handles.edit2,'String',data(:,3));
set(handles.listbox1,'String',num2str([data(:,2) data(:,3)]));
 
function listbox1_Callback(~, ~, ~) %#ok<DEFNU>
function edit1_Callback(~, ~, ~) %#ok<DEFNU>
function edit2_Callback(~, ~, ~) %#ok<DEFNU>



Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
jjcc94@hotmail.com ; jjcc9494@gmail.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 Dave

matriz desde txt

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 18/02/2012 05:15:19
Hola Manuel;

Respecto a la lectura de tus datos, te muestra una forma simple de leer tus datos, asumiendo que están en archivos de texto (*.txt). Podría hacerlo de la siguiente forma:

1
2
3
4
5
6
7
8
9
clear all,close all,clc
 
dat=load('data.txt');
 
V1=dat(:,1);
V2=dat(:,2);
V3=dat(:,3);
 
plot(V2,V3)


Respecto a visualizarlos en cajas de texto, considero que son demasiados datos para colocarlos en una sola caja de texto, quizás la mejor opción sea que los muestres mediante tablas, listas, o menús desplegables, claro que para estos tendrás que desarrollar una interfaz Gráfica de Usuario.

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

matriz desde txt

Publicado por manuel (14 intervenciones) el 20/02/2012 21:40:39
pues si son muchos datos pero no importa ya que lo que me interesa es la grafica.
otra cosa que olvide mencionar cada columna tiene un nombre como puedo hacer que no me lea el texto solo los numeros que hay en cada columna, eso seria el ultimo detalle porque gracias a su aporte ya puedo capturar las dos columnas y supongo que si hubiese mas columnas seria el mismo proceso.
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

matriz desde txt

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 21/02/2012 21:34:53
HOLA Manuel.
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
53
54
55
function varargout = importacion_de_datos_texto1(varargin)
clc
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @importacion_de_datos_texto1_OpeningFcn, ...
                   'gui_OutputFcn',  @importacion_de_datos_texto1_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
 
function importacion_de_datos_texto1_OpeningFcn(hObject, ~, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = importacion_de_datos_texto1_OutputFcn(~, ~, handles)
varargout{1} = handles.output;
 
function pushbutton1_Callback(~, ~, handles) %#ok<DEFNU>
[nombre,ruta]=uigetfile('*.txt','ABRIR ARCHIVO DE TEXTO');
if nombre==0
    return;
else
    fid=fopen([ruta nombre],'r');
    Data=importdata([ruta nombre]);
    filatexto=size(Data.textdata,1);
    columnadata=size(Data.data,2);
    impresion='%f';
    for i=1:columnadata-1
        impresion=[impresion,' %f'];
    end
    importacion_de_datos_texto1= textscan(fid,impresion,'headerlines',filatexto);
    fclose(fid);
    importacion_de_datos_texto1=cell2mat(importacion_de_datos_texto1);
    plot(importacion_de_datos_texto1(:,2),importacion_de_datos_texto1(:,3))
end
handles1=cell2mat(struct2cell(handles)); %#ok<NASGU>
set(handles.text1,'String',importacion_de_datos_texto1(:,2));
set(handles.text2,'String',importacion_de_datos_texto1(:,3));
set(handles.edit1,'String',importacion_de_datos_texto1(:,2));
set(handles.edit2,'String',importacion_de_datos_texto1(:,3));
set(handles.listbox1,'String',num2str([importacion_de_datos_texto1(:,2)...
    importacion_de_datos_texto1(:,3)]));
 
function listbox1_Callback(~, ~, ~) %#ok<DEFNU>
function edit1_Callback(~, ~, ~) %#ok<DEFNU>
function edit2_Callback(~, ~, ~) %#ok<DEFNU>



Saludos .
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
jjcc94@hotmail.com ; jjcc9494@gmail.com
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

matriz desde txt

Publicado por manuel (14 intervenciones) el 21/02/2012 22:54:31
muchas gracias usted es grande :D
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

matriz desde txt

Publicado por Jhan luis (1 intervención) el 16/11/2013 01:10:01
jose, disculpa pero necesito una asesoria para un proyecto en matlab, estoy tratando de hacer una calculadora que integre, derive y grafique como idea principal, pero el boton que quiero que realize las acciones no las hace.
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

matriz desde txt

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 20/11/2013 12:14:49
Trata de hacer tus propias preguntas y no hacer en una pregunta ya que fue contestada hace tiempo.
Bueno mándame tu código a mi correo, allí lo filtro y te digo el precio de costo del servicio de programación en matlab.


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