P3 Enunciado

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

Métodos Numéricos Ingenierı́a Quı́mica/Mecánica CURSO 2021/2022 Laboratorio

Práctica 3: Solución de sistemas de ecuaciones no lineales

Objetivo: aplicar el método de Newton-Raphson para aproximar soluciones de sistemas de ecua-


ciones no lineales planteados en problemas de ingenierı́a.
Ejemplo: Se desea aproximar el punto (x, y) de la gráfica de la función seno, que está en el primer
cuadrante, cuya distancia al origen de coordenadas es uno mediante el método de Newton-
Raphson en dos variables. Se pide:

(a) Determina el sistema de dos ecuaciones con dos incógnitas apropiado.


(b) Aplica el método de Newton-Raphson partiendo de P0 = (0, 1).

En primer lugar observamos que el sistema al que aplicaremos el método es

y − sen x = 0
x2 + y 2 − 1 = 0
Creamos los siguientes ficheros para la función vectorial que define el sistema y la matriz
jacobiana asociada al sistema:

1 % Función vectorial asociada al ejemplo de la práctica 3


2 function y = ejemplop3(p)
3 y=[p(1).^2+p(2).^2-1 , p(2)-sin(p(1))];

1 % Función que contiene matriz jacobiana del ejemplo de la práctica 3


2 function y = jejemplop3(p)
3 y=[2*p(1) , 2*p(2) ; -cos(p(1)) , 1];

Observa que el argumento , p, de la función y de su jacobiana es vectorial, y por tanto se


identifica cada componente de p = (p(1) , p(2)) con las variables independientes de nuestra
función, en este caso (x, y). Análogamente, la imagen de la función es un vector, siendo cada
coordenada del vector la componente correspondiente de la función; la imagen de la función
jacobiana es una matriz 2 × 2 ya que son las derivadas parciales de cada componente respecto
de cada una de sus variables.

La otra posibilidad de definir la función asociada al sistema y su jacobiana es utilizar el cons-


tructor de funciones, @, en el mismo fichero de comandos. Tanto de una forma como de otra
definimos las funciones con la notación matricial de Matlab.
El fichero de instrucciones para aproximar la solución realizando un número máximo de itera-
ciones será

16
Métodos Numéricos Ingenierı́a Quı́mica/Mecánica CURSO 2021/2022 Laboratorio

1 % % Aplicación del método de Newton para resolver el ejemplo de la práctica 3


2 clear;clc;
3 format long
4 % % Definición de función y jacobiano del sistema
5 ejemp3=@(p) [p(1).^2+p(2).^2-1 , p(2)-sin(p(1))];
6 jejemp3=@(p) [2*p(1) , 2*p(2) ; -cos(p(1)) , 1];
7

8 % % Método de Newton-Raphson
9 % Datos iniciales
10 P=[0,1];
11 maxiter=10;
12 Y=ejemp3(P);
13 sol=[0 P Y]; % inicialización de la matriz de iteraciones
14

15 for k=1:maxiter
16 J=jejemp3(P);
17 Q=P’-(J\Y’);
18 P=Q’;
19 Y=ejemp3(P);
20 sol(k,:)=[k P Y];
21 end
22 P % resultado de la última iteración
23

24 % salida de las iteraciones calculadas


25 disp(’Iteración, aproximación y valor de la función vectorial en la
aproximación’)
26 disp(’[i, P, F(P)]’)
27 sol
28 % % Comprobación gráfica
29 x=0.5:0.01:1;
30 y1=sqrt((1-x.^2));
31 y2=sin(x);
32 plot(x,y1,x,y2),grid on,title(’Gráfica de la circunferencia y del seno’)
33 hold on
34 plot(P(1),P(2),’m*’,’MarkerSize’,6)

En el script aparecen comandos y operadores no utilizados hasta este momento:

La operación J \ Y que es equivalente a J −1 ∗ Y , es decir, el producto matricial de la


matriz inversa de J (jacobiana de la función vectorial que define el sistema en el punto
P ) por la matriz Y (imagen por la función vectorial asociada al sistema del punto P ).
La función norm(P ) que calcula la norma 2 del vector o matriz P .

17
Métodos Numéricos Ingenierı́a Quı́mica/Mecánica CURSO 2021/2022 Laboratorio

Nota: En este caso la comprobación gráfica es posible porque en las ecuaciones del sistema se puede
despejar una de las variables en función de la otra.
Si queremos aproximar la solución con una tolerancia dada, debemos cambiar el bucle for-end
por la sentencia iterativa while-end, el fichero de comandos serı́a

1 % % Aplicación del método de Newton para resolver el ejemplo de la práctica 3


2 clear;clc;
3 format long
4 % % Definición de función y jacobiano del sistema
5 ejemp3=@(p) [p(1).^2+p(2).^2-1 , p(2)-sin(p(1))];
6 jejemp3=@(p) [2*p(1) , 2*p(2) ; -cos(p(1)) , 1];
7 % % Método de Newton-Raphson
8 % Datos iniciales
9 P=[0,1];
10 delta=10^(-8);
11 maxiter=10;
12 Y=ejemp3(P);
13 sol=[0 P Y]; % inicialización de la matriz solución
14 k=1; % inicialización de la variable del bucle
15 relerr=1;
16 while((k<=maxiter) && (relerr>delta))
17 J=jejemp3(P);
18 Q=P’-(J\Y’);
19 Q=Q’;
20 err=norm(Q-P);
21 relerr=err/(norm(Q)+eps);
22 P=Q;
23 Y=ejemp3(P);
24 sol(k,:)=[k P Y];
25 k=k+1; % actualizo la variable del bucle
26 end
27 P % resultado de la última iteración
28 % salida de las iteraciones realizadas
29 disp(’Iteración, aproximación y valor de la función vectorial en la
aproximación’)
30 disp(’[i, P, F(P)]’)
31 sol
32 % % Comprobación gráfica
33 x=0.5:0.01:1;
34 y1=sqrt((1-x.^2));
35 y2=sin(x);
36 plot(x,y1,x,y2),grid on,title(’Gráfica de la circunferencia y del seno’)
37 hold on
38 plot(P(1),P(2),’m*’,’MarkerSize’,6)

18
Métodos Numéricos Ingenierı́a Quı́mica/Mecánica CURSO 2021/2022 Laboratorio

Práctica 3

Ejercicio 1 La presión requerida para enterrar un objeto grande y pesado en un suelo blando ho-
mogéneo, que se encuentra sobre una base de suelo duro, puede predecirse a partir de la presión
necesaria para enterrar objetos más pequeños en el mismo terreno. En concreto la presión p
requerida para enterrar una placa circular de radio r una distancia d en el suelo blando, donde
la base dura se encuentra a una distancia D > d debajo de a superficie, puede aproximarse
mediante una ecuación de la forma

p = k1 ek2 r + k3 r

donde k1 , k2 y k3 son constantes, con k2 > 0 que dependen de d y de la consistencia del terreno
pero no del radio de la placa.

(a) Plantea el sistema de ecuaciones no lineales que debemos resolver para obtener los valores
de k1 , k2 y k3 si suponemos que una placa cuyo radio es de 1 cm requiere una presión de
10 din/cm2 para enterrarse 10 cm en un campo fangoso, una placa cuyo radio es de 2 cm
requiere una presión de 12 din/cm2 para enterrarse 10 cm y una placa de 3 cm necesita
una presión de 15 din/cm2 para enterrarse esa distancia (suponiendo que el lodo tiene una
profundidad de más de 10 cm).
(b) Escribe el esquema de Newton-Raphson que permite resolver el sistema anterior y utiliza
dicho método para calcular k1 , k2 y k3 tomando como dato inicial P0 = (7, 0.2, 0)
(c) Con el valor de las constantes k1 , k2 y k3 obtenidas en el apartado anterior aproxima el
tamaño de la placa circular que se necesitará para sostener una carga de 500 din en este
campo, con un hundimiento menor a 10 cm:
a) Plantea la ecuación a resolver , la incógnita será el radio de la placa.
b) Dibuja la función asociada a la ecuación anterior para determinar en qué intervalo se
encuentra la solución.
c) Aplica cualquiera de los métodos vistos en la Práctica 2, para aproximar la solución
con una cota del error de 10−8 .

Ejercicio 2 Vamos a calcular los posibles puntos extremos (máximos/mı́nimos) de la superficie de


ecuación S(x, y) = x2 − x4 − y 2 (x2 + 1)

a) Al comenzar el ejercicio escribe las siguientes sentencias:


1 % % Dibujar una superficie z=S(x,y)
2 clearvars
3 S=@(x,y) x.^2-x.^4-y.^2.*(x.^2+1); %definición de la función de dos
variables
4 [x1,y1]=meshgrid(-1:0.1:1,-1:0.1:1); %mallado de puntos en [-1,1]x[-1,1]
para dibujar la superficie
5 %mesh(x1,y1,S(x1,y1)) %dibuja la superficie con dominio en [-1,1]x[-1,1]
6 meshc(x1,y1,S(x1,y1)) %dibuja la superficie con dominio en [-1,1]x[-1,1] y
sus curvas de nivel
7 hold on

4
Métodos Numéricos Ingenierı́a Quı́mica/Mecánica CURSO 2021/2022 Laboratorio

8 % dibuja el punto (x,y,z)=(0,0,0) un punto de la superficie en


9 % azul con un punto y tama~
no 20
10 plot3(0,0,0,’b.’,’MarkerSize’,20)

y ejecuta −→Run Section


Obtendrás el dibujo de la superficie S en (x, y) ∈ [−1, 1] × [−1, 1] ⊂ Dom(f ) = R2 , las
curvas de nivel correspondientes en el plano z = −2 paralelo a XY y en azul el punto
(0, 0, 0) ∈ S.
Se observan tres puntos crı́ticos: dos máximos locales y un punto de silla (0, 0, 0)(ni máximo
ni mı́nimo). Tu objetivo será obtener de forma aproximada los tres puntos.
b) Plantea el sistema de ecuaciones que debemos resolver para determinar dichos puntos
crı́ticos (candidatos a máximos, mı́nimos o puntos de silla)
c) Utiliza el método iterativo de Newton para aproximar los tres puntos crı́ticos de la función
hasta que el error relativo entre dos iteraciones consecutivas sea menor que 10−7 , realizando
como máximo diez iteraciones. Determina para cada punto crı́tico si es máximo, mı́nimo
o punto de silla.
Puedes utilizar el comando det para calcular el determinante de una matriz cuadrada
A ∈ Mn×n det(A)
d) Dibuja las aproximaciones obtenidas sobre la superficie y sus proyecciones en el plano
z = −2

5
Métodos Numéricos Ingenierı́a Quı́mica/Mecánica CURSO 2021/2022 Laboratorio

Resumen del CÁLCULO de los MÁXIMOS y MÍNIMOS locales de f : R2 → R

D ⊂ Dom(f ) ⊂ R2 y f
Condiciones necesarias (a, b) ∈ |{z} DIFERENCIABLE en D
conjunto
abierto
∂f

 ∂x (a, b) = 0



Si (a, b) es un EXTREMO LOCAL de f =⇒

 ∂f

 (a, b) = 0
∂y
⇐=


Condición suficiente Se estudia:


∂2f ∂2f
∂x2 ∂x∂y 
∂2f

Hf (a, b) = y fxx (a, b) =
∂2f ∂2f ∂x2 (a,b)

∂y∂x ∂y 2 (a,b)
| {z }
HESSIANO de f en (a,b)

(a, b) MÍNIMO
mm6
mmmmm
mmm
fxx (a,b)>0

mm mmm
mmm
Hf (a, b) > 0
QQQ
QQQ
QQQ
QQQ
fxx (a,b)<0 QQQ
QQQ
(
(a, b) MÁXIMO

Hf (a, b) < 0 / (a, b) punto de silla

Hf (a, b) = 0 / NO CONCLUYENTE

También podría gustarte