Académique Documents
Professionnel Documents
Culture Documents
Ing. Química
Curso:
Lenguaje de Programación.
ALUMNO:
VALERIO GARCIA, Pablo.
HUANCAYO - PERU
1
DEDICATORIA
2
INTRODUCCIÓN
importante son los conceptos. Una vez conocido un lenguaje, pasar a otro no
suele resultar difícil. Como Matlab es un lenguaje simple, resulta idóneo para los
comienzos.
3
OBJETIVOS
PROGRAMAS
MATLAB
PROGRAMAS
%PROGRAMA 1
4
%PROGRAMA PARA HALLAR EL POTENCIAL DE CELDA A CONDICIONES NO
ESTADAR
clc,formatshort
disp('==========================================================')
disp('PROGRAMA PARA DETERMINAR EL POTENCIAL DE CELDA A CONDICIONES
NO ESTADAR');
disp(' POR MEDIO DE LA ECUACION DE NERNST');
disp(' DE LA FORMA');
disp(' aA + bB -->cC + dD ');
fprintf('\n')
x=input('INGRESE EL NUMERO DE ELECTRONES TRANSFERIDOS EN LA REACCION
:');
while x<=0
'LOS ELECTRONES TRANSEFERIDOS SON ENTEROS POSITIVOS'
x=input('INGRESE EL NUMERO DE ELECTRONES TRANSFERIDOS EN LA
REACCION :');
end
fprintf('\n')
M1=input('INGRESE CONCENTRACION MOLAR DE A :');
while M1<=0
'la concentracion molar debe ser mayor que cero'
M1=input('INGRESE CONCENTRACION MOLAR DE A :');
end
M2=input('INGRESE CONCENTRACION MOLAR DE B :');
while M2<=0
'la concentracion molar debe ser mayor que cero'
M2=input('INGRESE CONCENTRACION MOLAR DE B :');
end
M3=input('INGRESE CONCENTRACION MOLAR DE C :');
while M3<=0
'la concentracion molar debe ser mayor que cero'
M3=input('INGRESE CONCENTRACION MOLAR DE C :');
end
M4=input('INGRESE CONCENTRACION MOLAR DE D :');
while M4<=0
'la concentracion molar debe ser mayor que cero'
M4=input('INGRESE CONCENTRACION MOLAR DE A :');
end
fprintf('\n')
a1=input('INGRESE EL COEFICIENTE DE A :');
a2=input('INGRESE EL COEFICIENTE DE B :');
a3=input('INGRESE EL COEFICIENTE DE C :');
a4=input('INGRESE EL COEFICIENTE DE D :');
fprintf('\n')
y=input('INGRESE EL POTENCIAL STANDAR DEL CATODO(E) :');
z=input('INGRESE EL POTENCIAL STANDAR DEL ANODO(E) :');
fprintf('\n')
disp('EL POTENCIAL ESTANDAR DE CELDA ES ');
Q=((y)-(z));
disp([Q]);
t=(M4^a4)*(M3^a3);
5
r=(M2^a2)*(M1^a1);
l=t/r;
G=((0.0257)/x)*(log(l));
P=((Q)-(G));
disp('EL POTENCIAL CELDA A CONDICIONES NO ESTANDAR ES ');
disp([P]);
disp('==========================================================')
disp('FIN DEL PROGRAMA')
INGRESE EL COEFICIENTE DE A :1
INGRESE EL COEFICIENTE DE B :1
INGRESE EL COEFICIENTE DE C :1
INGRESE EL COEFICIENTE DE D :1
==========================================================
FIN DEL PROGRAMA
%PROGRAMA 2
6
%PROGRAMA PARA HALLAR EL GRADO DE DISOCIACION EN UNA REACCION
QUIMICA
%Y TAMBIEN OBTENER Kp(constante de equilibrio en fin de las preciones)
clc;
disp('=======================================================')
disp(' PROGRAMA PARA HALLAR EL GRADO DE DISOCIACION Y KP ')
disp('=======================================================')
disp('para la reaccionaA<=>bB +cC')
fprintf('\n')
a=input('ingrese el valor del coeficiente a = ');
b=input('ingrese el valor del coeficiente b = ');
c=input('ingrese el valor del coeficiente c = ');
P=input('ingrese el valor de la presión en el equilibrio P(atm) = ');
V=input('ingrese el valor de volumen V(L)= ');
T=input('ingrese el valor de temperatura T(k) = ');
KC=input('ingrese el valor de la constante Kc = ');
no=input('ingrese el valor del numero de moles iniciales de A no =');
R=0.082;
neq=(P*V)/(R*T);
x=(neq-no)/(-a+b+c);
n=x/no;
Kp=KC*(T*R)^(b+c-a);
fprintf('el grado de disociacion es: '),n
fprintf('la constante es: '),Kp
disp('==========================================================')
disp('FIN DEL PROGRAMA')
la constante es:
Kp =
0.1998
==========================================================
FIN DEL PROGRAMA
7
%PROGRAMA 3
%PROGRAMA PARA HALLAR LA EFICIENCIA DE UUN PROCESO ELECTROQUIMICO
clc
disp('================================================================
=')
disp(' PROGRAMA PARA HALLAR LA EFICIENCIA DE UN PROCESO
ELECTROQUIMICO')
disp('================================================================
=')
fprintf('\n\n')
i=0;
while i<=0
i=input('Ingrese el valor de la intensidad en amperios:');
end
fprintf('\n')
t=0;
while t<=0
t=input('Ingrese el valor del tiempo en segundos:');
end
fprintf('\n')
pa=0;
whilepa<=0
pa=input('Ingrese el valor del peso atomico del elemento:');
end
x=0;
fprintf('\n')
while x<=0
x=input('Ingrese el valor de teta que es la mayor valencia para la sustancia con que se
esta trabajando:');
end
fprintf('\n')
mt=(pa*i*t)/(x*96500);
disp('El valor de la Masa Teorica es:');
disp(mt)
mp=input('Ingrese el valor de la masa practica:');
whilemp>mt
' No hay proceso en que la masa practica sea mayor que la masa teorica'
mp=input('Ingrese el valor de la masa practica:');
end
u=(mp/mt)*100;
disp(' EL VALOR DE LA EFICIENCIA EN PORCENTAJE ES :');
disp (u);
disp('================================================================'
);
disp('FIN DEL PROGRAMA')
8
=============================================================
PROGRAMA PARA HALLAR LA EFICIENCIA DE UN PROCESO ELECTROQUIMICO
=============================================================
Ingrese el valor de teta que es la mayor valencia para la sustancia con que se esta
trabajando:2
=============================================================
FIN DEL PROGRAMA
%PROGRAMA 4
%PROGRAMA PARA HALLAR EL TRABAJO Y LA VARIACION DE ENERGIA INTERNA
EN UN
%PROCESO TERMODINAMICO
clear,clc
disp('PROGRAMA PARA HALLAR EL TRABAJO Y LA VARIACION DE ENERGIA
INTERNA EN UN PROCESO TERMODINAMICO')
disp('opcion 1: proceso isobarico');
disp('opcion 2: proceso isotermico');
disp('opcion 3: proceso isocorico');
x=0;
while x<=0 | x>3
x=input('ingrese un número entre 1 y 3: ');
end
if x==1
opcion=1;
end
if x==2
opcion=2;
end
if x==3
opcion=3;
end
switchopcion
case 1
disp('PROCESO ISOBARICO');
9
p=input('ingrese el valor de la presion constante en pascales:');
while p<=0
'la presion no puede ser negativa'
p=input('ingrese el valor de la presion en pascales:');
end
v1=input('ingrese el valor del volumen 1 en metros cubicos:');
while v1<0
'el volumen no puede ser negativo negativo'
v1=input('ingrese el valor del volumen 1 en metros cubicos:');
end
t=input('ingrese el valor de la temperatura en kelvin:');
Q=input('ingrese el valor del CALOR entregado al sistema EN JOULES:');
for t2=0:10:t
v2=(v1*t2)/t;
W=p*(v2-v1);
U=Q-W;
disp([v2,W,U]);
plot(v2,t2,'o'),title('volumenvstemperatura'),xlabel('temperatura'),ylabel('volumen'),grid
on,holdon;
end
case 2
disp('PROCESO ISOTERMICO');
disp('proceso a temperatura constante');
Q=input('ingrese el valor del CALOR entregado al sistema EN JOULES:');
vo=input('ingrese el valor del volumen inicial:');
p1=input('ingrese el valor de la presion inicial');
vf=input('ingrese el valor del volumen final:');
for v=vo:10:vf
p2=(p1*vo)/v;
W=Q;
U=0;
disp([U,W,p2,v]);
plot(p2,v,'*'),title('presionvsvolumen'),xlabel('presion'),ylabel('volumen'),hold on ;grid on
end
case 3
disp('PROCESO ISOCORICO');
disp('el volumen es constante');
Q=input('ingrese el valor del CALOR entregado al sistema EN JOULES:');
p1=input('ingrese el valor de la presion inicial:');
to=input('ingrese el valor de la temperatura inicial:');
tf=input('ingrese el valor de la temperatura final:');
for t=to:10:tf;
p2=(p1*t)/to;
W=0;
U=Q;
disp([U,W,p2,t]);
plot(p2,t,'+'),title('presionvstemperatura'),xlabel('presion'),ylabel('temperatura'),hold
on,gridon ;
end
end
10
EJECUCION DEL PROGRAMA 4
PROCESO ISOBARICO
ingrese el valor de la presion constante en atmosferas:2
ingrese el valor del volumen 1 en metros cubicos:3
ingrese el valor de la temperatura en kelvin:600
ingrese el valor del CALOR entregado al sistema EN JOULES:500
0 -6 506
1 -4 504
2 -2 502
3 0 500
PROCESO ISOTERMICO
11
proceso a temperatura constante
ingrese el valor del CALOR entregado al sistema EN JOULES:600
ingrese el valor del volumen inicial:10
ingrese el valor de la presion inicial6
ingrese el valor del volumen final:120
0 600 6 10
0 600 3 20
0 600 2 30
0 600 1 60
PROCESO ISOCORICO
el volumen es constante
12
ingrese el valor del CALOR entregado al sistema EN JOULES:600
ingrese el valor de la presion inicial:4
ingrese el valor de la temperatura inicial:300
ingrese el valor de la temperatura final:420
600 0 4 300
13
PROGRAMA Nº5
%este programa halla :la constante de equilibrio , potencial estandar de
%reduccion de una celda, y la energia libre de gibbs
%Las reacciones de celdas galvanicas son espontaneas ya que no necesitan
%energiaelectrica ,mas bien la producen,osea son espontaneas y por esto
%lo podemos relacionar con la enegia libre de gibbs estudiada en el tema de
%termoquimica y tambien en termodinamica
%esta relacion permite tambien hallar la constante de equilibrio en la
%celda galvanica
clc
clearall
l=3;
while l==3
clc
disp('MENU DE ELECTROQUIMICA')
disp('')
disp('1.-CONSTANTE DE EQUILIBRIO ')
disp('2.-POTENCIAL DE ESTANDAR DE REDUCCION ')
disp('3.-ENERGIA LIBRE DE GIBBS ')
disp('')
x=0;
while x<=0|x>=4;
x=input('ELIJA EL PROGRAMA Q DESEA EJECUTAR DEL MENU: ');
end
if x==1;
opcion=1;
end
if x==2;
opcion=2;
end
if x==3;
opcion=3;
end
switchopcion;
case 1
clc
l=1;
while l==1;
l=2;
while l==2
clc
disp('Menu de la constante de equilibrio : ')
disp('')
disp('Si tiene ?G ,n marque "1"')
disp('Si tiene Eanodo,Ecatodo,n, marque "2"')
disp('')
x=0;
while x<=0|x>=3;
x=input('marque su opcion : ');
end
if x==1
opcion=1;
end
if x==2
opcion=2;
14
end
switchopcion;
case 1
clc
disp('------------------------------------------------------')
disp('CONSTANTE DE EQUILIBRIO A CONDICIONES NORMALES')
disp('------------------------------------------------------')
l=1;
while l==1;
clc
disp('CONSTANTE DE EQUILIBRIO')
disp('A CONDICIONES NORMALES')
disp('')
G=input('ingrese energia libre de gibbsestandar:');
R=8.314;
T=298;
k=eps(G/R*T);
disp([k])
disp('')
l=input('1.-CONTINUAR;2.-MENU;3.-MENU PRINCIPAL;4.-SALIR : ');
if l==2;
elseif l==3
elseif l==4
end
end
end
case 2
clc
clearall
l=1;
while l==1;
disp('CONSTANTE DE EQUILIBRIO')
disp('A CONDICIONES NORMALES')
disp('')
Vanodo=input('potencial estandar de reduccion del anodo es : ');
Vcatodo=input('potencial estandar de reduccion del catodo es : ');
Vcelda=Vcatodo-Vanodo;
n=input('intercambio de electrones en la ecuacion es : ');
R=8.314;T=298;F=96470;
K=eps(n*F*Vcelda/(R*T))
15
case 2
clc
clear all
l=1;
while l==1;
l=2;
while l==2;
clc
clear all
disp(' MENU DEl POTENCIAL ESTANDAR DE REDUCCION ')
disp('')
disp('Si tiene G y n marque "1"')
disp('Si tiene K y n marque "2"')
disp('')
x=0;
while x<=0|x>=3;
x=input('marque la opcion quemas le parezca:');
end
if x==1;
opcion=1;
end
if x==2;
opcion=2;
end
switch opcion;
case 1
clc
disp('');
disp('POTENCIAL ESTANDAR DE REDUCCION')
disp('')
disp('==>con la constante de equilibrio')
l=1;
while l==1;
clc
K=input('ingrese la constante de equilibrio : ');
R=8.314;
F=96470;
T=298;
n=input('ingrese el numero de electrones intercambiados : ')
E=T*R*log(K)/n*F;
disp([E])
disp('')
l=input('1.-CONTINUAR;2.-MENU;3.-MENU PRINCIPAL;4.-SALIR : ');
if l==2;
elseif l==3;
elseif l==4;
end
end
otherwise
clc
disp('')
disp('POTENCIAL ESTANDAR DE REDUCCION')
disp('')
disp('==>Con la energia libre de gibbs')
16
l=1;
while l==1;
G=input('ingrese la energia libre de gibbs');
n=input('ingrese el numero de moles electron');
F=96470;
E=-G/n*F;
disp([E])
disp('')
l=input('1.-CONTINUAR;2.-MENU;3.-MENU PRINCIPAL;4.-SALIR : ')
if l==2;
elseif l==3;
elseif l==4;
end
end
end
end
end
¿??????? l=3;
while l==3;
clc
disp('Menu de "ENERGIA LIBRE DE GIBBS"')
disp('')
disp('Si tiene l variable "" ->OPCION 1')
disp('si tiene ""->OPCION 2')
disp('')
x=0;
x=input('¿Que opcion elige?');
while x<=0|x>=3;
disp('');
end
if x==1;
opcion=1;
end
if x==2;
opcion=2
end
switch opcion
case 1
disp('')
disp('ENERGIA LIBRE DE GIBBS')
disp('-->Con la constante de equilibrio')
disp('')
l=1;
while l==1;
K=input('Escriba sus constante de equilibrio');
R=8,314;
T=298;
G=-R*T*log(K);
disp([G])
l=input('1.-CONTINUAR;3.-MENU;2.-SALIR : ')
if l==2;
clc
elseif l==3;
17
end
end
case 2
end
end
clc
clc
clear all
disp('')
disp('ENEGIA LIBREDE GIBBS')
disp('--> Con el potencial estandar de reduccion')
disp('')
l=1;
while l==1
E=input('ingrese el potencial estandar de reduccion de la celda : ');
n=input('La cantidad de moles electron es : ');
F=96470;
G=-n*F*E
disp('')
l=input('1.-CONTINUAR;2.-SALIR : ')
if l==2;
clc
end
end
clc
MENU DE ELECTROQUIMICA
1.-CONSTANTE DE EQUILIBRIO
2.-POTENCIAL DE ESTANDAR DE REDUCCION
3.-ENERGIA LIBRE DE GIBBS
ELIJA EL PROGRAMA Q DESEA EJECUTAR DEL MENU: 1
Menu de la constante de equilibrio :
Si tiene ?G ,n marque "1"
Si tiene Eanodo,Ecatodo,n, marque "2"
marque su opcion : 1
CONSTANTE DE EQUILIBRIO
A CONDICIONES NORMALES
ingrese energia libre de gibbs estandar:2530
1.4552e-011
1.-CONTINUAR;2.-MENU;3.-MENU PRINCIPAL;4.-SALIR :
Menu de la constante de equilibrio :
Si tiene ?G ,n marque "1"
Si tiene Eanodo,Ecatodo,n, marque "2"
18
marque su opcion : 2
CONSTANTE DE EQUILIBRIO
A CONDICIONES NORMALES
potencial estandar de reduccion del anodo es : -0.14
potencial estandar de reduccion del catodo es : 0.15
intercambio de electrones en la ecuacion es : 2
K=
3.5527e-015
PROGRAMA Nº6
19
opcion=4;
end
switch opcion
case 1
%este programa te ayuda a calcular la concentración inicial utilizada
%en una reacción de equilibrio
%utilizando dos variables;laka(constante de ionización del ácido)y el pH
%del ácido cuando ya está en equilibrio
%se considerará para la resolución de problemas se aceptarán sólo
%compuestos que tengan como coeficientes ¨1¨
clc
format long
disp('=================================================================')
disp('¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿ PROGRAMA PARA HALLAR ??????????????????????')
disp('¿¿¿¿¿¿¿¿¿¿¿¿¿ CONCENTRACION INICIAL DE UN ACIDO DEBIL ???????????')
disp('=================================================================')
disp('')
disp('')
disp('CREANDO LA ECUACION IONICA')
disp('PARA QUE LA ECUACION SUCEDA TIENE QUE EXPRESAR UN ACIDO DEBIL')
disp('La ecuacion : ')
disp(' aA<-->bB+ cH+ ')
disp('Donde A es la acidodebil,')
disp('B es la base conjugada')
pH=input('Ingrese el pH de EL ACIDO : ');
kb=input('ingrese la constante de ionización de la base : ');
disp('kb=([ácido conjug.][H+])/[base]')
disp('')
pOH=14-pH;
concent=10.^(-pOH);
concentracion_inicial=(concent.^2+kb.*concent)./kb;
fprintf('la concentración inicial es %f del ácido
débil',concentracion_inicial);
disp('')
case 2
%halla la concentracionimnicialdecualquier base debil
%este programa esta basado enteoria de equilibrio ionico desarrollado en
la
%facultad de ingenieriaquimica.
%
clc
clear all
disp('¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿')
disp('¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿ PROGRAMA PARA HALLAR ??????????????????????')
disp('¿¿¿¿¿¿¿¿¿¿¿¿¿ CONCENTRACION INICIAL DE UNA BASE DEBIL
????????????')
disp('????????????????????????????????????????????????????????????????')
disp('')
disp('')
disp('CREANDO LA ECUACION IONICA')
disp('PARA QUE LA ECUACION SUCEDA TIENE QUE EXPRESAR UNA BASE DEBIL')
disp('La ecuacion : ')
disp(' aA+ H20 <-->bB+ cOH-')
disp('Donde A es la base debil,')
disp('B es el acido conjugado')
pH=input('Ingrese el pH de la base : ');
20
kb=input('ingrese la constante de ionizacion de la base : ');
disp('kb=([acidoconjug.][OH-])/[base]')
disp('')
pOH=14-pH;
concent=10.^-pOH;
concentracion_inicial=(concent.^2+kb.*concent)./kb;%
fprintf('la concentracion inicial es %f de la base
debil',concentracion_inicial);
disp('')
case 3
% este programa es para hallar la constante de equilibrio de un
% acidodebil
%se necesita la concentracion inicial del acidodebil;y el ph
%Se utiliza la teoria de equilibrio ionico
%Especificamenteteoria de un acidodebil
%se halla la concentracion de hidrogenos con logaritmo decimal
%negativo [H]=10^-(pH)
%Despues se halla lo pedido la constante de equilibrio con:
%K=([H]^2)/([]inicial-[H])
clc
clear all
disp('-------------------------------------')
disp('------Programa para hallar la--------')
disp('-CONSTANTE DE EQUILIBRIO DE UN ACIDO-')
disp('-------------------------------------')
disp('')
A=input('concentracion inicial del acido es : ');
pH=input('el pH del acido es : ');
H=10.^(-(pH));
K=(H.^2)/(A-H)
otherwise
%este programa es para hallar la constante de equilibrio de una base
%debil
%llateoria es la misma que para los anteriores ejercicios
%Para desarrollar el problema se procedera a convertir al pH en pOH
%haciendo una simple resta 14 menos el pH
%despues se halla la constante de equilibrio teniendo "x" que es la
%concentracion de OH
clc
clear all
disp('____________________________________________________')
disp('============Programa para hallar la ===============')
disp('=============CONSTANTE DE UNA BASE=================')
disp('===================================================')
disp('')
B=input('la concentracion inicial de la base es : ');
pH=input('el pH de la base es :')
pOH=14-pH;
OH=10.^(-(pOH));
K=(OH.^2)/(B-OH)
end
21
==> Se emplea la siguiente ecuacion :
aA+ H2O <==> bB + H
o
bB + H2O <==> aA +OH
------------------------------------
--4 PROGRAMAS DE EQUILIBRIO IONICO--
------------------------------------
elija su opcion
opcion 1: CONCENTRACION DE UN ACIDO DEBIL
opcion 2: CONCENTRACION DE UNA BASE DEBIL
opcion 3: CONSTANTE de EQILLIBRIO DE UN ACIDO DEBIL
opcion 4: CONSTANTE DE EQUILIBRIO DE UNA BASE DEBIL
ingrese un número entre 1 y 4: 1
==> Se emplea la siguiente ecuacion :
aA+ H2O <==> bB + H
o
bB + H2O <==> aA +OH
------------------------------------
--4 PROGRAMAS DE EQUILIBRIO IONICO--
------------------------------------
elija su opcion
opcion 1: CONCENTRACION DE UN ACIDO DEBIL
opcion 2: CONCENTRACION DE UNA BASE DEBIL
opcion 3: CONSTANTE de EQILLIBRIO DE UN ACIDO DEBIL
opcion 4: CONSTANTE DE EQUILIBRIO DE UNA BASE DEBIL
ingrese un número entre 1 y 4: 1
==> Se emplea la siguiente ecuacion :
aA+ H2O <==> bB + H
o
bB + H2O <==> aA +OH
------------------------------------
--4 PROGRAMAS DE EQUILIBRIO IONICO--
------------------------------------
elija su opcion
opcion 1: CONCENTRACION DE UN ACIDO DEBIL
opcion 2: CONCENTRACION DE UNA BASE DEBIL
opcion 3: CONSTANTE de EQILLIBRIO DE UN ACIDO DEBIL
opcion 4: CONSTANTE DE EQUILIBRIO DE UNA BASE DEBIL
ingrese un número entre 1 y 4: 2
¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿
¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿ PROGRAMA PARA HALLAR ??????????????????????
¿¿¿¿¿¿¿¿¿¿¿¿¿ CONCENTRACION INICIAL DE UNA BASE DEBIL ????????????
????????????????????????????????????????????????????????????????
CREANDO LA ECUACION IONICA
PARA QUE LA ECUACION SUCEDA TIENE QUE EXPRESAR UNA BASE DEBIL
La ecuacion :
aA+ H20 <--> bB+ cOH-
22
Donde A es la base debil,
B es el acido conjugado
Ingrese el pH de la base : 11.22
ingrese la constante de ionizacion de la base : 0.002
kb=([acido conjug.][OH-])/[base]
la concentracion inicial es 0.003037 de la base debil>>
23