Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Métodos Numéricos - Introducción a la Optimización: Algunos Ejercicios Resueltos, Apuntes de Ingeniería Aeronáutica

algunos metodos para resolver ejercicios material de apoyo

Tipo: Apuntes

2019/2020

Subido el 12/10/2020

america-jl
america-jl 🇲🇽

5

(2)

5 documentos

1 / 5

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
etodos Num´ericos - Introducci´on a la Optimizaci´on
Algunos ejercicios resueltos
Pr´actica 1
3. a) Una posible manera de escribir calculo.m es
1function [ su ma , p ro d u c to ]= c a lc u l o ( a , b)
2su m a =a + b ;
3p ro du c to = a *b
'
;
b) Ahora, en la ventana de comandos, indicamos con sypa la suma y producto escalar de los
vectores #»
ay
#»
brespectivamente
>> vector_a=[1 3 -5];
>> vector_b=0.5*vector_a/norm(vector_a);
>> [s,p]=calculo(vector_a,vector_b)
s =
1.0845 3.2535 -5.4226
p =
2.9580
Observar que si ejecutamos
>> calculo(vector_a,vector_b)
ans =
1.0845 3.2535 -5.4226
solo obtenemos la primera componente de la salida de la funci´on calculo.
6. Una respuesta correcta es
1function y = mu lt i ( f1 , f2 ,x )
2y = fe va l ( f1 , x ) .* f e va l ( f2 , x );
Observemos que si proponemos como respuesta
1function y = mu lt i ( f1 , f2 ,x )
2y = f1 ( x ) .* f2 ( x );
la ejecuci´on de la funci´on conduce a error si las funciones argumento de multi se definen como .m y
no a trav´es del comando inline.
8.
1
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Métodos Numéricos - Introducción a la Optimización: Algunos Ejercicios Resueltos y más Apuntes en PDF de Ingeniería Aeronáutica solo en Docsity!

M´etodos Num´ericos - Introducci´on a la Optimizaci´on

Algunos ejercicios resueltos

Pr´actica 1

  1. a) Una posible manera de escribir calculo.m es 1 function [ suma , producto ]= calculo (a , b ) 2 suma = a + b ; 3 producto = a *b ';

b) Ahora, en la ventana de comandos, indicamos con s y p a la suma y producto escalar de los vectores #»a y

b respectivamente

vector_a=[1 3 -5]; vector_b=0.5*vector_a/norm(vector_a); [s,p]=calculo(vector_a,vector_b)

s =

1.0845 3.2535 -5.

p =

Observar que si ejecutamos

calculo(vector_a,vector_b)

ans =

1.0845 3.2535 -5. solo obtenemos la primera componente de la salida de la funci´on calculo.

  1. Una respuesta correcta es 1 function y = multi ( f1 , f2 , x ) 2 y = feval ( f1 , x ) .* feval ( f2 , x ) ;

Observemos que si proponemos como respuesta 1 function y = multi ( f1 , f2 , x ) 2 y = f1 ( x ) .* f2 ( x ) ;

la ejecuci´on de la funci´on conduce a error si las funciones argumento de multi se definen como .m y no a trav´es del comando inline.

x=0:2/400:2; p=[1 0 0 3 0 -2]; plot(x,polyval(p,x)) w=0:0.5:2; hold on plot(w,polyval(p,w),’k*’)

Pr´actica 2

  1. Para el ejercicio conviene consultar propagacion errores.pdf en www.fceia.unr.edu.ar/~pablos

c) C´alculo del error absoluto:

a + 1 b + 2 − c

∣ =^

|b + 2|∆|a + 1| + |a + 1|∆|b + 2| (b + 2)^2

  • ∆|c|

|b + 2|∆|a| + |a + 1|∆|b| (b + 2)^2

  • ∆|c|

=

4 × 0 .09 + 5. 5 × 0. 04

C´alculo del error relativo:

∣ a b+2+1 −^ c

∣∣ a+ b+2 −^ c

∣∣^ =

4 −^5

Nota: Si el c´alculo es muy complejo, puede resultar m´as c´omodo crear variables auxiliares con los c´omputos intermedios. Por ejemplo, para el caso anterior, podemos proponer:

d = a + 1 = 5. 5 e = b + 2 = 4. 0

f = a + 1 b + 2

d e

g = a + 1 b + 2

− c = f − c = − 3. 625.

Respectivamente tenemos que:

∆|d| = ∆|a| = 0. 09 , ∆|d| = ∆|b| = 0. 04.

Luego,

∆|f | |f |

∆|d| |d|

∆|e| |e| =

por lo que ∆|f | = 0.03625.

7 1.312500, 1.328125 1.320313, -0.051514, 0.014576 -1.871e-02 7.813e- 8 1.320313, 1.328125 1.324219, -0.018711, 0.014576 -2.128e-03 3.906e- 9 1.324219, 1.328125 1.326172, -0.002128, 0.014576 6.209e-03 1.953e- 10 1.324219, 1.326172 1.325195, -0.002128, 0.006209 2.037e-03 9.766e- Se satisface la tolerancia.

Resultado final: Raiz = 1.

  1. a) De la gr´afica de la funci´on f (x) = e−x^ − sen x podemos identificar que la menor ra´ız positiva de la ecuaci´on f (x) = 0 est´a en el intervalo [0. 5 , 0 .7]:

f=inline(’exp(-x)-sin(x)’); x=0:.1:1; plot(x,f(x)) grid on

Una ecuaci´on da lugar a m´ultiples posibles funciones de iteraci´on de punto fijo. Por ejemplo, x = x + e−x^ − sen x (sumamos x a ambos miembros). Necesitamos saber ahora si esta funci´on de iteraci´on g(x) = x + e−x^ − sen x verifica la condici´on suficiente de convergencia en el intervalo [0. 5 , 0 .7]. Graficamos el valor absoluto de la derivada de g en el intervalo [0. 5 , 0 .7]:

x=0.5:.01:.7; g=inline(’x+exp(-x)-sin(x)’); plot(x,abs(df1dx(g,x)))

Finalmente, calculamos la ra´ız

pfijo(g,0.5,0.7,0.6,1e-05,20) Metodo iterativo de Punto Fijo

Iter x g(x) Error 1 0.584169 0.590232 -0. 2 0.590232 0.587877 0. 3 0.587877 0.588787 -0. 4 0.588787 0.588435 0. 5 0.588435 0.588571 -0. 6 0.588571 0.588518 0. 7 0.588518 0.588538 -0. 8 0.588538 0.588531 0. 9 0.588531 0.588534 -0. Se satisface la tolerancia.

Resultado final: Raiz = 0.

  1. a) Es claro que h(1) = 0 y h′(1) = 0 pero h′′(1) = e^1 −^1 = 1 6 = 0. Luego x = 1 es una ra´ız doble de h. Para probar la unicidad razonamos de la siguiente forma: El ´unico punto cr´ıtico de h es x = 1 y como h′′(1) > 0, entonces en x = 1, h presenta un m´ınimo (que es 0).

h no puede tener otro cero, porque si este cero fuese simple, h deber´ıa cambiar de signo en el intervalo y eso no ocurre porque el m´ınimo de h es 0. Si el cero fuese m´ultiple, entonces deber´ıa anularse h′^ en ese nuevo valor (pero esto no puede ocurrir porque h′^ s´olo se anula para x = 1). De lo dicho en los apartados anteriores, h no puede tener otro cero. b) Para la aproximaci´on por Newton, y habiendo calculado ya la derivada de h, utilizaremos la funci´on newt.m. Adem´as, para asegurarnos de que se hagan 3 iteraciones, pondremos 0 como tolerancia:

h=inline(’exp(x-1)-x’); hp=inline(’exp(x-1)-1’); newt(h,hp,0.5,0,3) Metodo iterativo de Newton

Iter x f(x) Error 1 0.770747, 0.024380 0. 2 0.889749, 0.005860 0. 3 0.945887, 0.001438 0. Numero de iteracioneas max depasado.

Resultado parcial: Raiz = 0. c) Falsa posici´on no se puede aplicar en este caso.

d ) >> secant(h,1.5,2,0,3) Metodo iterativo de la Secante

Iter x f(x) Error 1 1.369442, 0.077485 -0. 2 1.293195, 0.047509 -0. 3 1.172350, 0.015744 -0. Numero de iteracioneas max depasado.

Resultado parcial: Raiz = 1.