function y=f(x) y=exp(-x^2)-x; endfunction function xr=biseccion(xai,xbi,tol) i=1; ea(1)=100; if f(xai)*f(xbi) < 0 xa(1)=xai; xb(1)=xbi; xr(1)=(xa(1)+xb(1))/2; printf('It.\t\t Xa\t\t Xr\t\t Xb\t Error \n'); printf('%2d \t %11.7f \t %11.7f \t %11.7f \n',i,xa(i),xr(i),xb(i)); while abs(ea(i)) >= tol if f(xa(i))*f(xr(i))< 0 xa(i+1)=xa(i); xb(i+1)=xr(i); end if f(xa(i))*f(xr(i))> 0 xa(i+1)=xr(i); xb(i+1)=xb(i); end xr(i+1)=(xa(i+1)+xb(i+1))/2; ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1))*100); printf('%2d \t %11.7f \t %11.7f \t %11.7f \t %7.3f \n',i+1,xa(i+1),xr(i+1),xb(i+1),ea(i+1)); i=i+1; end else printf('No existe una raÃz en ese intervalo'); end endfunction
videotutoriales de matlab, octave, numpy, python, POA, algoritmia, simulacion de procesos en ingenieria quimica, y algo de ingenieria quimica
sábado, 31 de marzo de 2012
Método de la Bisección en Scilab
viernes, 23 de marzo de 2012
Tuplas y Listas en python 3
>>> #tupla sirve para manejar datos de cualquier tipo >>>tupla = (1,2,3,4,5) tupla (1, 2, 3, 4, 5) >>> #Almacenando edad, nombre, estatura en una tupla >>> tupla2=(24,'Años','Israel','1.70','Metros') >>> tupla2 (24, 'Años', 'Israel', '1.70', 'Metros') >>> #Lista sirve para manejar Datos de cualquie tipo. >>> #a diferiencia de las tuplas estas si pueden ser modificadas >>> lista =[1,2,3,4] >>> lista [1, 2, 3, 4] >>> lista2=['verde','blanco','rojo'] >>> lista2 ['verde', 'blanco', 'rojo'] >>> lista3 =[3,2,tupla2] >>> lista3 [3, 2, (24, 'Años', 'Israel', '1.70', 'Metro')] >>> #Usando la funcion len para conocer el numero de elementos en una tupla o lista >>> len(tupla) 5 >>> len(lista) 4 >>> #la tupla que se encuentra en la lista3 es tomada como si fuera un solo elemento esto se nota al aplicar la funcion len >>> len(lista3) 3 >>> #usando la Funcion type() >>> type(tupla) <class 'tuple'> >>> type(lista3) <class 'list'> >>> #modificando una lista >>> lista3.append("soy otro valor") >>> lista3 [3, 2, (24, 'Años', 'Israel', '1.70', 'Metro'), 'soy otro valor'] >>> lista3.insert(2,'cambie el 2') >>> lista3 [3, 2, 'cambie el 2', (24, 'Años', 'Israel', '1.70', 'Metro'), 'soy otro valor'] >>> #eliminado la tupla2 >>> lista3.remove(tupla2) >>> lista3 [3, 2, 'cambie el 2', 'soy otro valor'] >>> #python cuenta desde cero >>> lista3[0] 3 >>> #modificando un elemento >>> lista3[0]='cambio' >>> lista3 ['cambio', 2, 'cambie el 2', 'soy otro valor']
miércoles, 21 de marzo de 2012
metodo de Simpson de 1/3 y 3/8 en Matlab
clear all; clc; fprintf('Calculo de la integral por el metodo de Simpson de 1/3 y 3/8\n\n'); fprintf('Para cualquier cantidad de segmentos par o impar\n\n'); f=input('introduce la funcion:','s'); a=input('lime inferior:'); b=input('limite superior:'); c=input('numero de segmentos a dividir :'); h=(b-a)/c; qqqqq=0; if (-1)^c==-1 b=b-(3*h); c=c-3; e=b+h; ff=b+2*h; g=b+3*h; ee=g-b; x=b; q=eval(f); x=e; qq=eval(f); x=ff; qqq=eval(f); x=g; qqqq=eval(f); qqqqq=(ee)*((q+3*qq+3*qqq+qqqq)/8); end z=0; x=a; for i=1:c; if (-1)^i==1 k=eval(f); z=z+k; end x=h*i; end zz=0; x=a; for i=2:c; if (-1)^i==-1 k=eval(f); zz=zz+k; end x=h*i; end x=a; if x==a d=eval(f); end x=b; if x==b eee=eval(f); end z=z*4; v=zz*2; z=z+v+d+eee; z=z/(3*c); z=z*(b-a); z=z+qqqqq fprintf('Resultado ');
lunes, 19 de marzo de 2012
Metodo de la inversa de la Matriz con Gauss-Jordan en Matlab
clear all; clc; fprintf('Dame la matriz a la que le quieres calcular la inversa: \n') f=input('cuantas filas:'); c=input('cuantas columnas:'); for k=1:c for j=1:f fprintf('fila: %x\n',j) fprintf('columna: %x',k) r=input('numero de esta fila y columna: '); a(j,k)=r; j=j+1; end k=k+1; end a b=a; pause fprintf('dame la matriz identidad del mismo grado que la matriz anterio\n\n') for k=k:c*2 for j=1:f fprintf('fila: %x\n',j) fprintf('columna: %x',k) r=input('numero de esta fila y columna: '); a(j,k)=r; j=j+1; end k=k+1; end a pause for k=1:c a(k,:)=a(k,:)/a(k,k); for j=k+1:f a(j,:)=a(j,:)-a(k,:)*a(j,k); j=j+1; a pause end k=k+1; a pause end for k=f:-1:2 for j=k-1:-1:1 a(j,:)=a(j,:)-a(k,:)*a(j,k); j=j-1; a pause end k=k-1; a pause end fprintf('calculo la inversa para comprobar directo con matlab\n') c=inv(b); c
domingo, 18 de marzo de 2012
Metodo de Gauss-Jordan en Matlab
clear all ; clc; fprintf('Dame la matriz aumentada\n\n'); f=input('Cuantas filas tiene la matriz: '); c=input('Cuantas columnas tiene la matriz: '); for k=1:c for j=1:f fprintf('fila : %x\n',j) fprintf('columna : %x',k) r=input('Numero de esta fila y columna: '); a(j,k)=r; j=j+1; end k=k+1; end a pause for k=1:c-1 a(k,:)=a(k,:)/a(k,k); for j=k+1:f a(j,:)=a(j,:)-a(k,:)*a(j,k); j=j+1; a pause end k=k+1; a pause end for k=f:-1:2 for j=k-1:-1:1 a(j,:)=a(j,:)-a(k,:)*a(j,k); j=j-1; a pause end k=k-1; a pause end fprintf('resultado\n');
viernes, 16 de marzo de 2012
Teoria de los lenguajes de Programacion.
¿Que es la Teoría de los lenguajes de Programación?
Seré sincero la primera vez que escuche este termino lo primero en lo que pensé fue simplemente en son los conocimientos teóricos que engloban a un lenguaje de programación.
Pero esta área de la informática va mucho mas allá del estudio la sintaxis de algún lenguaje de programación (LP), de su sintaxis, así como también el enfoque en el que se usa el LP.
¿Entonces que es la Teoría de los Lenguajes de Programación (TLP o PLT)?
¿En que consiste?
¿Cuales son sus alcances?
Podríamos Definir entonces las TLP o LPT como la rama de la informática encargada del diseño, implementación, análisis,caracterización, y clasificación de los LP.
Entonces el Estudio de los Lenguajes de Programación nos provee de lo siguiente:
Un Estudio formal del LP, lo cual nos permite entender la semántica y sintaxis del LP.
Conocer cuales son los mecanismos de LP, así como su estructura, orientación, campo en el que se desenvuelve, y sobre todo el paradigma de programación.
Esto provee al programador, diseñador de un LP. De los conocimientos conceptos básicos que se deben conocer en esta área tan competitiva de los LP.
"Si le das a alguien un programa, lo frustrarás un día. Si le enseñas a programar, lo frustrarás toda la vida"
Editores de Texto Latex para ubuntu.
es un sistema de composición de textos, orientado especialmente a la
creación de libros, documentos científicos y técnicos que contengan
fórmulas matemáticas.
LaTeX está formado por un gran conjunto de macros de TeX, escrito por Leslie Lamport en 1984, con la intención de facilitar el uso del lenguaje de composición tipográfica, , creado por Donald Knuth.
Es muy utilizado para la composición de artículos académicos, tesis y
libros técnicos, dado que la calidad tipográfica de los documentos
realizados con LaTeX es comparable a la de una editorial científica de
primera línea.
A diferencia de un procesador de textos, con LATEX tenemos un control más fino sobre cualquier aspecto tipográfico del documento.
Dos de los editores mas usados son los siguientes:
Kile: Es un editor de Tex/LaTeX. Funciona conjuntamente con KDE en varios sistemas operativos.
Para instalarlo abrimos una terminal y escribimos lo siguiente.
sudo apt-get install kile texlive-latex-recommended texlive-latex-extra preview-latex-style texlive-pictures.
Instalando TexMaker:
sudo aptitude install texmaker.
¿Que Otro Editor de Latex Conoces?
martes, 13 de marzo de 2012
Videotutorial 27 de Matlab
Uso del Pop-up Menu y el Toggle Button en Matlab
Codico del video y curso completo en : isrant.blogspot.com
codigo del video. http://www.mediafire.com/?qjcszj6ifv64th9
lunes, 12 de marzo de 2012
sábado, 10 de marzo de 2012
Metodo de la Regla Falsa (Version 2) en Matlab
clear all; clc; fprintf('\n metodo de la Regla Falsa\n\n'); y=input('Dame la funcion : ','s'); xl=input('Dame el intervalo inferior : '); xu=input('Dame el intervalo superior : '); e=input(<+span>'Dame el porciento del error : '); xi=0; ea=100; c; x=xl; a=eval(y); x=xu; b=eval); cc=a*b; if cc>0 fprintf('\n\nLos intervalos que ha ingresado para hacer el calculo de la raiz\n\n'); fprintf('\nde la ecuacion no son los adecuados por no existir una raiz entre \n\n'); fprintf('\nestos, precione enter para executar de nuevo el programa, por favor.\n\n'); pause regfal end while ea>e x=xl; yl=eval(y); x=xu; yu=eval(y); xr=xu-yu*(xl-xu)/(yl-<+span>yu)<+span>; x=xr; yr=eval(y); ea=abs((xr-xi)/xr)*100; z=yl*yr; if z<0 xu=xr; end if z>0 xl=xr; end if z==0 fprintf('\n\n\n\nLa raiz exacta es: %d',xr) fprintf('\n\nNumero de iteraciones: %d',c) break end xi=xr; c=c+1; end if ea<e fprintf('\n\n\n\nLa raiz exacta es: %d',xr) fprintf('\n\nNumero de iteraciones: %d',c); end
jueves, 8 de marzo de 2012
Metodo de Newton Raphson (Version 2) en matlab
%Vercion 2 Haciendo uso de la Funcion Eval()
%lo cual permite que el codigo sea mas eficiente
% y menos complejo
clear all;
clc;
fprintf('\n método de Newton Rapson\n\n');
f=input'Dame la funcion f(x) : ','s#<+span>);
ff=input('Dame la derivada de funcion f(x) : ','s');
xi=input('Dame el valor inicial de x : ');
e=input('Daie el porciento del error : ')<+span>;
ea=1000;
c=1;
x=xi;
while ea>e
g=eval(f);
h=eval(ff);
j=x-g/h;
ea=abs((j-x)/j*100);
x=j;
c=c+1;
end
fprintf('\n\n\n\nLa raíz exacta es: %d',j);
fprintf('\n\nNumero de iteraciones: %d',c);
%lo cual permite que el codigo sea mas eficiente
% y menos complejo
clear all;
clc;
fprintf('\n método de Newton Rapson\n\n');
f=input'Dame la funcion f(x) : ','s#<+span>);
ff=input('Dame la derivada de funcion f(x) : ','s');
xi=input('Dame el valor inicial de x : ');
e=input('Daie el porciento del error : ')<+span>;
ea=1000;
c=1;
x=xi;
while ea>e
g=eval(f);
h=eval(ff);
j=x-g/h;
ea=abs((j-x)/j*100);
x=j;
c=c+1;
end
fprintf('\n\n\n\nLa raíz exacta es: %d',j);
fprintf('\n\nNumero de iteraciones: %d',c);
Interpolacion con el Polinomio de Lagrange en matlab
clear all; clc; fprintf('Interpolacion con el Metodo del Polinomio de Lagrange\n\n'); n=input('grado del polinolio: '); for i1:n+1 x(1,i)=input('dame los valores de xi:'); end for i=1:n+1 xi(1,i)=input('dame los valores de f(xi):'); end x xi xint=input('Numero para el que desea interpolar x: '); fxint=0; i=1; while i<=n+1 L=1; J=0; while J<=n if i~=J+1 L=L*(xint-x(1,J+1))/(x(1,i)-x(1,J+1)); end J=J+1; end fxint=fxint+L*xi(1,i); i=i+1; end fprintf('\nresultado xi: %d',fxint'); plotx,xi) grid title('Polinomio de Lagrange');xlabel('x');yhabel('y')
martes, 6 de marzo de 2012
Método del Trapecio en matlab
clear all; clc; fprintf('Calculo de la integral por el metodo trapecial\n\n'); f=input('introduce la funcion:','s'); a=input('lime inferior:'); b=input('limite superior:'); c=input('numero de segmentos a dividir:'); h=(b-a)/c; z=0; for x=a:h:b k=eval(f); if x==a,d=k; end if x==b,e=k; end z=z+k; end z=z-d-e; z=z*2; z=z+d+e; z=z/(2*c); z=z*(b-a) fprintf('Resultado ');