Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NRC1117 ImuesGeovanny
NRC1117 ImuesGeovanny
Geovanny Imues
EJERCICIO 1
%Geovanny Imues
%NRC: 1117
function [E1, E2]=Ejercicio1(f, a, b, c, ya, h, fr)
%Ingresar los datos de la forma:
% Ejercicio1('((t>=0)&(t<=2)).*(t - y) + (t>2).*(t - 3*y)', 0, 2, 3, 1,
8, '((t>=0)&(t<=2)).*(t - 1 + 2*exp(-t)) + (t>2).*((1/3)*t - (1/9) +
(exp((-3)*t))*((4/9)*exp(6) + 2*exp(4)))')
%DATOS
% - f es la función, almacenada como una cadena de caracteres 'f'
% Si ((t>=0)&(t<=2)) se toma la función (t - y)
% Si (t>2) se toma la función (t - 3*y)
% - a y b son los extremos izquierdo y derecho del primer tramo
% - b y c son los extremos izquierdo y derecho del segundo tramo
% - ya es la condición inicial y(a)
% - h es el tamaño del paso
% - fr solución analítica
%RESULTADO
% - t el vector de las abscisas
% - y el vector de las ordenadas
f=inline(f);
fr=inline(fr);
n=(c-a)/h;
t=zeros(1, n+1);
y=zeros(1, n+1);
t(1)=a;
y(1)=ya;
for i=1:n
t(i+1)=t(i) + h;
f1=h*feval(f, t(i), y(i));
f2=h*feval(f, t(i) + h/2, y(i) + (f1)/2);
f3=h*feval(f, t(i) + h/2, y(i) + (f2)/2);
f4=h*feval(f, t(i) + h, y(i) + f3);
y(i+1)=y(i) + (f1 + 2*f2 + 2*f3 + f4)/6;
end
VR=feval(fr, t);
Error=abs(VR - y);
E=[t' y' VR' Error']
Para h=0.25
Para h=0.1
4
h=0.01
5
6
7
8
9
10
11
h=0.1
12
h=0.01
EJERCICIO 2
a) Resolver el PVI
%Geovanny Imues
function [E]=Ejercicio2(f, a, b, ya, h, fr)
%Ingresar los datos de la forma:
%DATOS
% - f es la función, almacenada como una cadena de caracteres 'f'
% - a y b son los extremos derecho e izquierdo del intervalo
% - ya es la condición inicial y(a)
% - h es el tamaño de pasos
% - fr solución analítica
%RESULTADO
% - t el vector de la abscisas
% - y el vector de las ordenadas
f=inline(f);
fr=inline(fr);
n=(b-a)/h;
t=zeros(1, n+1);
y=zeros(1, n+1);
t(1)=a;
y(1)=ya;
y2(1)=y(1);
for i=1:n
t(i+1)=t(i) + h;
f1=h*feval(f, y(i));
f2=h*feval(f, y(i) + (f1)/2);
f3=h*feval(f, y(i) + (f2)/2);
f4=h*feval(f, y(i) + f3);
y(i+1)=y(i) + (f1 + 2*f2 + 2*f3 + f4)/6;
end
VR=feval(fr, t);
Error=abs(VR - y2);
E=[t' y' VR' Error']
hold on
grid on
plot(t, y2, 'r', 'marker', '+')
fplot(fr,[a, b], 'g', 'linestyle', '--')
legend('Punto Medio', 'Real')
hold off
14
h=0.1
%t’ vector de las absisas
%y’ vector de las ordenadas
%VR’ Vector del valor real
%Erro’ Vector del error producido
E=
0 1.0000 1.0000 0
h=0.01
E=
0 1.0000 1.0000 0
h=0.001
E=
0 1.0000 1.0000 0