Capitulo 6

“FACULTAD DE CIENCIAS QUIMICAS” TRABAJO DE: RESOLUCIÓN DE EJERCICIOS DEL CAPITULO 6 PERTENECIENTE A: DAVID GOMEZ TOGRA

Views 180 Downloads 3 File size 878KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

“FACULTAD DE CIENCIAS QUIMICAS”

TRABAJO DE: RESOLUCIÓN DE EJERCICIOS DEL CAPITULO 6

PERTENECIENTE A: DAVID GOMEZ TOGRA

DOCENTE: MGT. PAUL ALVAREZ

ASIGNATURA: METODOS NUMERICOS

CARERRA: INGENIERIA INDUSTRIAL

FECHA DE ENTREGA: 3-01-2019

EJERCICIOS CAPITULO 6 ” DIFERENCIACIÓN NUMÉRICA” 6.1 Se da una tabla de puntos de datos para la función y(x): I 0 1 2 3 4 5

XIM 0.0 0.2 0.4 0.6 0.8 1.0

YIM 0.0000 8.6964 10.6800 8.7440 4.7727 0.0000

xim= [0 0.2 0.4 0.6 0.8 1.0]; yim= [0.0000 8.6964 10.6800 8.7440 4.7727 0.0000]; x=0; SCRIPT: d0=polyfit(xim-x,yim,length(xim)-1); d1=polyder(d0);der1=polyval(d1,0); d2=polyder(d1);der2=polyval(d2,0); d3=polyder(d2);der3=polyval(d3,0); d4=polyder(d3);der4=polyval(d4,0); d5=polyder(d4);der5=polyval(d5,0); [der1 der2 der3 der4 der5] COMMAND WINDOW: ans =

66.3140 -263.8644 576.1156 -891.1875 807.8125

x=0.5; SCRIPT: d0=polyfit(xim-x,yim,length(xim)-1); d1=polyder(d0);der1=polyval(d1,0); d2=polyder(d1);der2=polyval(d2,0); d3=polyder(d2);der3=polyval(d3,0); d4=polyder(d3);der4=polyval(d4,0); d5=polyder(d4);der5=polyval(d5,0); [der1 der2 der3 der4 der5] COMMAND WINDOW: ans = -10.0665 -70.3756 231.4984 -487.2813 807.8125

En orden de derivada creciente X=0 [66.3140 -263.8644 576.1156 -891.1875 807.8125]

X=0.5 [-10.0665 -70.3756 231.4984 -487.2813 807.8125 ]

6.3 Evalúa la primera derivada de y(x)=sen(x) para x=1 utilizando los 3 métodos distintos: a) y’(1)=[y(1+h)-y(1)]/h b) y’(1)=[y(1)-y(1-h)]/h c) y’(1)=[y(1+h)-y(1-h)]/h evaluar los errores con h=0.1, 0.05, 0.01, 0.005 y 0.001 comparando con los valores exactos. SCRIPT: clear; clc; y=input('funcion: ','s'); h=input('ingrese h: '); x=input('ingrese el punto a evaluar: y=inline(y); a=[y(x+h)-y(x)]/h b=[y(x)-y(x-h)]/h c=[y(x+h)-y(x-h)]/h

a.) h=0.1 COMMAND WINDOW: funcion: sin(x) ingrese h: 0.1 ingrese el punto a evaluar: 1 a = 0.4974 b = 0.5814 c = 1.0788

b.) h=0.05 COMMAND WINDOW: funcion: sin(x) ingrese h: 0.05 ingrese el punto a evaluar: 1 a = 0.5190 b = 0.5611 c = 1.0802

c.) h=0.01 COMMAND WINDOW: funcion: sin(x) ingrese h: 0.01 ingrese el punto a evaluar: 1 a = 0.5361 b = 0.5445 c = 1.0806

d.) h=0.005 COMMAND WINDOW: funcion: sin(x) ingrese h: 0.005 ingrese el punto a evaluar: 1

');

a = b = c =

0.5382 0.5424 1.0806

e.) h=0.001 COMMAND WINDOW: funcion: sin(x) ingrese h: 0.001 ingrese el punto a evaluar: 1 a = 0.5399 b = 0.5407 c = 1.0806

6.5 Calcule df(x)/dx donde f(x)=√𝒙 para x=1 utilizando las aproximaciones de diferencia hacia adelante, hacia atraz y cental con h= 0,1 0,05 0,025 evalue el error de cada resultado (i) por comparación con el valor exacto:(ii) Utilizando el termino de error que se muestra en la tabla 6.1 es decir -(1/2)hf”, (1/2)hf”,y -(1/6)h2f ‘’’, respectivamente. SCRIPT: clear; clc; y=input('funcion: ','s'); h=input('ingrese h: '); x=input('ingrese el punto a evaluar: '); y=inline(y); %aproximacion hacia adelante a=[y(x+h)-y(x)]/h %aproximacion hacia atras b=[y(x)-y(x-h)]/h %aproximacion central c=[y(x+h)-y(x-h)]/2*h

h Hacia adelante Hacia Atras Central

0.1 0.4881 0.5132 0.5006

E=2.4380 E=2.5720 E=0.1198

0.05 0.4939 0.5064 0.5002

E=1,2350 E=1,2638 E=0.0399

0.025 0.4969 0.5032 0.5000

E=0.6238 E=0.6359 E=0

6.7 Deduzca una aproximación de diferencia y el termino de error para fi’’ en términos de fi,fi-1 y fi-2 . 𝑓𝑖−1

𝑓𝑖−2

ℎ2 ′′ ℎ3 ′′′ ℎ4 ′′ = 𝑓𝑖 − ℎ𝑓 𝑖 + 𝑓 𝑖 − 𝑓 𝑖 + 𝑓 𝑖 … 2! 3! 4! ′

4ℎ2 ′′ 8ℎ3 ′′′ 16ℎ4 ′′ = 𝑓𝑖 − 2ℎ𝑓 𝑖 + 𝑓 𝑖− 𝑓 𝑖+ 𝑓 𝑖… 2! 3! 4! ′

𝑓𝑖−2 − 2𝑓𝑖−1 = −𝑓𝑖 − 0 + ℎ2 𝑓 ′′ 𝑖 + ℎ3 𝑓 ′′′ 𝑖 + ⋯

𝑓 ′′ =

𝑓𝑖−2 − 2𝑓𝑖−1 +𝑓𝑖 +𝐸 ℎ2

𝐸 = ℎ𝑓 ′′′ 𝑖

6.9 Calcule la primera derivada f’(1) para f(x)=sen(x) utilizando las aproximaciones de diferencia hacia adelante y h=0.1, 0.05, 0.025, 0.001. Después, evalué el error de cada aproximación numérica comparándola con el valor exacto. Grafique el resultado. Si observa un incremento del error al reducirse h, explique la razón f’(1)=0,5403 -exacto. SCRIPT: Clc; Clear all; f=input('Ingrese la funcion: ','s' ); x=input('Ingrese el valor a evaluar: '); exac=input('Ingrese el valor exacto exacto de la derivada: '); n=input('Numero de veces a evaluar= '); f=inline(f); for i=1:n h=input('Ingrese el valor de h '); fprintf('Hacia adelante= %d\n',d1); d1=(-f(x+2*h)+4*(f(x+h))-3*(f(x)))/(2*h); fprintf('Raiz= %d\n',d1); e=((exac-d1)*100)/d1; fprintf('Error= %d\n',e); fprintf('Hacia atras= %d\n',d1); d1=(-f(x+2*h)+4*(f(x+h))-3*(f(x)))/(2*h); fprintf('Raiz= %d\n',d1); e=((exac-d1)*100)/d1; fprintf('Error= %d\n',e); end

Aproximación

h=0.1

Adelante

0.5419

Atrás

0.5423

Aproximación hacia adelante:

%E 0.2929 %E 0.3700

h=0.05 0.5407 0.5408

%E 0.0788 %E 0.0884

h=0.025 0.5404 0.5402

%E 0.0206 %E 0.0218

h=0.001 0.5403 0.5403

%E 0.00046 %E 0.00046

0 -0.0002 0

0.02

0.04

0.06

0.08

0.1

0.12

-0.0004

Error

-0.0006 -0.0008

-0.001 -0.0012 -0.0014 -0.0016 -0.0018 h

Aproximación hacia atrás: 0 -0.0005

0

0.02

0.04

0.06

0.08

0.1

0.12

-0.001 -0.0015 -0.002 -0.0025

Comentario: Con h semejantantes tanto el error de la aproximación hacia adelante es menor al de hacia atrás pero este al ir disminuyendo el h llega a ser el valor exacto de la derivada para ambos casos realizados.

6.11 Evalué la segunda derivada de tan(x) en x=1 con la fórmula de diferencia central empleando h=0.1, 0.05, 0.02 . Evalué el error comparando con el valor exacto y demuestre que el error es proporcional a h2. SCRIPT: %Segunda derivada central clear f=input('Ingrese la función= ','s'); x=input('Ingrese un valor que desea evaluar= '); f=inline(f); n=input('Cuantas veces evaluara la función= '); ex=input('Ingrese el valor exacto de la derivada= '); for i=1:n h=input('Ingrese el valor h= '); d=(f(x+h)-(2*f(x))+f(x-h))/(h^2); fprintf('La raíz es= \n') disp(d) e=ex-d; fprintf('El error es= \n'); disp(e) end

COMMAND WINDOW: Ingrese la función= tan(x) Ingrese un valor que desea evaluar= 1 Cuantas veces evaluara la función= 3 Ingrese el valor exacto de la derivada= 10.6699 Ingrese el valor h= 0.1 La raíz es=

11.0102

El error es=

-0.3403

Ingrese el valor h= 0.05 La raíz es= El error es=

10.7530 -0.0831

Ingrese el valor h= 0.02 La raíz es= El error es=

10.6831 -0.0132

ERROR

h

h2

Proporcionalidad

-0,3403

0,1

0,01

-34,03

-0,0831

0,05

0,0025

-33,24

-0,0132

0,02

0,0004

-33

Prom. Proporcionalidad

-33,42333333

6.17 Una tabla de Función está dada por:

X

f

-0.1

4.127

0

4.020

0.2

4.441

a) Deduzca la mejor aproximación de diferencial para calcular f´ (0) con los datos dados aquí b) Cuál es el termino de error para la aproximación de diferencial? c) Calcule f´ (0) por la fórmula de diferencial f´(x) : (-fi+3 + 9fi+1 -8fi) / gh

SCRIPT: claer all; clc; x:[-0.1,0,0.2]; y:[4.157,4.020,4.441];

a:polyfit(x,y,length(x)-1) f:input('Ingrese la función ','s'); g:input('ingrese el valor a evaluar: '); h:input('ingrese el valor de h: '); f:inline(f); c:((f(x+h)-f(x-h))/(2*h))

6.19 La distribución de velocidades de un fluido cerca de una superficie plana está dada por:

I 0 1 2

YI(M) 0.0 0.001 0.003

UI(M/S) 0.0 0.4171 0.9080

3

0.006

1.6180

Donde y es la distancia desde la superficie y y u es la velocidad. Suponiendo que el flujo es laminar y que u:0.001 Ns/m2, Calcule el esfuerzo de corte en y:0 utilizado en los siguientes puntos: (i)i:0 y 1 (ii)i: 0, 1 y 2 SCRIPT: clc; clear all; x=[0,0.001,0.003,0.006]; y=[0,0.4171,0.9080,1.6180]; p=polyfit(x,y,length(x)-1)

Comprobación: p = 1.0e+06 * 0.0942 0.0005

9.2433 0.0000

Hacia adelante con 3 puntos f=input('Ingrese la funcion:','s') x=input('Ingrese el valor a evaluar: ') h=input('Ingrese h: ') f=inline(f); p=((f(x+h)-f(x))/h)

Comprobación: Ingrese la funcion: 9243300*x^3-94200*x^2+500*x Ingrese el valor a evaluar: 0 Ingrese h: 0.001 p = 415.0433

Hacia adelante con 3 puntos: f=input('Ingrese la funcion:','s') x=input('Ingrese el valor a evaluar: ') h=input('Ingrese h: ') f=inline(f); p=(((-f(x+2*h))+(4*f(x+h))(3*f(x)))/(2*h)

Comprobación: Ingrese la funcion: 9243300*x^3-94200*x^2+500*x Ingrese el valor a evaluar: 0 Ingrese h: 0.01 p = -1.3487e+03

-