Matlab - Reconocimiento ecuaciones en GUI

 
Vista:

Reconocimiento ecuaciones en GUI

Publicado por juanjo (3 intervenciones) el 03/01/2012 18:56:41
Buenas, estoy haciendo una GUI en Matlab que me calcule al derivada, integral y transformada de fourier de una ecuación cualquiera que introduzca y me gustaría que alguien me pudiera ayudar. Os dejo el callback donde introduzco la ecuación y el pushbutton donde lo calculo. Un saludo

function varargout = SupercalDINFOU_OutputFcn(hObject, eventdata, handles)

ecuacion=str2num(get(handles.insert_ecuac,'String'))


function pushbutton_calcula_Callback(hObject, eventdata, handles)

global ecuacion


ecuacion=str2num(get(handles.insert_ecuac,'String'))
%Obtengo el control de la derivada/integral/furier(busco controles con el Tag):
para_derivada=findobj(gcbf,'Tag','result_derv');
para_integral=findobj(gcbf,'Tag','resul_integral');
para_furier=findobj(gcbf,'Tag','result_fourier');

%hago calculos derivadas mediante la funcion diff
derivada1=diff(ecuacion)
%convierto a caracter
derivada2=char(derivada1);
%hago integral mediante la funcion int
integral1=int(sym(ecuacion))
%convierto a caracter
integral2=char(integral1);
%hago furier mediente la funcion fourier
furier1=fourier(sym(ecuacion),'x');
%convierto
furier2=char(furier1);

%Presento resultados:
set(para_derivada,'String',derivada2);
set(para_integral,'String',integral2);
set(para_furier,'String',furier2);
¿Alguien sabe como hacer que me reconozca las ecuaciones que introduzca? 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

Reconocimiento ecuaciones en GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 03/01/2012 21:03:52
HOla juanjo.
Si deseas enviame tu codigo ami correo, para revisarlo.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Programador en Matlab
[email protected]
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

Reconocimiento ecuaciones en GUI

Publicado por juanjo (3 intervenciones) el 04/01/2012 11:35:19
Ya me di cuenta del error ayer y lo resolví pero gracias de todos modos. Solo había que cambiar la orden ecuacion en el pushbutton donde se calcula por:
ecuacion = get(handles.insert_ecuac,'string');
Nada mas un saludo
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

Reconocimiento ecuaciones en GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 04/01/2012 16:54:51
hola. Juanjo
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
function varargout = der_int_transf_caballero(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @der_int_transf_caballero_OpeningFcn, ...
                   'gui_OutputFcn',  @der_int_transf_caballero_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 der_int_transf_caballero_OpeningFcn(hObject, ~, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = der_int_transf_caballero_OutputFcn(~, ~, handles)
varargout{1} = handles.output;
 
function leer_la_funcion_Callback(hObject, ~, handles)
fun=get(hObject,'String');
handles.fun=fun;
guidata(hObject, handles);
 
function integral_Callback(hObject, ~, handles)
fun=handles.fun;
int_fun=int(sym(fun));
set(handles.text3,'String',char(int_fun));
guidata(hObject, handles);
 
function derivar_Callback(hObject, ~, handles)
fun=handles.fun;
der_fun=diff(sym(fun));
set(handles.text4,'String',char(der_fun));
guidata(hObject, handles);
 
function transformada_Callback(hObject, ~, handles)
fun=handles.fun;
fourier_fun=fourier(sym(fun));
set(handles.text5,'String',char(fourier_fun));
guidata(hObject, handles);



http://subefotos.com/ver/?f98066987b40ba3c1450a1027023a8ceo.jpg

[b]Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Programador en Matlab
[email protected] [code]
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