Matlab - Problema sencillo con GUI

   
Vista:

Problema sencillo con GUI

Publicado por oscar (1 intervención) el 17/06/2011 23:44:08
Hola soy nuevo en matlab y para la universidad nos pusieron realizar un calculo de la temperaturaa de llama de una combustion, deciti utilizar una sentencia while que me va cambiando esta temperatura en incrementos de 1 mientras sea menor o igual a un valor que requiero

algo asi

Tll=1;
while f(Tll)<=valor
Tll=Tll+1;
end

el problema es que lo pase a un gui a un callback de un pushbottom el cual toma valores de unos etit text para realizar el while, el problema es que cuando no ingreso datos a las casillas editext el me calcula un numero y no entiendo porque si no he metido datos, lo otro es que cuando meto los datos no da el resultado que da cuando lo ejecuto desde matlab

function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

c=handles.carbono;
h=handles.hidrogeno;
o=handles.oxigeno;
A=handles.H2O;
q0=handles.calorifico;
E = c+(h/4)-(o/2);
Tll=1;
while (c*(58.236*Tll-22131)+((E*A+h)/2)*(49.059*Tll-20793)+(E*3.77)*(35.098*Tll-12639))<=q0

Tll=Tll+1;

end
set(handles.llama,'string',Tll);
guidata(hObject, handles);

ese mismo while en matlab me da 2501 mientras en el gui me da 502 para valores de
c=6, h=6, 0=0 a=0 q0=3170000
si alguien puede ayudarme lo agradecria mucho gracias!
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

Problema sencillo con GUI

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 18/06/2011 00:21:33
HOLA OSCAR.
Mandame tu guide a mi correo y yo lo arreglo, pero mandame archivo.m y archivo.fig, adema tu base datos.
Pero explicame con detalle donde falla tu programa y que lo quieres hacer realmente.
Los programas de matlab en guide nose puede contestar con certeza via foro.
porque intervienen ventana de graficas.
Saludos.


JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema sencillo con GUI

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 18/06/2011 00:24:44
hola Oscar.
Segun veo haz hecho un programa normal, sin guide y alli todo esta correcto pero cuando lo pasas guide falla.
Entonces tambien mandame tu programa normal lo q esta hecho sin guide de matlab.
para poder enternder mejor que lo quieres hacer.

JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema sencillo con GUI

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 30/06/2011 19:50:08
hola Oscar.
Te estaba pidiendo tu archivo para ganar tiempo para contestar tu pregunta. Solo era para corregir tus errores, pero no llegastes a enviar. Bueno pero apesar de ello. .Ya lo resolvi.Si hubiera tenido tu correo te hubiera enviado a tu correo el codigo de guide, pero lamentablemente no lo tengo. Bueno por ello copio el codigo al foro.

%================================================
function varargout = temperatura(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @temperatura_OpeningFcn, ...
'gui_OutputFcn', @temperatura_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 temperatura_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = temperatura_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;

% INTRODUCCION DE DATOS:
function carbono_Callback(hObject, eventdata, handles)
function carbono_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),...
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function hidrogeno_Callback(hObject, eventdata, handles)
function hidrogeno_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),...
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function oxigeno_Callback(hObject, eventdata, handles)
function oxigeno_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),...
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function h2o_Callback(hObject, eventdata, handles)
function h2o_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),...
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function calorifico_Callback(hObject, eventdata, handles)
function calorifico_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),...
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function calcular_Callback(hObject, eventdata, handles)
carb=str2double(get(handles.carbono,'String'));
hid=str2double(get(handles.hidrogeno,'String'));
oxig=str2double(get(handles.oxigeno,'String'));
agua=str2double(get(handles.h2o,'String'));
calor=str2double(get(handles.calorifico,'String'));
E=carb+(hid/4)-(oxig/2);
Temp=1;
while (carb*(58.236*Temp-22131)+((E*agua+hid)/2)*(49.059*Temp-20793)+...
(E*3.77)*(35.098*Temp-12639))<=calor
Temp=Temp+1;
end
set(handles.calcular,'String',Temp);
%==============================================

Se ejecuta haciendo clic en el boton CALCULAR DE guide y te saldrá el resultado que esperas con los datos c=6, h=6, 0=0 a=0 q0=3170000 igual 2501


JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
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

Problema sencillo con GUI

Publicado por MM (2 intervenciones) el 05/07/2015 23:36:13
Estoy enviando unos datos a una tabla tomando valores de un cuadro de texto y lo envio mediante un boton. Pero me pasa que cuando no coloco un valor me envia un valor.
Como lo soluciono?

para tomar los valores uso esto

Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal1 = str2double(Val); %Transformar a formato double
handles.edit1=NewVal1; %Almacenar en identificador
guidata(hObject,handles);
N=handles.edit1
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