Enunciado Del Problema

download Enunciado Del Problema

of 14

description

, MMLL

Transcript of Enunciado Del Problema

1. Enunciado del problemaEn un reactor se presenta una estratificacin similar al del problema 1, los datos que se tienen son los siguientes:H (m) 0 0.5 1.0 1.5 2.0 2.5 3.0T (C) 70 68 55 22 13 11 10

2. Solucin del problema Tabla de Datos del ProblemaH (m) 0 0.5 1.0 1.5 2.0 2.5 3.0T (C) 70 68 55 22 13 11 10

Grfico de la funcin con los Datos del Problema

2.1 Clculo con el Mtodo de Splines Expresin analtica de las relaciones utilizadas para escribir el cdigo en Matlabi. [xi , xi+1] donde i = 0, , n-1 (n subintervalos)ii. En cada [xi , xi+1] se aproxima f(x) por un polinomio de grado 3:

Si(x) = ai + bix + cix2 + di x3 , x [xi , xi+1]

Mediante el caso de la segunda derivada:

S0(2) (x0) = 0 y Sn-1(2) (xn) = 0 , por lo tanto M0=0 y Mn=0

Tabla de la Segundas Derivadas:M00

M1-26.0308

M2-159.8769

M3185.5385

M4-6.2769

M57.5692

M60

Grfico: en el mismo grfico- los valores estimados con las Splines,

Copia del programa escrito en Matlab (Anexo 1)2.2 Clculo con el Mtodo de Interpolacin con Polinomios Expresin analtica de las relaciones utilizadas para escribir el cdigo en Matlabi. Se establece ( xi , f(xi) ) donde i = 0, , n y decimos quexi = x0 + h Con h = paso constante

ii. Clculo de las diferencias finitas mediante:

f(x) = f(x+h) f(x)

k f(x) = k-1 f(x+h) k-1 f(x)

iii. Clculo del polinomio:Con:

Tabla del polinomio de interpolacin en el formato:Grado6

f(X0)=70f(X1)=-22f(X2)=-113f(X3)=-94f(X4)=535f(X5)=-1146f(X6)=186

f(X1)=68f(X2)=-132f(X3)=-203f(X4)=444f(X5)=-615f(X6)=72

f(X2)=55f(X3)=-332f(X4)=243f(X5)=-174f(X6)=11

f(X3)=22f(X4)=-92f(X5)=73f(X6)=-6

f(X4)=13f(X5)=-22f(X6)=1

f(X5)=11f(X6)=-1

f(X6)=10

Grfico:

- de la diferencia entre los valores estimados con las Splines y los valores estimados con el polinomio de interpolacin,

Copia del programa escrito en Matlab (Anexo 2).2.3 Clculo con polyfit y polyval de Matlab Grfico:

- de la diferencia entre los valores estimados con las Splines y los valores estimados con polyfit yPolyval

2.4 Clculo con interp1 (splines) de Matlab 2

Grfico:- de la diferencia entre los valores estimados con las Splines y los valores estimados con interp1(opcin splines)

3. Conclusiones Sobre los resultados obtenidos (descripcin del comportamiento de las curvas en funcin del mtodo utilizado).Los resultados obtenidos por este metodo son bastante confiables ya que los mismos varian relativamente poco ademas que las graficas obtenidas por el polinomio y las splines tienen una ligera variacion la cual no es demasiado marcada y por lo tanto se puede decir que el metodo es confiable. Ademas se observa que las curvas obtenidas son bastante suaves y parecidas lo cual confirma que el error no es bastante grande. Sobre la precisin de clculo de los mtodos utilizados y los de Matlab.Observando las graficas del error con los metodos de Matlab se puede observar que posee una variacion no mayor a 1 por lo tanto se puede decir que el calculo se lo realizo de la manera correcta.Se puede observar que matlab al usar mayor cantidad de puntos intermedios posee una mejor aproximacion a la funcion por lo tanto se dice que el metodo de matlab es mucho mejor que el polinomio o las splines construidas por programas en matlab.

Anexo 1

function [Tx,Ty,M]=spline(tx,tf,npi)%calculo por el metodo de las splinesn1=length(tx);n=n1-1;for i=1:n h(i)=tx(i+1)-tx(i);end[a,b,c,d]=coeficientes(n1,h,tf);M=Thomas(n1,a,b,c,d);ic=0;for i=1:n ic=ic+1; Tx(ic)=tx(i); Ty(ic)=tf(i); paso=(tx(i+1)-tx(i))/(npi+1); for j=1:npi ic=ic+1; Tx(ic)=Tx(ic-1)+paso; x=Tx(ic);Ty(ic)=spln(i,h,tx,tf,M,x); endendic=ic+1;Tx(ic)=tx(n1);Ty(ic)=tf(n1); function [a,b,c,d]=coeficientes(n1,h,tf)%calculo de los coeficientes de gauss con pivoteofor i=1:n1-3 c(i)=h(i+1)/6; a(i+1)=c(i);endc(n1-2)=0; a(1)=0;for i=1:n1-2 b(i)=(h(i+1)+h(i))/3;enddy=(tf(2)-tf(1))/h(1);for i=2:n1-1 dy1=(tf(i+1)-tf(i))/h(i); d(i-1)=dy1-dy; dy=dy1;endfunction [M]=Thomas(n1,a,b,c,d)%calculo de M por el metodo de Thomasfor i=2:n1-2 factor=a(i)/b(i-1); b(i)=b(i)-factor*c(i-1); d(i)=d(i)-factor*d(i-1);endM(n1)=0;M(1)=0;for i=n1-2:-1:1 M(i+1)=(d(i)-c(i)*M(i+2))/b(i);end function [sx]=spln(is,h,tx,tf,M,x)%calculo del polinomio dde interpolaciont1=((tx(is+1)-x)^3*M(is)+(x-tx(is))^3*M(is+1))/(6*h(is));t2=((tx(is+1)-x)*tf(is)+(x-tx(is))*tf(is+1))/h(is);t3=h(is)*((tx(is+1)-x)*M(is)+(x-tx(is))*M(is+1))/6;sx=t1+t2-t3;

Anexo 2function [ tabx,tabf ] = diffinret( x,f,npti,n )%diferencias finitas de retroceso[dd]=tdiffinret(x,f,n);np=0;for i=1:n paso=(x(i+1)-x(i))/(npti+1); for j=1:npti+1 np=np+1; tabx(np)=x(i)+(j-1)*paso; tabf(np)=poldd(x,dd,n,tabx(np)); endendnp=np+1;tabx(np)=x(n+1);tabf(np)=poldd(x,dd,n,tabx(np));end function [dd]=tdiffinret(x,f,n)%calculo de las diferencias finitas de retrocesodd=f;for i=1:n for j=2:n+2-i dd(j-1)=dd(j)-dd(j-1); endendend function [polx]=poldd(x,dd,n,xi)%calculo del polinomio de interpolacions=abs((xi-x(n+1))/(x(2)-x(1)));polx=dd(1);for i=2:n+1 polx=dd(i)-((s-(n+1-i))/(n+2-i))*polx;endend calculo de las diferencias finitasfunction [dd]=diffinitas(x,f,n)%calculo de las diferencias finitas de retrocesofor i=1:n+1 dd(i,1)=f(i);endfor i=1:n for j=n-i+1:-1:1 dd(j,i+1)=dd(j+1,i)-dd(j,i); endendend

Trabajo Prctico #2

Matlab

Estudiante: Sergio Imaa GuzmanFecha: 12/12/2014Materia: Mtodos Numricos