lunes, 22 de julio de 2013

valtitu.py (Programa de valoración y titulacion de Soluciones )

Un pequeño programa creado en python, para la valoración de soluciones química,  (algo de lo que este trimestre me encontré en química de soluciones). Estando algo aburridos por las vacaciones trataremos de publicar diariamente en el blog, por lo que les dejo este programa, es muy simple y si estas empezando a desarrollar tus propios programas en python 3.x de sera de mucha ayuda.  El código queda como sigue.

#### Valoraciones y Titulacion

print('Valoracion de una Solucion. (1)')
print('Titulacion de una solucion. (2)')

print('Seleccione la opcion adecuada')

opcion = int(input(':_ '))

if opcion == 1:
    print('++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
    print('Formula  M /peq = V*N')
    print('Selecionando la Variable a encontrar')
    print('M.........(1)')
    print('V.........(2)')
    print('N.........(3)')
    opcion2 = int(input('Seleciona Variable:_ '))
    if opcion2 ==1:
        print('Tu Variable a encontrar es M')
        print('******************************************************')
        v = float(input('V de la Solucion: '))
        n = float(input('N de la Solucion: '))
        peq = float(input('Peso Equivalente: '))
        ## aplicando formula
        m = (v*n)*peq
        print ('Se necesitan',m,'para llevar acabo la titulacion')
        print('******************************************************')
    elif opcion2 ==2:
        print('Tu Variable a encontrar es V')
        print('******************************************************')
        n = float(input('N de la Solucion: '))
        peq = float(input('Peso Equivalente: '))
        m = float(input('M a emplear :    '))
        a = (m/peq)
        v = (a/n)
        print ('Se necesitan',v,'para llevar acabo la titulacion')
        print('******************************************************')
    elif opcion2 ==3:
        print('Tu Variable a encontrar es N')
        print('******************************************************')
        v = float(input('V de la Solucion: '))
        peq = float(input('Peso Equivalente: '))
        m = float(input('M a emplear :    '))
        a = (m/peq)
        n = (a/v)
        print ('La normalidad es: ',n)
        print('******************************************************')   
    else:
        print('Fuera de Rango sólo se Admiten 3 casos')


elif opcion == 2:
    print('++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
    print('formula C1V1 = C2V2')
    print('Para Variables C1V1 .....(1)')
    print('Para Variables C2V2......(2)')
    opcion3 = int(input('Seleccione Opcion:_ '))
    if opcion3 == 1:
        print('conjunto de variables Seleccionadas : C1V1')
        print('******************************************************')
        print('C1.....(1)')
        print('V1.....(2)')
        opcion4 = int(input('Seleccione una Opcion:_ '))
        if opcion4 == 1:
            print('Variable a encontrar C1')
            print('******************************************************')
            v1 = float(input('V1:_ '))
            v2 = float(input('V2:_ '))
            c2 = float(input('C2:_ '))
            c1 = (v2*c2)/v1
            print('El valor de C1 es:  ',c1)
            print('******************************************************')
        elif opcion4 == 2:
            print('Variable a encontrar V1')
            print('******************************************************')
            c1 = float(input('C1:_ '))
            v2 = float(input('V2:_ '))
            c2 = float(input('C2:_ '))
            v1 = (v2*c2)/c1
            print('El valor de V1 es:  ',v1)
            
        else:
            print('Solo de Admiten 2 casos, Fuera de Rango')
    elif opcion3 == 2:
        print('Conjunto de Variables Seleccionadas:  C2V2')
        print('******************************************************')
        print('C2.....(1)')
        print('V2.....(2)')
        opcion5= int(input('Seleccione una Opcion:_ '))
        if opcion5 == 1:
            print('Variable a encontrar C2')
            print('******************************************************')
            v1 = float(input('V1:_ '))
            v2 = float(input('V2:_ '))
            c1 = float(input('C1:_ '))
            c2 = (v1*c1)/v2
            print('El valor de C2 es:  ',c2)
            print('******************************************************')
        elif opcion5 == 2:
            print('Variable a encontrar V2')
            print('******************************************************')
            c1 = float(input('C1:_ '))
            v1 = float(input('V1:_ '))
            c2 = float(input('C2:_ '))
            v2 = (v1*c1)/c2
            print('El valor de V1 es:  ',v2)
        
    else:
        print('Fuera de rango solo se admiten 2 casos')
else:
    print('**********************************************************')
    print('Fuera de Rango solo se admiten 2 casos')
Ejecutando el programa

Valoracion de una Solucion. (1)
Titulacion de una solucion. (2)
Seleccione la opcion adecuada
:_ 2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
formula C1V1 = C2V2
Para Variables C1V1 .....(1)
Para Variables C2V2......(2)
Seleccione Opcion:_ 1
conjunto de variables Seleccionadas : C1V1
******************************************************
C1.....(1)
V1.....(2)
Seleccione una Opcion:_ 1
Variable a encontrar C1
******************************************************
V1:_ 3.4
V2:_ 15
C2:_ 0.34
El valor de C1 es:   1.5000000000000002
******************************************************

Bioreactor para la produccion de Etanol

Este es un sistema no lineal de ecuaciones diferenciales y algebraicas, que describen la dinámica de un biorreactor continuo. El biorreactor simula la producción de etanol a través de la fermentación de levadura. El modelo se describe en:
ZK Nagy, modelo de control basado en un biorreactor de fermentación utilizando diseñan óptimo Redes Neuronales Artificiales, Chemical Engineering Journal, 127, 95-109, 2007.
DESCARGAR

miércoles, 17 de julio de 2013

Modelo Basico de un BioReactor en Matlab.

Este proyecto SimBiology contiene una versión modificada del modelo bioreactor presentado en la conferencia señala que "Una introducción a la modelización de los biorreactores" por Bengt Carlsson y se puede encontrar aquí: http://www.it.uu.se/edu/course/homepage / modynsyst/vt11/Lecture/DynSystBior2009.pdf
Se puede utilizar como una plantilla para los modelos más complicados de bioprocesos

domingo, 14 de julio de 2013

Instalar Biopython en Linux

isra@linuxmint ~ $ sudo su
[sudo] password for isra: 
linuxmint isra # apt-get install python-biopython
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes extras:
  libgfortran3 liblapack3 python-biopython-doc python-numpy
Paquetes sugeridos:
  wise muscle clustalw mafft emboss blast2 python-numpy-doc python-numpy-dbg
  python-nose python-dev gfortran
Se instalarán los siguientes paquetes NUEVOS:
  libgfortran3 liblapack3 python-biopython python-biopython-doc python-numpy
0 actualizados, 5 se instalarán, 0 para eliminar y 135 no actualizados.
Necesito descargar 15,4 MB de archivos.
Se utilizarán 34,4 MB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? s
De esta forma ya tenemos biopython  instalado en nuestro sistema, en mi caso uso linux mint.

isra@linuxmint ~ $ python
Python 2.7.4 (default, Apr 19 2013, 18:32:33) 
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from Bio.Seq import Seq
>>> secuencia = Seq ('ACGCGCTAGCTC')
>>> print(type(secuencia))
<class 'Bio.Seq.Seq'>
>>>



domingo, 7 de julio de 2013

Metodo del Polinomio Cubico en Matlab

Calcula la aproximacion ala Integral, utilizando el método de Aproximacion al polinomio Cubico
la función es la siguiente: Z = quad3(X,Y)
 DESCARGAR

miércoles, 3 de julio de 2013

Habilitar e inhabilitar botones, edit tex, Radio Button, Check Box, Listbox, Pop-up Menu, Axes, etc en Matlab

Sea  botones, edit tex, Radio Button, Check Box, Listbox, Pop-up Menu, Axes, etc en Matlab  puden ser habilitados e inhabilitados de una Gui que estemos creando en Matlab, simplemente con la propiedad enable, esta tiene tres opciones:
on; es la opcion que viene por default
off; en esta desactivamos y tambien se nota un cambio en la coloracio, "entra en un modo invisible"
inactive; en esta propiedad queda inactivo, pero si es visible  de una forma normal nuestro boton.

acontinuacion el codigo de ejemplo, poniendo el caso de un Pop-up Menu y un grupo de 3 botones

generamos una interfaz como sigue.


 
Nuestro codigo empleado fue el siguiente:

function popupmenu3_Callback(hObject, eventdata, handles)
estado = get(handles.popupmenu3,'Value');
switch estado
    case 1
        %estado on 
        set(handles.pushbutton3,'enable','on');     
    case 2
        %estado off
        set(handles.pushbutton4,'enable','off');
    otherwise
        %estado inactive
        set(handles.pushbutton5,'enable','inactive');
        
end