Métodos Numéricos Punto Fijo
De acuerdo a su código calcule
K= 12 = La suma de los dígitos de su código
M= 0 = El número formado por los 2 últimos dígitos de su código
Q= 0= La suma de los tres últimos dígitos de su código
P= 2 = El promedio de los 5 últimos dígitos de su código
1. a) Indique las iteraciones del método de Newton para solucionar el siguiente sistema nolineal:
x1+x2+x3=3
x12+4x22+x32=6
3x12+x22+x32=6
Las iteraciones son:
[pic]
[pic]
[pic]
Donde los [pic] se hallan resolviendo la ecuación:
[pic]
Y el Jacobiano [pic] se calcula con la fórmula:
[pic]
b) Usamos el mathfile Newton3var.m que se muestra a continuación:
x0=[0 0 0]';tol=1e-13;
xk=x0;yk=-JacobianoF123(xk)\F123(xk);
xk1=xk+yk;
k=1;fxk=F123(xk1);errork=norm(xk1-xk);
fprintf('k xk(1) xk(2) xk(3) ||x(k)-x(k-1)|| |f(xk)|\n')
fprintf('%2d%18.14f%18.14f%18.14f%17.6g%17.6g\n',k,xk1(1),xk1(2),xk1(3),errork,norm(fxk))
while (norm(fxk)>=tol) | errork>=tol
yk=-JacobianoF123(xk)\F123(xk);
xk1=xk+yk;k=k+1;fxk=norm(F123(xk1));errork=norm(xk1-xk);
fprintf('%2d%18.14f%18.14f%18.14f%16.6g%16.6g\n',k,xk1(1),xk1(2),xk1(3),errork,norm(fxk))
xk=xk1;
end
Este mathfile necesita que definamos tanto las funciones y el jacobiano, los definimos con las funciones F123 y JacobianoF123, en los mathfiles respectivos F123.m y JacobianoF123.m que se muestran acontinuación:
function fsal=F123(x)
fsal=[x(1)+x(2)+x(3)-3
x(1)^2+4*x(2)^2+x(3)^2-6
3*x(1)^2+x(2)^2+x(3)^2-6];
function sal=JacobianoF123(x)
sal=[1 1 1
2*x(1) 8*x(2) 2*x(3)
6*x(1) 2*x(2) 2*x(3)];
Se muestra a continuación la corrida del programa (el error y la tolerancia se han definido en elinterior del programa):
>> Newton3var
k xk(1) xk(2) xk(3) ||x(k)-x(k-1)|| |f(xk)|
1 1.26428571428571 1.03650793650794 0.69920634920635 0.551828 0.525846
2 1.26428571428571 1.03650793650794 0.69920634920635 0.551828 0.5258463 1.21148624411734 0.98935862136798 0.79915513451467 0.122477 0.0298824
4 1.20805779190846 0.98637559512070 0.80556661297084 0.00785874 0.000122862
5 1.20804345157617 0.98636334783061 0.80559320059322 3.25967e-005 2.11185e-009
6 1.20804345132812 0.98636334762154 0.80559320105033 5.60523e-010 8.88178e-0167 1.20804345132812 0.98636334762154 0.80559320105033 2.48253e-016 0
La solución obtenida es:
x1 = 1.20804345132812
x2 = 0.98636334762154
x3 = 0.80559320105033
2. Dado el sistema no lineal:
3x12+x24=3-1/K
Px1x2=ex1
a) Visualice y aproxime gráficamente las soluciones.
>> K
K =
12
>> s=3+(1/K)
s =
3.0833>> ezplot('3*x^2+y^4- 3.0833 ')
>> hold on
>> ezplot('Pxy-exp(x)')
>> ezplot('x*y')
[pic]
Primera solución: (0,-3.5)
Segunda solución: (0.3,-1.3)
Tercera solución: (1,0)
Cuarta solución: (1.01, 0)
b) Utilice las aproximaciones de la parte a, como aproximaciones iniciales para las iteraciones de punto fijo apropiado. Determine una solución con una tolerancia de 10-13.Aplique las iteraciones de punto fijo Gauss-Seidel,¿acelera la convergencia?. Determine una solución con una tolerancia de 10-12.
Nota: P=2
En h8.m:
function fsal=h8(x)
fsal= [3*x(1)^2+x(2)^4-3.0833
2*x(1)*x(2)-exp(x(1))];
En g8.m:
function fsal=g8(x)
fsal=[sqrt((3.0833-x(2)^4)/3)
exp(x(1))/2*x(1)];
En puntofijo8.m:
x0=[0.01,0]';tol=1e-13;
xk=x0;
xk1=g8(xk);...
Regístrate para leer el documento completo.