Author
pandakuma
View
236
Download
0
Embed Size (px)
DESCRIPTION
Métodos de obtención de ecuaciones de distintos grados, tanto
Mtodos Numricos (Segundo parcial)
INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECNICA Y ELECTRICA (ESIME) UNIDAD AZCAPOTZALCO Mtodos Numricos (Segundo parcial)
Sevilla Ortega Cesar Isai2RM3
ING. En Robtica IndustrialEntrega: 09/06/2015Profesor: Lpez Islas Jos Alberto
-Gauss Jordan:1. Acomodar las ecuaciones de tal manera que en el lugar de la primera ecuacin qued la ecuacin cuyo calor de X sea mayor que el valor de las dems.
2. Aplicar el mtodo del Pivoteo (en diagonal (1,1) , (2,2) , (3,3) )
3. Generar la matriz aumentada (agregar a la matriz, el resultado)
4. Dividir el elemento pivote (1,1) entre el rengln en el que se encuentra (Rengln entre Pivote )
5. El rengln consecutivo se va a restar la multiplicacin del primer elemento del rengln por la fila del pivote. ( Rengln consecutivo ((primer elemento)(Fila del pivote)))
6. El rengln consecutivo se va a restar la multiplicacin del primer elemento del rengln por la fila del pivote. ( Rengln consecutivo ((primer elemento)(Fila del pivote)))
7. Dividir el elemento pivote (2,2) entre el rengln en el que se encuentra (Rengln entre Pivote )
8. El rengln consecutivo se va a restar la multiplicacin del primer elemento del rengln por la fila del pivote. ( Rengln consecutivo ((primer elemento)(Fila del pivote)))
9. Dividir el elemento pivote (2,2) entre el rengln en el que se encuentra (Rengln entre Pivote )
10. El rengln anterior se va a restar la multiplicacin del primer elemento del rengln por la fila del pivote. ( Rengln anterior ((tercer elemento)(Fila del pivote)))
11. El rengln anterior se va a restar la multiplicacin del primer elemento del rengln por la fila del pivote. ( Rengln anterior ((tercer elemento)(Fila del pivote)))
12. Repetir el paso anterior con la fila 2 rengln 2
Gauss- Seidel:
Sistema de ecuaciones. E=0.1
Paso 1: despejar la variable encontrada en la diagonal principal de cada una de las ecuaciones.
Paso 2 calcular considerando y son =0
Paso 3: calcular considerando el valor de y
Paso 4: calcular considerando el valor de y
Paso 5: calcular el error del mtodo.
Como 3>0.1 continuamos
Paso 6: repetir desde el paso 2, considerando los valores actuales de y
Calcular el error del mtodo.
Como .2436>0.1 continuamosRepetir desde el paso 2, considerando los valores actuales de y
Calcular el error del mtodo.
Como es menor que 0.1 ,los valores de son los valores de las incognitas.
-Interpolacin de NewtonConsiste en unir dos puntos con una lnea recta y con ayuda de tringulos semejantes encontrar f1(x).
Interpolacin cuadrtica de Newton.Consiste en unir 3 puntos por medio de una parbola encontrando una ecuacin de segundo orden, el resultado de la interpolacin debe tener la forma de la ecuacin ax2+bx+c donde:
Para encontrar b0 se evala en x=x0:
Para encontrar b1 se evalua x=x1 y se utiliza b0
Para encontrar b2 se evala x=x2 y se sustituye b0 y b1
Interpolacin para n-simo orden a los n+1 puntos.Se puede generalizar el ajuste de un polinomio de n-simo orden con n+1 puntos donde el polinomio quedar de la siguiente manera
Por lo que los coeficientes estarn dados por las expresiones siguientes
La evaluacin para obtener los coeficientes que se presentarn entre corchetes se llaman diferencias divididas finitas.
Generalizando para la n-sima diferencia dividida.
Quedando la ecuacin:
Interpolacin de Lagrange:Es una reformulacin del procedimiento de Newton partiendo del anlisis de dos puntos.
Donde la primera diferencia dividida se expresa como
Por lo que el polinomio de primer orden se puede expresar de la siguiente manera:
Lagrange reformul esta propuesta de manera que:
Por lo que el polinomio de Lagrange queda de la siguiente manera:
Donde se conocen como coeficientes de Lagrange:
Por lo que sustituyendo queda la frmula:
Generalizando para calcular una ecuacin de n-simo grado de lagrangePunto 0: (x0, f(x0))
*Donde n es el nmero de puntos ms 1 y:Punto n:
Ejercicios:Gauss-Jordan:
Cdigo:clcclear allfprintf ('Mtodo de Gauss-Jordan \n\n\n')i= input ('Nmero de Ecuaciones a introducir: ');for a=1:i for j=1:i %x(1,1)=input ('Ingrese X1 de la Ecuacin 1: '); %x(1,2)=input ('Ingrese X2 de la Ecuacin 1: '); %x(1,3)=input ('Ingrese X3 de la Ecuacin 1: '); fprintf ('Ingrese X %g de la Ecuacin %g ',j,a); x(a,j)=input (': '); %resume todo lo de arriba end fprintf ('Ingrese el resultado dela ecuacin %g ',a); x(a,i+1)= input (': ');endfor j=1:i x(j,:)= x(j,:)/x(j,j) for m=1:i if j~=m x(m,:)= x(m,:)- x(m,j)*x(j,:) %x(3,:)= x(3,:)- x (3,j)* x(j,j) %x(n+1,:)=x(n+1,:)-x(n+1,1)*x(1,:) end end end
Comprobacin:
Gauss-Seidel:
3>0.1
.2436>0.1
< 0.1 los valores de son los valores de las incgnitasComprobacin:
Cdigo:clcclear allfprintf ('Mtodo de Gauss-Seidel \n\n\n')E= input ('Introducir exactitud: ');i= input ('\nNmero de Ecuaciones a introducir: ');for a=1:i for j=1:i %x(1,1)=input ('Ingrese X1 de la Ecuacin 1: '); %x(1,2)=input ('Ingrese X2 de la Ecuacin 1: '); %x(1,3)=input ('Ingrese X3 de la Ecuacin 1: '); fprintf ('Ingrese coeficiente %g de la Ecuacin %g ',j,a); x(a,j)=input (': '); %resume todo lo de arriba end fprintf ('Ingrese el resultado dela ecuacin %g ',a); x(a,i+1)= input (': ');end%x= [3 -0.1 -0.2 7.85 0 0 0; 0.1 7 -0.3 -19.3 0 0 0; 0.3 -0.2 10 71.4 0 0 0] x(i,j+3)=0e=1;SUMA=1;while (e>E)e=0 for j=1:i SUMA=0 for k=1:i if j~=k SUMA=SUMA+x(j,k)*x(k,i+2); x(j,i+3)=(x(j,i+1)-SUMA)/x(j,j) end end x(j,i+4)=abs((x(j,i+3)-x(j,i+2))/(x(j,i+3))) x(j,i+2)=x(j,i+3) e=e+(x(j,i+4)) endend
Interpolacin de Newton:xF(x)
P1-1-20
P2-.5-4
P3-.251.28
P405
P5.257.34
P6.58.5
P7.758.6
P818
P91.55
P1021
P112.5-2.5
P123-4
P133.5-2
P1445
Cdigo:clcclear all%x=[-1 -2; -.5 -4; -.25 -1.8; 0 5; .25 7.34; .5 8.5; .75 8.6; 1 8 ; 1.5 5; 2 1; 2.5 -2.5; 3 -4; 3.5 -2; 4 5]%y=[1 8; 2 1; 3 -4; 4 5]fprintf ('Interpolacin de Newton\n')i= input ('Introduce el grado de la ecuacin: ');i=i+1for a=1:i for j=1:1 fprintf ('Ingrese x'); y(a,1)=input (': '); end fprintf ('Ingrese fx '); y(a,2)= input (': ');end%y(1,3)=(y(2,2)-y(1,2))/(y(2,1)-y(1,1))%y(2,3)=(y(3,2)-y(2,2))/(y(3,1)-y(2,1))%y(3,3)=(y(4,2)-y(3,2))/(y(4,1)-y(3,1)) %y(1,4)=(y(2,3)-y(1,3))/(y(3,1)-y(1,1))%y(2,4)=(y(3,3)-y(2,3))/(y(4,1)-y(2,1)) %y(1,5)=(y(2,4)-y(1,4))/(y(4,1)-y(1,1)) %for i=1:3 % y(i,3)=(y(i+1,2)-y(i,2))/(y(i+1,1)-y(i,1))%end%for i=1:2 % y(i,4)=(y(i+1,3)-y(i,3))/(y(i+2,1)-y(i,1))%end%for i=1:1 % y(i,5)=(y(i+1,4)-y(i,4))/(y(i+3,1)-y(i,1))%endn=i-1m=i-1for j=1:n for i=1:m y(i,j+2)=(y(i+1,j+1)-y(i,j+1))/(y(i+j,1)-y(i,1)) end m=m-1endb0=y(1,1);syms 'x'mult=1b=0for j=1:1 for i=1:n mult=mult*(x-y(i,1)) b=b+(mult*y(1,i+2)) end end b=b+y(1,2)expand (b)
Grfica:
Interpolacin de Lagrange:NxFx
P010
P120.693147
P231.098612
P341.386294
P451.609437
P561.791759
Cdigo:clcclear allfprintf ('Interpolacin de Lagrange\n')i= input ('Introduce el grado de la ecuacin: ');i=i+1;for a=1:i for j=1:1 fprintf ('Ingrese x'); X(a,1)=input (': '); end fprintf ('Ingrese fx '); X(a,2)= input (': ');endX %X=[1 0; 4 1.386294; 6 1.791758]%n=2;syms 'x'%Lx0=((x-X(2,1))/(X(1,1)-X(2,1)))*((x-X(3,1))/(X(1,1)-X(3,1)))%Lx1=((x-X(1,1))/(X(2,1)-X(1,1)))*((x-X(3,1))/(X(2,1)-X(3,1)))%Lx2=((x-X(1,1))/(X(3,1)-X(1,1)))*((x-X(2,1))/(X(3,1)-X(2,1)))mult=1;suma=0;for j=1:i mult=1; for k=1:i if j~=k mult=mult*((x-X(k,1))/(X(j,1)-X(k,1))) end end suma = suma + (mult*X(j,2)) endexpand (suma)%expand (Lx0)%expand (Lx1)%expand (Lx2)%fx0=(X(1,2)*Lx0)+(X(2,2)*Lx1)+(X(3,2)*Lx2)%expand (fx0)A=[1 0;2 0.693147;3 1.098612;4 1.386294;5 1.609437;6 1.791759];P1=A(:,1);P2=A(:,2);z=(1:1:6);y=(-0.0518731000*(z.^2))+(0.7214635000*(z))-0.6695904000;plot(z,y,z,P2)
Grfica: