Está en la página 1de 72

MÉTODOS NUMÉRICOS NRC 9683

HORARIO
MARTES 14H00-16H00
MIÉRCOLES 14H00-16H00

0988213815 - Grupo Telegram

CONTENIDO
Unidad 1: Uso de Software especializado para cálculo numérico, Teoría del Error y solución de
Ecuaciones no Lineales

Unidad 2: Solución de Sistemas Lineales, Interpolación y ajuste de curvas

Unidad 3: Derivación, Integración numérica y Métodos para resolver ecuaciones Diferenciales


Ordinarias

TRABAJOS AUTÓNOMOS / DEBERES: 6 PUNTOS (Envío ejercicios para que ustedes


resuelvan en la casa y se hace un control de los ejercicios) Individual (10 minutos, subir en pdf).
Se deben activar las cámaras: Bastidas-Rodrigo.pdf

1 PRUEBA: 4 PUNTOS Individual (subir en pdf). Se deben activar las cámaras. 1-2 HORAS

1 EXAMEN: 7 PUNTOS - Individual (subir en pdf). Se deben activar las cámaras. 2 HORAS

TALLER: 3 PUNTOS Grupo (subir en pdf) para la semana siguiente (7 grupos de 4 personas). El
informe lo presenta una persona, el resto de integrantes menciona quien subió el informe

TRABAJO EN LATEX-ÚNICO TRABAJO AUTÓNOMO GRUPAL


(https://www.overleaf.com/project)

COSAS QUE SE PERMITEN:


- Si se pierden la conexión en alguna evaluación, lo comentan a través del
comandante/grupo de telegram
- Si se sube un archivo, se lo puedo modificar antes del plazo de entrega.

COSAS QUE NO SE PERMITEN:


- COPIA
- Después del plazo de entrega, no se puede modificar los archivos
TUTORÍAS
Jueves 15H00-16H00

UNIDAD 1: USO DE SOFTWARE ESPECIALIZADO PARA CÁLCULO NUMÉRICO,


TEORÍA DEL ERROR Y SOLUCIÓN DE ECUACIONES NO LINEALES.

Introducción a un lenguaje de programación de cálculo científico:

𝑥
𝑥 = 3
1 2
𝑥
∫𝑒 𝑑𝑥 =?
0

Teorema de Collatz
- f(x)=x/2 si x es par
- f(x)=3x+1 si es x es impar
siempre al final el resultado ES 1

Cuando un método es repetitivo, es tedioso hacerlo a mano, por lo tanto se debe


usar la computadora, algo que facilite el cálculo las repeticiones

CARACTERÍSTICAS DE OCTAVE

- Es un software libre
- Se parece a Matlab
- Archivo de instalación más liviano en comparación a matlab
- Tiene diferentes herramientas (toolbox, comandos propios)
- Detecta mayúsculas y minúsculas
- Tiene archivos equivalentes a matlab (.m)
- Permite crear funciones
- Permite graficar 2D, 3D
- Tiene un simulador
- Permite realizar GUI
- Se pueden manejar archivos de otros programas

Ejemplos al usar la calculadora o Excel


Ejemplo 1:
2
𝑥 +𝑎
2
− 𝑥=
( 2 2
𝑥 +𝑎 −𝑥
)( 2 2
𝑥 +𝑎 +𝑥
) =
2
𝑎
2 2 2 2
𝑥 +𝑎 +𝑥 𝑥 +𝑎 +𝑥
Si x=1, a=2

2 2
𝑥 +𝑎 − 𝑥 = 1. 23
2
𝑎
= 1. 23
2 2
𝑥 +𝑎 +𝑥

Si x=1000, a=0.00001

2 2
𝑥 +𝑎 − 𝑥=0
2
𝑎 −14
= 5𝑥10
2 2
𝑥 +𝑎 +𝑥

Ejemplo 2:
2
𝑥 + 3𝑥 + 2 = 0; 𝑥1 =− 2, 𝑥2 =− 1
2 8 8
𝑥 + 10 𝑥 + 1 = 0; 𝑥1 = 0, 𝑥2 =− 1𝑥10
Consola
Directorio raíz

Variables

Historial
Tipos de datos en octave

Doble precisión (reales)


Son números reales almacenados en 8 Bytes (53 bites para la mantisa y 11 para el
exponente de base 2 entre;15 y 16 cifras decimales equivalentes)

Booleanos (lógicos)

String
Es una cadena de caracteres, se deben escribir entre comillas
Constantes
Variables propias definidas en octave
Funciones usuales
Operadores aritméticos y lógicos

Definición de vectores y matrices (se guardan entre corchetes)

Que es un vector: arreglo de una fila y varias columnas


Comandos y funciones que actúan sobre vectores
Matriz

Arreglo de varias fila y varias columnas

● Comandos para crear matrices


● Comandos para operar matrices
Definición de estructuras y clases

Sentencia de control if, for, while

Algoritmo: conjunto de instrucciones ordenadas que me permiten resolver un


problema

SENTENCIA IF
Sintaxis 1:
if (condición)
instrucciones
end

Sintaxis 2: dos condiciones

if (condición)
instrucciones
else
instrucciones
end

Sintaxis 3: varias condiciones


if (condición 1)
instrucciones
elseif (condición 2)
instrucciones
elseif (condición 3)
instrucciones
...
end
LAZO FOR

para ciclos o bucles

for i=inicio:fin
instrucciones
end
SENTENCIA WHILE
Bucles que se repiten mientras se cumpla una condición

Sintaxis

while condicion
instrucciones
end

● termina el bucle con break


FUNCIONES
Funciones Definidas por el usuario

Se debe definir:
● las variables de entrada y salida
● Nombre de la función (Igual al nombre del archivo)
INPUT
Teoría del Error

Exactitud: Cualidad de un valor de estar cerca a su valor verdadero o real


Precisión: es la proximidad entre los valores medidos
Error absoluto: es el valor absoluto de la diferencia entre el valor real (verdadero)
y el valor aproximado
𝐸𝑎 = |𝑉𝑟𝑒𝑎𝑙 − 𝑉𝑎𝑝𝑟𝑜|
Error relativo: es la división entre el error absoluto y el valor real. Se puede medir
en porcentaje
𝐸 𝑎
𝐸𝑟 = * 100%
𝑉𝑟𝑒𝑎𝑙
Error por redondeo: Consiste en aproximar las cifras significativas a un número
determinado de cifras. Dependiendo del valor que esté la derecha si es mayor o
igual a 5, la cifra anterior aumenta una unidad

Ejemplo: 3.1416142542353365
Aproximar a 3 cifras decimales significativas: 3.142
𝐸𝑎 = |3. 1416142542353365 − 3. 142|

Ejemplo: 3.141467476476
Aproximar a 3 cifras decimales significativas: 3.141

Error por truncamiento: Consiste en truncar o escribir las cifras significativas


dependiendo del número de cifras que pidan

Ejemplo: 3.1416142542353365
Aproximar a 3 cifras decimales significativas: 3.141
𝐸𝑎 = |𝑉𝑟𝑒𝑎𝑙 − 𝑉𝑎𝑝𝑟𝑜| = |3. 1416142542353365 − 3. 141| = 0. 0006142542353365

Ejemplo: 3.141467476476
Aproximar a 3 cifras decimales significativas: 3.141
>> format long
>> a=1/3
a = 0.333333333333333
>> x1=a-0.33333
x1 = 3.333333333299660e-06
>> x1=a-0.33333333333
x1 = 3.333333609134570e-12
>> x1=a-0.333333333333333333333
x1 = 0
>> x1==0
ans = 1
>> x2=a-0.333333333333333
x2 = 3.330669073875470e-16
>> x2==0
ans = 0

x = 1;
>> while x>0
x=x/100
end
x = 1.000000000000000e-02
x = 1.000000000000000e-04
x = 1.000000000000000e-06
x = 9.999987484955998e-319
x = 9.999888671826830e-321
x = 9.881312916824931e-323
x=0

>> 10^(-323)
ans = 9.881312916824931e-324
>> 10^(-324)
ans = 0
>> 10^50>=Inf
ans = 0
>> 10^150>=Inf
ans = 0
>> 10^450>=Inf
ans = 1
>> x=10000;
>> while x<Inf
x=x*1000000
end
x = 10000000000
x = 1.000000000000000e+16
x = 1.000000000000000e+22
x = 1.000000000000000e+28
x = 9.999999999999998e+285
x = 9.999999999999998e+291
x = 9.999999999999998e+297
x = 9.999999999999998e+303
x = Inf

PROPAGACIÓN DE ERRORES

𝑥 = 𝑉𝑟𝑒𝑎𝑙 ± 𝐸𝑎

SUMA Y RESTA
𝑥1 = 𝑉𝑟𝑒𝑎𝑙1 ± 𝐸𝑎1
𝑥2 = 𝑉𝑟𝑒𝑎𝑙2 ± 𝐸𝑎2

𝑥1 + 𝑥2 = (𝑉𝑟𝑒𝑎𝑙1 + 𝑉𝑟𝑒𝑎𝑙2) ± (𝐸𝑎1 + 𝐸𝑎2)


𝑥1 − 𝑥2 = (𝑉𝑟𝑒𝑎𝑙1 − 𝑉𝑟𝑒𝑎𝑙2) ± (𝐸𝑎1 + 𝐸𝑎2)

EJEMPLOS
𝑥1 = 12. 3 ± 0. 5
𝑥2 = 8. 1 ± 0. 2

𝑥1 + 𝑥2 = (12. 3 + 8. 1) ± (0. 5 + 0. 2)
𝑥1 + 𝑥2 = 20. 4 ± 0. 7
𝑥1 − 𝑥2 = (12. 3 − 8. 1) ± (0. 5 + 0. 2)
𝑥1 − 𝑥2 = 4. 2 ± 0. 7

Ejemplos de aplicación: perímetros


Encuentre el perímetro de un rectángulo que tiene las siguientes dimensiones:
𝑥1 = 7. 5 ± 0. 42
𝑥2 = 18. 3 ± 0. 3
𝑃 = 𝑥1 + 𝑥1 + 𝑥2 + 𝑥2 = 2𝑥1 + 2𝑥2
𝑃 = 2(7. 5 ± 0. 42) + 2(18. 3 ± 0. 3)
𝑃 = (15 ± 0. 84) + (36. 6 ± 0. 6)
𝑃 = 51. 6 ± 1. 44

MULTIPLICACIÓN
𝑥1 = 𝑉𝑟𝑒𝑎𝑙1 ± 𝐸𝑎1
𝑥2 = 𝑉𝑟𝑒𝑎𝑙2 ± 𝐸𝑎2
𝑥1 * 𝑥2 = (𝑉𝑟𝑒𝑎𝑙1 * 𝑉𝑟𝑒𝑎𝑙2) ± 𝐸𝑎 = 𝑉𝑟𝑒𝑎𝑙 ± 𝐸𝑎
𝐸𝑎1 𝐸𝑎2
𝐸𝑟 = 𝐸𝑟1 + 𝐸𝑟2 = +
𝑉𝑟𝑒𝑎𝑙1 𝑉𝑟𝑒𝑎𝑙2

𝐸𝑎 = 𝑉𝑟𝑒𝑎𝑙 * 𝐸𝑟

DIVISIÓN
𝑥1 = 𝑉𝑟𝑒𝑎𝑙1 ± 𝐸𝑎1
𝑥2 = 𝑉𝑟𝑒𝑎𝑙2 ± 𝐸𝑎2
𝑥1/𝑥2 = (𝑉𝑟𝑒𝑎𝑙1/𝑉𝑟𝑒𝑎𝑙2) ± 𝐸𝑎 = 𝑉𝑟𝑒𝑎𝑙 ± 𝐸𝑎
𝐸𝑎1 𝐸𝑎2
𝐸𝑟 = 𝐸𝑟1 + 𝐸𝑟2 = +
𝑉𝑟𝑒𝑎𝑙1 𝑉𝑟𝑒𝑎𝑙2

𝐸𝑎 = 𝑉𝑟𝑒𝑎𝑙 * 𝐸𝑟
EJEMPLOS (aproximación por redondeo a 3 decimales significativos):
𝑥1 = 12. 3 ± 0. 5
𝑥2 = 8. 1 ± 0. 2
𝑥1 * 𝑥2 = (12. 3 * 8. 1) ± 𝐸𝑎 = 99. 630 ± 𝐸𝑎
𝐸𝑎1 𝐸𝑎2 0.5 0.2
𝐸𝑟 = + = + = 0. 065341764528756 ≈ 0. 065
𝑉𝑟𝑒𝑎𝑙1 𝑉𝑟𝑒𝑎𝑙2 12.3 8.1

𝐸𝑎 = 𝑉𝑟𝑒𝑎𝑙 * 𝐸𝑟 = 99. 630 * 0. 065 = 6. 510 (si se trabaja con valores


aproximados por redondeo o truncamiento se generan errores)

𝑥1 * 𝑥2 = 99. 630 ± 6. 510

>> er=0.5/12.3+0.2/8.1
er = 6.534176452875640e-02
>> vr=(12.3*8.1)
vr = 99.63000000000000
>> er*vr
ans = 6.510000000000000
>> format bank
>> er*vr
ans = 6.51
>> format short
>> er*vr
ans = 6.5100
>> resp=er*vr
resp = 6.5100
>> fprintf('La respuesta es:',resp)
La respuesta es:>>
>> fprintf('La respuesta es \n',resp)
La respuesta es
>> fprintf('La respuesta es %f \n',resp)
La respuesta es 6.510000
>> fprintf('La respuesta es %.3f \n',resp)
La respuesta es 6.510
>> fprintf('La respuesta es %.4f \n',resp)
La respuesta es 6.5100
EJEMPLOS (aproximación por redondeo a 3 decimales significativos):

𝑥1 = 12. 3 ± 0. 5
𝑥2 = 8. 1 ± 0. 2

𝑥1/𝑥2 = (12. 3/8. 1) ± 𝐸𝑎 = 1. 518518518518519 ± 𝐸𝑎 ≈ 1. 519 ± 𝐸𝑎


𝐸𝑎1 𝐸𝑎2 0.5 0.2
𝐸𝑟 = + = + = 0. 065341764528756 ≈ 0. 065
𝑉𝑟𝑒𝑎𝑙1 𝑉𝑟𝑒𝑎𝑙2 12.3 8.1

𝐸𝑎 = 1. 519 * 0. 065 = 0. 09922267946959305 ≈ 0. 099


𝑥1/𝑥2 =1. 519 ± 0. 099
COMANDO PLOT

>> x=1:5
x=
1 2 3 4 5

>> y=x+1
y=

2 3 4 5 6
plot(x,y)
>> x=0:2*pi
x=

0 1 2 3 4 5 6

>> y=sin(x)
y=

0 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794

>> plot(x,y)
>> x=0:0.1:2*pi;
>> y=sin(x);
>> plot(x,y)
>> plot(x,y,'--')

>> plot(x,y,'+')
>> plot(x,y,'g')

>> plot(x,y,'g*')
POLINOMIO DE TAYLOR

n: orden de la derivada
𝑥: punto alrededor del polinomio de Taylor

Ejemplo
𝑥
Para 𝑓(𝑥) = 𝑒 , desarrolle el polinomio de Taylor alrededor de x=0 hasta el orden
n=4

𝑥 0
𝑓(𝑥) = 𝑒 ; 𝑓(0) = 𝑒 = 1
𝑥 0
𝑓'(𝑥) = 𝑒 ; 𝑓'(0) = 𝑒 = 1
𝑥 0
𝑓''(𝑥) = 𝑒 ; 𝑓''(0) = 𝑒 = 1
(3) 𝑥 (3) 0
𝑓 (𝑥) = 𝑒 ; 𝑓 (0) = 𝑒 = 1
(4) 𝑥 (4) 0
𝑓 (𝑥) = 𝑒 ; 𝑓 (0) = 𝑒 = 1
2 (3) 3 (4) 4
𝑝(𝑥) ≈ 𝑓(0) + 𝑓'(0)(𝑥 − 0) + (𝑓''(0)/2!)(𝑥 − 0) + (𝑓 (0)/3!)(𝑥 − 0) + (𝑓 (0)/4!)(𝑥 − 0)
2 3 4
𝑝(𝑥) ≈ 1 + 1(𝑥) + (1/2)𝑥 + (1/6)𝑥 + (1/24)𝑥
2 3 4
𝑝(𝑥) ≈ 1 + 𝑥 + 𝑥 /2 + 𝑥 /6 + 𝑥 /24

>> x=0:0.1:3;
>> f=e.^x;
>> p1=1+x;
>> p2=1+x+x.^2/2;
>> p3=1+x+x.^2/2+x.^3/6;
>> p4=1+x+x.^2/2+x.^3/6+x.^4/24;
>> plot(x,f)
>> #cuadricula
>> grid on
>> xlabel('EJE X'),ylabel('EJE Y')

>> title('POLINOMIO DE TAYLOR')


>> # para sobreponer graficas

>> hold on
>> plot(x,p1)
>> plot(x,p2)
>> plot(x,p3)
>> plot(x,p4)

>> legend('e^x','p1','p2','p3','p4')
>> #otra manera de graficar
>> plot(x,f,x,p1,x,p2,x,p3,x,p4),grid on
>> legend('e^x','p1','p2','p3','p4')
PARA CALCULAR LOS ERRORES ABSOLUTO Y RELATIVO

>> x=input('Ingrese el valor para calcular el error:')


Ingrese el valor para calcular el error:1
x=1
>> f1=(exp(1))^x
f1 = 2.7183
>> f2=1+x+(1/2)*x^2+(1/6)*x^3+(1/24)*x^4
f2 = 2.7083
>> ea=abs(f1-f2)
ea = 0.0099485
>> er=abs(ea/f1)*100
er = 0.36598

PROGRAMA 1 PARA EL TAMAÑO DEL ERROR


>> #para ingresar el tamanio del error
>> ea=0.1;
>> while ea<0.2
x=input('ingrese el valor del punto a evaluar x=');
f1=(exp(1))^x;
f2=1+x+(1/2)*x^2+(1/6)*x^3+(1/24)*x^4;
ea=abs(f1-f2)
end
ingrese el valor del punto a evaluar x=0
x=0
ea = 0
ingrese el valor del punto a evaluar x=0.01
x = 0.010000
ea = 8.3444e-13
ingrese el valor del punto a evaluar x=0.1
x = 0.10000
ea = 0.000000084742
ingrese el valor del punto a evaluar x=1
x=1
ea = 0.0099485
ingrese el valor del punto a evaluar x=1.5
x = 1.5000
ea = 0.083252
ingrese el valor del punto a evaluar x=2
x=2
ea = 0.38906

PROGRAMA 2 PARA EL TAMAÑO DEL ERROR


>> #para ingresar el tamanio del error
>> ea=10;
>> while ea>9
x=input('ingrese el valor del punto a evaluar x=');
f1=(exp(1))^x;
f2=1+x+(1/2)*x^2+(1/6)*x^3+(1/24)*x^4;
ea=abs(f1-f2)
end
ingrese el valor del punto a evaluar x=15
x = 15
ea = 3266216.99747
ingrese el valor del punto a evaluar x=10
x = 10
ea = 21382.13246
ingrese el valor del punto a evaluar x=5
x=5
ea = 83.038
ingrese el valor del punto a evaluar x=3
x=3
ea = 3.7105
Ejemplo
Para 𝑓(𝑥) = 𝑐𝑜𝑠(𝑥) desarrolle el polinomio de Taylor alrededor de 𝑥 = π hasta el
orden n=5

𝑓(𝑥) = 𝑐𝑜𝑠(𝑥); 𝑓(π) = 𝑐𝑜𝑠(π) =− 1


𝑓'(𝑥) =− 𝑠𝑒𝑛(𝑥); 𝑓'(π) =− 𝑠𝑒𝑛(π) = 0
𝑓''(𝑥) =− 𝑐𝑜𝑠(𝑥); 𝑓''(π) =− 𝑐𝑜𝑠(π) = 1
(3) (3)
𝑓 (𝑥) =− (− 𝑠𝑒𝑛(𝑥)) = 𝑠𝑒𝑛(𝑥); 𝑓 (π) = 𝑠𝑒𝑛(π) = 0
(4) (4)
𝑓 (𝑥) = 𝑐𝑜𝑠(𝑥); 𝑓 (π) = 𝑐𝑜𝑠(π) =− 1
(5) (5)
𝑓 (𝑥) =− 𝑠𝑒𝑛(𝑥); 𝑓 (π) =− 𝑠𝑒𝑛(π) = 0
2 (3) 3
𝑝(𝑥) ≈ 𝑓(π) + 𝑓'(π)(𝑥 − π) + (𝑓''(π)/2)(𝑥 − π) + (𝑓 (π)/6)(𝑥 − π)
(4) 4 (5) 5
+ (𝑓 (π)/24)(𝑥 − π) + (𝑓 (π)/120)(𝑥 − π)
2 3 4
𝑝(𝑥) ≈− 1 + (0)(𝑥 − π) + (1/2)(𝑥 − π) + (0/6)(𝑥 − π) + (− 1/24)(𝑥 − π)
5
+ (0/120)(𝑥 − π)
2 4 6 8
𝑝(𝑥) ≈− 1 + (𝑥 − π) /2 − (𝑥 − π) /24 + (𝑥 − π) /720 − (𝑥 − π) /40320

>> x=0:0.1:2*pi;
>> f=cos(x);
>> p1=-1+(x-pi).^2/2;
>> p2=p1-(x-pi).^4/24;
>> p3=p2+(x-pi).^6/720;
>> p4=p3-(x-pi).^8/40320;
>> plot(x,f), grid on
>> plot(x,p1)
>> plot(x,p2)
>> plot(x,p3)
>> plot(x,p4)
>> legend('cos(x)','p1','p2','p3','p4')
Solución de Ecuaciones lineales y no Lineales f(x)=0:

𝑥
𝑥 = 3

● Método de la Bisección
● Método de Newton
● Método de la Secante

Método de la Bisección

● Consiste en dividir el intervalo a la mitad (mk)


● Ese valor obtenido reemplazo en mi ecuación original, como si fuera una
función
● Reemplazo SIEMPRE el valor inicial o extremo izquierdo del intervalo en la
función
● Multiplicar los dos valores obtenidos anteriormente, si es positivo, reemplazo
el valor de mk en el extremo izquierdo de mi intervalo (ak)
● Multiplicar los dos valores, si es negativo, reemplazo el valor de mk en el
extremo derecho de mi intervalo (bk)
● Repetir el proceso
Resolver la ecuación por el método de la bisección en el intervalo de [0;1]

4 3
𝑥 + 3𝑥 = 2
4 3
𝑥 + 3𝑥 − 2 = 0
4 3
𝑓(𝑥) = 𝑥 + 3𝑥 − 2

Para determinar si la función tiene una raíz en el intervalo se puede reemplazar los
extremos de ese intervalo en la función. Siempre se deberá obtener un valor
positivo y un negativo

4 3
𝑓(0) = 0 + 3(0) − 2 =− 2
4 3
𝑓(1) = 1 + 3(1) − 2 = 2

Primera iteración [0;1]


𝑚𝑘 = (0 + 1)/2 = 0. 5
4 3
𝑓(0. 5) = 0. 5 + 3(0. 5) − 2 =− 1. 5625
4 3
𝑓(0) = 0 + 3(0) − 2 =− 2
𝑓(0. 5) * 𝑓(0) =+

Segunda iteración [0.5;1]


𝑚𝑘 = (0. 5 + 1)/2 = 0. 75
4 3
𝑓(0. 75) = 0. 75 + 3(0. 75) − 2 =− 0. 41796875
4 3
𝑓(0. 5) = 0. 5 + 3(0. 5) − 2 =− 1. 5625
𝑓(0. 75) *𝑓(0. 5) =+

Tercera iteración [0.75;1]


𝑚𝑘 = (0. 75 + 1)/2 = 0. 875
4 3
𝑓(0. 875) = 0. 875 + 3(0. 875) − 2 = 0. 5959
4 3
𝑓(0. 75) = 0. 75 + 3(0. 75) − 2 =− 0. 41796875
𝑓(0. 875) * 𝑓(0. 75) =−

Cuarta iteración [0.75;0.875]


𝑚𝑘 = (0. 75 + 0. 875)/2 = 0. 8125
4 3
𝑓(0. 8125) = 0. 8125 + 3(0. 8125) − 2 = 0. 044937
4 3
𝑓(0. 75) = 0. 75 + 3(0. 75) − 2 =− 0. 41796875
𝑓(0. 8125) * 𝑓(0. 75) =−

Quinta iteración [0.75;0.8125]


𝑚𝑘 = (0. 75 + 0. 8125)/2 = 0. 78125
4 3
𝑓(0. 78125) = 0. 78125 + 3(0. 78125) − 2 =− 0. 196959495544434
4 3
𝑓(0. 75) = 0. 75 + 3(0. 75) − 2 =− 0. 41796875
𝑓(0. 78125) * 𝑓(0. 75) =+

Sexta iteración [0.78125;0.8125]


𝑚𝑘 = (0. 78125 + 0. 8125)/2 = 0. 796875
4 3
𝑓(0. 796875) = 0. 796875 + 3(0. 796875) − 2 =− 0. 078692
4 3
𝑓(0. 78125) = 0. 78125 + 3(0. 78125) − 2 =− 0. 196959495544434
𝑓(0. 796875) * 𝑓(0. 78125) =+
i mk f(mk)

1 0.5 − 1. 5625
2 0.75 − 0. 41796875
3 0.875 0. 5959
4 0.8125 0. 044937
5 0.78125 − 0. 196959495544434
6 0.796875 − 0. 078692

Aproximación 5 decimales, aproximación por truncamiento

i mk f(mk)

1 0.50000 − 1. 56250
2 0.75000 − 0. 41796
3 0.87500 0. 59590
4 0.81250 0. 04493
5 0.78125 − 0. 19695
6 0.79687 − 0. 07869
TUTORIAS

● programa 1

#clc
function y=func4()
edad=input('Ingrese su edad=');
gen1=input('Si es hombre ingrese H, si es mujer ingrese M =');
#DISCRIMINAR SI ES HOMBRE O MUJER
if gen1=='H'
if edad>=10 & edad<=15
disp('Es un hombre joven')
elseif edad>=16 & edad<=18
disp('Es un hombre preadulto')
elseif edad>=19
disp('Es un hombre adulto')

endif
endif

if gen1=='M'
if edad>=10 & edad<=14
disp('Es una mujer joven')
elseif edad>=15 & edad<=17
disp('Es una mujer preadulta')
elseif edad>=18
disp('Es una mujer adulta')
endif

endif

endfunction
● programa 2

#clc
function y=func5()
edad=input('Ingrese su edad=');
gen1=input('Si es hombre ingrese H, si es mujer ingrese M =');
#DISCRIMINAR SI ES HOMBRE O MUJER
if gen1=='H'
if edad>=10 & edad<=15
disp('Es un hombre joven')
elseif edad>=16 & edad<=18
disp('Es un hombre preadulto')
elseif edad>=19
disp('Es un hombre adulto')

endif

elseif gen1=='M'

if edad>=10 & edad<=14


disp('Es una mujer joven')
elseif edad>=15 & edad<=17
disp('Es una mujer preadulta')
elseif edad>=18
disp('Es una mujer adulta')
endif

endif

endfunction
function y=mmatrl()
A1=input('Ingrese la primera matriz 2x3:');
A2=input('Ingrese la segunda matriz 3x1:');
aux1=0;
y=0;

for i=1:2
for j=1:3
res=A1(i,j)*A2(j,1);
aux1=aux1+res;
#pause
endfor
y(i,1)=aux1;
aux1=0;
endfor
POLINOMIO DE TAYLOR

Para 𝑓(𝑥) = 𝑠𝑒𝑛(𝑥) desarrolle el polinomio de Taylor alrededor de 𝑥 = π hasta el


orden n=7

𝑓(𝑥) = 𝑠𝑒𝑛(𝑥); 𝑓(π) = 𝑠𝑒𝑛(π) = 0


𝑓'(𝑥) = 𝑐𝑜𝑠(𝑥); 𝑓'(π) = 𝑐𝑜𝑠(π) =− 1
𝑓''(𝑥) =− 𝑠𝑒𝑛(𝑥); 𝑓''(π) =− 𝑠𝑒𝑛(π) = 0
(3) (3)
𝑓 (𝑥) =− 𝑐𝑜𝑠(𝑥); 𝑓 (π) =− 𝑐𝑜𝑠(π) = 1
(4) (4)
𝑓 (𝑥) =− (− 𝑠𝑒𝑛(𝑥)) = 𝑠𝑒𝑛(𝑥); 𝑓 (π) = 𝑠𝑒𝑛(π) = 0
(5) (5)
𝑓 (𝑥) = 𝑐𝑜𝑠(𝑥); 𝑓 (π) = 𝑐𝑜𝑠(π) =− 1
(6) (6)
𝑓 (𝑥) =− 𝑠𝑒𝑛(𝑥); 𝑓 (π) =− 𝑠𝑒𝑛(π) = 0
(7) (7)
𝑓 (𝑥) =− 𝑐𝑜𝑠(𝑥); 𝑓 (π) =− 𝑐𝑜𝑠(π) = 1
3 5
𝑝(𝑥) ≈ 0 + (− 1)(𝑥 − π) + 0 + (1/3!)(𝑥 − π) + 0 + (− 1/5!)(𝑥 − π)
7
0 + (1/7!)(𝑥 − π)
3 5 7
𝑝(𝑥) ≈− (𝑥 − π) + (𝑥 − π) /6 − (𝑥 − π) /120 + (𝑥 − π) /5040

>> x=-2*pi:0.1:4*pi;
>> f=sin(x);
>> p1=-(x-pi);
>> p2=p1+(x-pi).^3/6;
>> p3=p2-(x-pi).^5/120;
>> p4=p3+(x-pi).^7/5040;

>> plot(x,f), grid on, hold on


>> plot(x,p1)
>> plot(x,p2)
>> plot(x,p3)
>> plot(x,p4)
>> legend('sen(x)','p1','p2','p3','p4')
BISECCIÓN

Resolver la siguiente ecuación en el intervalo el intervalo [1;3]


𝑠𝑒𝑛(2𝑥)𝑐𝑜𝑠(𝑥) + 𝑥 = 2
𝑠𝑒𝑛(2𝑥)𝑐𝑜𝑠(𝑥) + 𝑥 − 2 = 0
𝑓(𝑥) = 𝑠𝑒𝑛(2𝑥)𝑐𝑜𝑠(𝑥) + 𝑥 − 2

𝑓(1) = 𝑠𝑒𝑛(2(1))𝑐𝑜𝑠(1) + 1 − 2 =− 0. 5087


𝑓(3) = 𝑠𝑒𝑛(2(3))𝑐𝑜𝑠(3) + 3 − 2 = 1. 27662

Primera iteración [1;3]


𝑚𝑘 = (1 + 3)/2 = 2
𝑓(2) = 𝑠𝑒𝑛(2(2))𝑐𝑜𝑠(2) + 2 − 2 = 0. 31494
𝑓(1) = 𝑠𝑒𝑛(2(1))𝑐𝑜𝑠(1) + 1 − 2 =− 0. 5087
𝑓(2) * 𝑓(1) =−

Segunda iteración [1;2]


𝑚𝑘 = (1 + 2)/2 = 1. 5
𝑓(1. 5) = 𝑠𝑒𝑛(2(1. 5))𝑐𝑜𝑠(1. 5) + 1. 5 − 2 =− 0. 49002
𝑓(1) = 𝑠𝑒𝑛(2(1))𝑐𝑜𝑠(1) + 1 − 2 =− 0. 5087
𝑓(1. 5) * 𝑓(1) =+

Tercera iteración [1.5;2]


TRABAJO AUTÓNOMO 1
● Repasar los comandos dados en clase de octave
● Repasar los operadores lógicos y aritméticos
● Repasar los comandos de vectores y matrices

EJERCICIOS DE PROGRAMACIÓN SUGERIDOS

1. Dado los siguientes vectores, hallar las operaciones indicadas


𝐴 = 3𝑖 + 5𝑗; 𝐵 = 𝑖 − 𝑗; 𝐶 = 𝑖 + 2𝑗 + 3𝑘, 𝐷 = 𝑗 − 𝑘
a) 𝐴 ◦ 𝐵
b) 𝐴 × 𝐵
c) 2𝐴 − 𝐵
d) 𝐶 ◦ 𝐷
e) 𝐶 × 𝐷
f) Pasar de a coordenadas polares los vectores A, B, C y D
g) Encontrar el módulo del vector resultante en los literales b y e
h) Encontrar el vector unitario del vector resultante en los literales b y e
2. Plantee dos sistemas de ecuaciones de 2x2 y 3x3. Resuelvelas con
el comando “inv”
3. Plantee ejercicios con vectores y matrices que utilicen los
comandos “.*”, “.^”, “./”
4. Realice un programa que permita dividir mediante restas usando lazos
for/while
5. Realice una programa que permita multiplicar mediante sumas usando lazos
for/while
6. Realice un programa que intercambie las diagonales principal y secundaria
entre sí
7. Realice un programa que calcule los números primos del 1 al 100 (use el
comando que permite encontrar el resto de una división) (mod)
8. Realice un programa que realice la suma de dos matrices de tamaño 2x2
9. Realice un programa que multiplique dos matrices de tamaño 3x3 con lazos
for
10. Realizar un programa que haga la suma de una serie con lazos for o
while
11.Realice un programa que calcule el determinante de una matriz de 2x2, 3x3
sin usar comandos directos
12. Realice 3 gráficas de funciones en una ventana, incluya título, las
etiquetas de los ejes y las leyendas. Además realice la gráfica 3d de una
función (Las funciones a graficar es a su criterio)
13. Cree un programa en el que el usuario ingrese su año de nacimiento, y el
programa determine si el usuario tiene entre 5 y 10 años, entre 10 y 15 años,
entre 15 y 20 años, entre 20 y 30 años, y más de 30 años
14. Construir un programa que calcule el índice de masa corporal de una
persona (IMC= peso [kg] / altura^2 [m] ) e indique el estado en el que se
encuentra esa persona en función del valor de IMC:

TRABAJO AUTÓNOMO 2
Realizar ejercicios de propagación de errores con suma, resta, multiplicación y
división

TRABAJO AUTÓNOMO 3
Resolver ecuaciones no lineales por los métodos: bisección, newton y secante

También podría gustarte