miércoles, 30 de mayo de 2012

Mensajes de Usuario en Matlab

Al desarrollar apliaciones con interfaz de usuario podemos necesitar algunos mensajes  que faciliten la interacción con el usuario final de la aplicacion. En esta primera entrega mostraremos  los mas básico mensajes de usuario en Matlab.

%mensaje de Error
errordlg('Este es un mensaje de error','titulo');
 msgbox('Otro mensaje de error','titulo','error');

%mensaje de Ayuda
  helpdlg('Mensaje de Ayuda','titulo');
    msgbox('Otro msj de Ayuda','titulo','help');

%mensajes de Cuidado
 warndlg('Mensaje de cuidado','titulo');
   msgbox('Otro mensaje de warn','titulo','warn');
 
%mensaje tradicional de usario
 msgbox('Hola Mundo','titulo','none');

%En Resumen:
 msgbox('Mensaje ','titulo de msj','icono');
  %los iconos serian los siguiente
    %'error'= error
     %  'help' = ayuda
      %   'warn' = cuidado, precaucion
       %   'none' = sin icono

%Mostrando mas de una linea de texto en un msgbox
 msgbox({'mensaje 1','mensaje 2',...
   'mensaje3'},'titulo','icono');

En la próxima entrega nos enfocaremos en el mensaje de entrada de datos así como modificar las características de un msgbox. Esperanos ;)

domingo, 27 de mayo de 2012

Gráficos Bidimensionales en Matlab

Los gráficos son herramientas muy utilizadas para presentar todo tipo de información, podemos diferenciar dos tipos de gráficos bidimensionales según  la fuente de donde obtengamos la información, los cuales son:

Gráficos A partir de Datos [Dados].

En este caso se crean vectores los cuales contienes los Datos [dados], posteriormente se grafican utilizando el comando plot.  

>> x=[1.343 4.454 6.565 
7.778 8.898 10.3343];
>> y=[1 3 5 6 8 9 ];
>> plot(x,y) 
 
 

Gráficos a partir de Funciones.
ejemplo
>> x=-3*pi:pi/100:4*pi;
>> y=sin(x);
>> plot(x,y)



 
 
 
 
 
 
 
 
 

domingo, 20 de mayo de 2012

Numero de Reynolds (Comparacion de Sintaxis Matlab Vs Python)


Como habrán notado, casi no he publicado, esto se debe a la falta de tiempo, y también, a la falta de ideas. En esta  ocasión recordando un poco de la materia de mecánica de Fluidos  realice una pequeña aplicación en la cual les comparto el código de la misma. En la que hacemos referencia al Número de Reynolds.
La información completa esta en la siguiente dirección:
Si tuvieran algunas propuestas para realizar,  hágamela llegar por medio de un comentario.

                                                   Codigo en Python 3.x
# Un ejemplo Basico sobre el uso de la estructuda if en python 3
#aplicada al calculo de numero de Reynolds 

print('**********Numero de Reynolds *********\n');

dencidad =float(input('Cual es la Dencidad del Fluido: '))
velocidad =float(input('Velocidad Caracteristica:  '))
diametro = float(input('Diametro de la Tuberia:  '))
viscosidad = float(input( 'viscosidad Dinamica del Fluido: ' ))
print(' \n ')

#realizando la operacion
Re = (dencidad*velocidad*diametro)/viscosidad 
 print('Cual es el comportamiento del Fluido? \n')

print('\n' )


#Evaluando las caracteristicas del Fluido

if Re<= 2000:
      print('El fluido Posee un comportamiento Lamindar \n')
elif Re >= 200 and Re <=2300:
      print('El comportamiento del fluido es  de Regimen de Transicion \n')
elif Re >= 2300:
      print('El fluido Presenta un comportamiento Turbulento')
      
input('  ') 
 
Codigo en Matlab.

%Reynolds
Datos=inputdlg({'Dencidad','Velcidad','Diametro','Viscosidad'},...
    'Introduce los valores');
%convirtiendo de str a Double
datos=str2double(Datos);
%capturando los elementos individuales del arreglo
Dencidad=datos(1,1);
 Velocidad=datos(2,1);
  Diametro=datos(3,1);
Viscosidad=datos(4,1);
%operacion:
  Re=(Dencidad*Velocidad*Diametro)/Viscosidad;
    %codiciones
if Re<= 2000
    msgbox('Comportamiento Laminar','Tipo de Fluido');
elseif Re >=200|| Re<= 2000
    msgbox('Fluido de Transcicion','Comportamiento');
elseif Re >=2300
    msgbox('Comportamiendo Turbulento','Tipo de Comportamiento');
end


Este Sencillo programa lo pude tambien haber realizado en C, Java, o Ruby el nuevo  lenguaje que me encuentro aprendiendo, Pero tenemos que hacer notar que un lenguaje de Programacion no es mas que una herramienta, y cada uno de nosotros tiene que ser flexible a la hora de programarlo.¿Qué lenguaje de programacion te gusta?

miércoles, 16 de mayo de 2012

Diagrama de Moody en Matlab

Diagrama de Moody Realizado en Matlab, como parte de un proyecto final, en el cual, se hace notar la capacidad que tiene Matlab empleado en Ingeniería Química. Casi no publico nada de este tema, pero su servidor el cual escribe este blog, tambien cursa además de ing. en software, estudio también Ingeniería Química Espero y sea de su agrado.

Descargar la Aplicacion

sábado, 12 de mayo de 2012

Conversor de Presiones en Matlab.

Lo he Desarrollado en Matlab como parte de un proyecto final para la materia de Evaporacion Industrial.
espero que sea de su agrado. Acontinuación les dejo el codigo usado en la aplicación. El enlace de descarga del codigo es el siguiente: http://www.mediafire.com/?9799knnnso9oc3u

%codigo del Edit Text entrada
function entrada_Callback(hObject, eventdata, handles)
presion=str2double(get(handles.entrada,'string'));

%Codigo del popumenu
function popupmenu1_Callback(hObject, eventdata, handles)
valor=get(hObject,'Value');
presion=str2double(get(handles.entrada,'string'));
switch valor
    case 1
      Presion=presion*(1.0332);
      set(handles.salida,'string',Presion);
    case 2
        Presion=presion*(14.649/1.0332);
        set(handles.salida,'string',Presion);
    case 3
        Presion= presion*(0.76/14.649);
        set(handles.salida,'string',Presion);
    case 4
        Presion=presion*(29.921/0.76);
        set(handles.salida,'string',Presion);
    case 5
        Presion=presion*(10.333/29.921);
        set(handles.salida,'string',Presion);
    case 6
        Presion=presion*(101325/10.333);
        set(handles.salida,'string',Presion);
    case 7
        Presion=presion*(1.0125/101325);
        set(handles.salida,'string',Presion);
    case 8
        Presion=presion*(760/1.0125);
        set(handles.salida,'string',Presion);
    case 9
        Presion=presion*(14.696/760);
        set(handles.salida,'string',Presion);
    case 10
        Presion=presion*(10333/14.696);
        set(handles.salida,'string',Presion); 
    otherwise
        Presion=(presion/760)*1.0332;
        set(handles.salida,'string',Presion);
end

lunes, 7 de mayo de 2012

Videotutorial 29 de Matlab

Creación de Mensajes de Usuario, errordlg, inputdlg,helpdlg, msgbox. Uso de la función waitbar para crear una barra de progreso, así como también enlazar 3 interfaz de usuario en la cuales compartirán datos.

miércoles, 2 de mayo de 2012

Metodo De Newton-Rapshon Con Interfaz De Usario en Matlab


Acontinuacion Mostramos el codigo Usado en Cada uno de los botones
 
%Edit Text entrada
  function entrada_Callback(hObject, eventdata, handles)
  funcion=inline(get(handles.entrada,'string'));

%Edit Text Derivada
  function derivada_Callback(hObject, eventdata, handles)
  Derivada=inline(get(handles.derivada,'string'));

%Edit Text Xo
  function Xo_Callback(hObject, eventdata, handles)
  xo=str2double(get(handles.Xo,'string'));

%Edit Text error
  function error_Callback(hObject, eventdata, handles)
  Error=str2double(get(handles.error,'string'));

%Codigo del Push Button calcular
  function calcular_Callback(hObject, eventdata, handles)
funcion=inline(get(handles.entrada,'string'));
Derivada=inline(get(handles.derivada,'string'));
xo=str2double(get(handles.Xo,'string'));
Error=str2double(get(handles.error,'string'));
if isnan (xo)
    msgbox({'Valor no Numerico o fuera de Rango',...
        'En Xo favor de introducir un Dato  Valido'},'Upss','error');
elseif isnan(Error)
    errordlg({'Valor no Numerico o Fuera de Rango',...
        'En Error Favor de Introducir un Dato Valido'},'Upss');
else
 X1=(xo-funcion(xo))/Derivada(xo);
while abs(X1-xo)>Error
    xo=X1;
    X1=(xo-funcion(xo))/Derivada(xo);
end
set(handles.salida,'string',X1);

end

%Codigo del Push Button Graficar
function graficar_Callback(hObject, eventdata, handles)
funcion=inline(get(handles.entrada,'string'));
Derivada=inline(get(handles.derivada,'string'));
grid on
hold on
fx=ezplot(Derivada);
set(fx,'color','m');

dfx=ezplot(funcion);
set(dfx,'color','b');
legend('F(X)','dF(X)');