lunes, 28 de octubre de 2013

Métodos numéricos con Matlab

Este texto introduce al lector a una amplia gama de algoritmos numéricos, mientras que explica los principios fundamentales e ilustra las aplicaciones de esos algoritmos.
=D.E.S.C.A.R.G.A.R= 

lunes, 21 de octubre de 2013

Modelo de reacciones en serie, usando Matlab

Tenemos la función en la que planteamos nuestras ecuaciones de balance.
%Modelo basico de reacciones en serie
%esta funcion debe llamarse serie
%x---k1-->y---k2--->z
function dEct = serie(t,C)
global k1 k2
dEct = [-k1*C(1);k1*C(1)-k2*C(2);k2*C(2)];
Ahora  este es nuestro programa principal, en el cual  usamos en este caso la función serie donde tenemos nuestra ecuación plantead como dEct.
%programa principal
clc
clear
global k1 k2
disp('Introduce los siguientes Datos')
Cxo = input('Concentracion inicial de X (mol):_ ');
Cyo = input('Concentracion inicial de Y (mol):_ ');
Czo = input('Concentracion inicial de Z (mol):_ ');
cuadal = input('Cuadal (l /min):_ ');
k1 = input('K1:_ ');
k2 = input('K2:_ ');
tiempolimite = input('Tiempo maximo de reaccion:_ ');
vectiempo = [0:0.0005:tiempolimite];
vecC = [Cxo Cyo   Czo];
[t,C]= ode45('serie',vectiempo,vecC);
plot(t,C(:,1),'-',t,C(:,2),':',t,C(:,3),'--');
xlabel('tiempo (min)');
ylabel('Concentracion (mol/litro)');
title('Modelo de Reaccion en Serie');
legend ('Cx','Cy','Cz');
Cmax = max(C(:,2));
tmax = t(find(C(:,2)==(max(C(:,2)))));
Vol = cuadal*tmax
Corriendo la aplicacion.
Introduce los siguientes Datos
Concentracion inicial de X (mol):_ 3.5
Concentracion inicial de Y (mol):_ 1.23
Concentracion inicial de Z (mol):_ 0
Cuadal (l /min):_ 28.598
K1:_ 0.562
K2:_ 0.123
Tiempo maximo de reaccion:_ 25

Vol =

   83.2488

jueves, 17 de octubre de 2013

Derivadas en Matlab.

Seguimos  con las publicaciones de Matlab para calculo, ahora toca el tema de derivadas.
>> syms x 
>> f = 2*x^2;
>> %procedemos a derivarla mendiante el comando diff()
>> diff(f)
 
ans =
 
4*x
 
>> %% DERIVADA PARCIAL
>> syms y
>> F= 2*x^3*y;
>> diff(F,x)% con respecto a X
 
ans =
 
6*x^2*y
 
>> diff(F,y)% con respecto a Y
 
ans =
 
2*x^3
 
>> % las letras que son consideras  literales son: x,w,y,z
>> %todas las demas letras son consideradas constantes
>> syms a
>> f2 = 3*a*x^2
 
f2 =
 
3*a*x^2
 
>> diff(f2)
 
ans =
 
6*a*x
>> syms x n
>> f3 = x^n;
>> diff (f3)
 
ans =
 
n*x^(n - 1)
 
>> f3 = sqrt(x^n);
>> F2 = diff(f3)
 
F2 =
 
(n*x^(n - 1))/(2*(x^n)^(1/2))
 
>> % si nos damos cuenta tenemos  en estos 2 utimos casos las formulas de derivacion
>> pretty(F2)
 
     n - 1 
  n x 
  --------- 
      n 1/2 
  2 (x )
>> ans
 
ans =
 
n*x^(n - 1)
 
>> pretty (ans)
 
     n - 1 
  n x


jueves, 10 de octubre de 2013

Calculo de Limites en Matlab

Hace un tiempo atrás cursando introducción al calculo en la universidad los temas de limites, limites laterales, limites en el infinito, continuidad. fueron un  dolor de cabeza, aun que debo confesar que ese dolor de cabeza aumento demasiado cuanto  curse ecuaciones Diferenciales. Buscando un poco aligerar la carga de algún chico que curse  estas materias prepare una serie de post referentes a calculo utilizando  Matlab.

>> %ejemplo de un limite en Matlab
>> syms x
>> limit (x^2,x,3)
 
ans =
 
9
 
>> %ahora calcularemos un limite en el infinito
>> limit(sqrt(x^2+1),x,inf)
 
ans =
 
Inf
 
>> %otro  ejemplo muy poco conocido  es el calculo de los limites laterales en matlab 
>> limit(tan(x),x,pi/2,'left') %limite por la izquierda
 
ans =
 
Inf
 
>> limit(tan(x),x,pi/2,'right') %limite por la drecha
 
ans =
 
-Inf
 
>> % en este caso los limites tando de la derecha e izquierda no son iguales  entonces 
>> %% la funcion  no es continua
>>