Matlab - Guardar datos tabla en .dat o .txt

 
Vista:

Guardar datos tabla en .dat o .txt

Publicado por Aero (3 intervenciones) el 20/03/2012 19:49:50
Hola, estoy haciendo una GUI en la que después de unas operaciones llego a tener uno tabla de dos columnas y varias filas. Me gustaría guardar esos datos de la tabla en un archivo .dat o .txt,
¿me podríais indicar qué comando utilizar?

Gracias de antemano.
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Guardar datos tabla en .dat o .txt

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 21/03/2012 00:05:22
Hola Aereo.
Tu pregunta es tan corta, que contestar acertadamente va a ser dificil, claro que te puedo dar sugerencias, como por cumplir, pero seria una sugerencia al adivino, no estaria seguro que ese te ayude.
Una opcion mas rapido para poder ayudarte, es ver tu codigo tanto *.fig y *.m y alli filtrarte, porque darte una respueste sin ver tu interface, seria como caminar por la selva amazonica sin saber a donde voy.
Si deseas enviame a mi correo tu interface tanto el archivo fig y el archivo m.



Saludos
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
[email protected]

http://matlabcaballero.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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Guardar datos tabla en .dat o .txt

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 22/03/2012 08:24:59
HOla Aero.
Me enviastes tu guide ami corre y ya lo filtre y te envio con tu mismo esquema, como lo estas haciendo.
Ademas te enviado un programa a tu correo con una esquema diferente, de tu pregunta.

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
function varargout = aero(varargin)
clc
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @aero_OpeningFcn, ...
                   'gui_OutputFcn',  @aero_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 aero_OpeningFcn(hObject, eventdata, handles, varargin)
set(handles.axes1,'Visible','off');
set(handles.axes2,'Visible','off');
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = aero_OutputFcn(hObject, eventdata, handles)
 
varargout{1} = handles.output;
 
 
% --- Executes on button press in Boton_introducir.
function Boton_introducir_Callback(hObject, ~, handles)
[filename pathname] = uigetfile( '*.dat');
handles.carga = load([pathname,filename]) ;
set(handles.uitable1,'data',handles.carga) ;
axes(handles.axes1);
plot(handles.carga(:,1),handles.carga(:,2),'bo-');
set(handles.axes1,'Visible','on');
guidata(hObject,handles);
 
 
 
function Boton_guardar_Callback(hObject, eventdata, handles)
[filename pathname] = uiputfile( '*.dat');
if filename==0
    return;
else
    datos_nuevos=handles.datosnuevos;
    fid=fopen([pathname, filename],'w');
    fprintf(fid,'%d\t%d\n',datos_nuevos(:,1),datos_nuevos(:,2));
    fclose(fid);
end
 guidata(hObject,handles);
 
 
function edit1_Callback(hObject, eventdata, handles)
 
 
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
 
 
% --- Executes on button press in Boton_desplazar.
function Boton_desplazar_Callback(hObject, ~, handles)
datos=get(handles.uitable1,'data');
desplazar=get(handles.edit1,'String');
desplazar=str2num(desplazar);
vector_desplazar=desplazar*ones(length(datos),1);
datos_nuevos_x=datos(:,1)+vector_desplazar;
datos_nuevos_y=datos(:,2);
datos_nuevos=[datos_nuevos_x,datos_nuevos_y];
handles.datosnuevos=datos_nuevos;
set(handles.uitable2,'data',handles.datosnuevos);
axes(handles.axes2);
plot(handles.datosnuevos(:,1),handles.datosnuevos(:,2),'bo-');
set(handles.axes2,'Visible','on');
guidata(hObject,handles);



Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]

http://matlabcaballero.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

Guardar datos tabla en .dat o .txt

Publicado por Aero (3 intervenciones) el 22/03/2012 13:40:28
Hola Jose Jeremías, muchas gracias por tu ayuda.

He encontrado un problemilla (quizás sea algo de mi matlab), pero a la hora de guardarse los datos en el .dat, yo quería que se guardasen como lo hacen en la tabla, es decir, en dos columnas. Sin embargo, se guardan de la siguiente manera:

5 67 87 65 34 59 103 1

¿Te ocurre a tí lo mismo?

Un saludo y gracias por toda la ayuda que me estás dando.
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Guardar datos tabla en .dat o .txt

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 22/03/2012 15:35:50
Efectivamente habia un error en el código.
Eso me pasa por contestarte rapidamente. Ayer llegué de mi trabajo y me pusé a filtrar tu codigo, y como eran ya algo de 2:00 am y estaba cansado, no me di cuenta del error y te envié el código a tu correo, aunque queria hacerlo hoy dia, pero me apuré en contestarte.
Que bueno que hayas dado cuenta del error.
Bueno para otra vez, tengo que demorarme en contestar a los usuarios para no cometer el mismo error, bueno dicen que siempre hay la primera vez. Espero no seguir cometiendo los mismos errores en el futuro.
Mil disculpas Aero.
Pero ya lo arreglé.


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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
function varargout = aero(varargin)
clc
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @aero_OpeningFcn, ...
                   'gui_OutputFcn',  @aero_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
% End initialization code - DO NOT EDIT
 
 
% --- Executes just before aero is made visible.
function aero_OpeningFcn(hObject, eventdata, handles, varargin)
set(handles.axes1,'Visible','off');
set(handles.axes2,'Visible','off');
handles.output = hObject;
guidata(hObject, handles);
 
% --- Outputs from this function are returned to the command line.
function varargout = aero_OutputFcn(hObject, eventdata, handles)
 
varargout{1} = handles.output;
 
 
% --- Executes on button press in Boton_introducir.
function Boton_introducir_Callback(hObject, ~, handles)
[filename pathname] = uigetfile( '*.dat');
handles.carga = load([pathname,filename]) ;
set(handles.uitable1,'data',handles.carga) ;
axes(handles.axes1);
plot(handles.carga(:,1),handles.carga(:,2),'bo-');
set(handles.axes1,'Visible','on');
guidata(hObject,handles);
 
 
 
% --- Executes on button press in Boton_guardar.
function Boton_guardar_Callback(hObject, eventdata, handles)
[filename pathname] = uiputfile( '*.dat');
if filename==0
    return;
else
    datos_nuevos=handles.datosnuevos;
    fid=fopen([pathname, filename],'w');
    fprintf(fid,'%d\t%d\n',datos_nuevos');
    fclose(fid);
end
 guidata(hObject,handles);


function edit1_Callback(hObject, eventdata, handles)


% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end


% --- Executes on button press in Boton_desplazar.
function Boton_desplazar_Callback(hObject, ~, handles)
datos=get(handles.uitable1,'data');
desplazar=get(handles.edit1,'String');
desplazar=str2num(desplazar);
vector_desplazar=desplazar*ones(length(datos),1);
datos_nuevos_x=datos(:,1)+vector_desplazar;
datos_nuevos_y=datos(:,2);
datos_nuevos=[datos_nuevos_x,datos_nuevos_y];
handles.datosnuevos=datos_nuevos;
set(handles.uitable2,'data',handles.datosnuevos);
axes(handles.axes2);
plot(handles.datosnuevos(:,1),handles.datosnuevos(:,2),'bo-');
set(handles.axes2,'Visible','on');
guidata(hObject,handles);



Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]

http://matlabcaballero.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

Guardar datos tabla en .dat o .txt

Publicado por Aero (3 intervenciones) el 22/03/2012 16:45:00
Jose Jeremías, no te debes disculpar. Te agradezco muchísimo lo que has hecho por mí, no hay palabras para expresar mi gratitud. Además, no me importa que me contestes más tarde o más temprano, sólo cuándo tu puedas y te apetezca, que ya haces bastante.

Aún así, te tengo que volver a decir que me sigue guardando los datos de la misma manera que antes, ?a tí no te ocurre? es que creo que será algún problema de mi error. No creo que hayas equivocado tú.

Un saludo, y muchas 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