Está en la página 1de 2

% Ejercicio 1

% diferenciacion mediante una formula de 2 puntos


% la formula es de orden O(h) e1/e2=h1/h2
% Completar el cuadro
% Calcular el h* (cuando el error es minimo)
% Calcular el h** (cuando la derivada es 0)(cancelacion)
clc
clear all
syms z, format long
f=exp(-z)*sin(5*z);
df=diff(f)
xi=1
dfi=double(subs(df,xi)) % 0.874535957637215
vec_h=logspace(-1,-15,15)'
vec_dyi = double((subs(f,xi+vec_h)-subs(f,xi))./vec_h)
vec_err = abs(dfi-vec_dyi)
% f'(1)=0.874535957637215
% h dyi err
% 1e-1 1.179145535234938 0.304609577597724
% 1e-2 0.911019302216677 0.036483344579463
% 1e-3 0.878241143662861 0.003705186025647
% 1e-4 0.874907040481127 0.000371082843913
% 1e-5 0.874573071565385 0.000037113928170
% 1e-6 0.874539669013889 0.000003711376674
% 1e-7 0.874536329293254 0.000000371656039
% 1e-8 0.874535989436795 0.000000031799581
% 1e-9 0.874536033708100 0.000000076070885
% 1e-10 0.874536030367790 0.000000072730575
% 1e-11 0.874536030033759 0.000000072396544
% 1e-12 0.874613704396839 0.000077746759624
% 1e-13 0.873836960428672 0.000698997208542
% 1e-14 0 0.874535957637215
% 1e-15 0 0.874535957637215
% err=0.000000072396544 --> h*=1e-11
% dyi=0 --> h**=1e-14
% Ejercicio 2: Recalcular para h=0.25 (m=trapecios)
% Regla del Trapecio
% Exacta para cualquier funcion lineal
clc
clear all
syms z
f=exp(-z)*sin(3*z)
ff=inline('exp(-z).*sin(3*z)')
I=int(f) % Integral indefinida
pretty(I)
I=double(int(f,1,2)) % -0.139269848704487
% Trapecio Compuestas (Mas de 1 trapecio)
h=0.25 % m=4 trapecios
I2a=h/2*double(subs(f,1)+subs(f,1.25)) %-0.013979988727031
I2b=h/2*double(subs(f,1.25)+subs(f,1.5)) %-0.047733938902993
I2c=h/2*double(subs(f,1.5)+subs(f,1.75)) %-0.045922110724109
I2d=h/2*double(subs(f,1.75)+subs(f,2)) %-0.023384401209725
I2=I2a+I2b+I2c+I2d %-0.131020439563858
err=abs(I-I2) %0.008249409140629

% Ejercicio 3
clc
clear all
syms z
f=exp(-z)*sin(3*z)
ff=inline('exp(-z).*sin(3*z)')
I=int(f) % Integral indefinida
I=double(int(f,1,2)) % -0.139269848704487
% Metodo de Simpson 1/3
% m=4 parabolas, N=2*m=8 particiones, h=(2-1)/8
h=1/8
Ia=h/3*double(subs(f,1)+4*subs(f,9/8)+subs(f,10/8))
% -0.017175014055849
Ib=h/3*double(subs(f,10/8)+4*subs(f,11/8)+subs(f,12/8))
% -0.050988193176422
Ic=h/3*double(subs(f,12/8)+4*subs(f,13/8)+subs(f,14/8))
% -0.047693037529090
Id=h/3*double(subs(f,14/8)+4*subs(f,15/8)+subs(f,2))
% -0.023428885597952
IT=Ia+Ib+Ic+Id % -0.139285130359314
err=abs(I-IT) % 1.528165482664323e-05

También podría gustarte