Está en la página 1de 55

Escuela de Ciencia y Tecnologa

1) Sea la Ecuacin: log(x)=sin(x/2)


a. Grfico en Matlab que verifica una solucin en [0,2]
3

-1

-2

-3

10

12

14

>> x=[0.1:0.1:4*pi];
>> fun1=log(x);
>> fun2=sin(x/2);
>> plot(x,fun1,x,fun2), grid
b. Aproximacin utilizando mtodo de biseccin en Matlab
Se define la fun1a=@(x)(log(x)-sin(x/2))
fun1a =
@(x)(log(x)-sin(x/2))
>> bisec(fun1a, 0.1, 2*pi)
Mtodo de la biseccin
n=1
c=3.1916
f(c)=0.16083
n=2
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa


c=1.6458
f(c)=-0.2349
n=3
c=2.4187
f(c)=-0.052157
.
.
.
n=21
c=2.6319
f(c)=-4.8195e-007
n=22
c=2.6319
f(c)=-1.0765e-007
n=23
c=2.6319
f(c)=7.9498e-008
n=24
c=2.6319
f(c)=-1.4077e-008
n=25
c=2.6319
f(c)=3.2711e-008
c. Defino fun1b= @(x)(exp(sin(x/2))-x)
fun1b=@(x)exp(sin(x/2))-x;
>> bisec(fun1b, 0.1, 2*pi)
Mtodo de la biseccin
n=1
c=3.1916
f(c)=-0.47416
n=2
c=1.6458
f(c)=0.43577
n=3
c=2.4187
f(c)=0.1295
.
.
.
.
n=20
c=2.6319
f(c)=3.2387e-006
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa


n=21
c=2.6319
f(c)=1.2684e-006
n=22
c=2.6319
f(c)=2.8333e-007
n=23
c=2.6319
f(c)=-2.0923e-007
n=24
c=2.6319
f(c)=3.7049e-008
n=25
c=2.6319
f(c)=-8.609e-008
Puedo constatar que las ecuaciones son equivalentes.
d. Verifico que |(x)|<1 en [0,2]
(x)= exp(sin(x/2))
(x)= ( exp(sin(x/2))*cos(x/2))
x

( exp(sin(x/2))*cos(x/2))
0,00000
0,78540
1,57080
2,35619
3,14159
3,92699
4,71239
5,49779
6,28319

0,50000
0,71206
0,82436
0,71206
0,50000
0,35109
0,30327
0,35109
0,50000

e. X0=1
X1 = exp(sin(1/2))= 1,6151
X2 = exp(sin(1.6151/2))= 2.0598
X3 = exp(sin(2.0598/2))= 2.3567
X4 = exp(sin(2.3567/2))= 2.5193
Luego de realizar 4 iteraciones el resultado es 2.5193.
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa


f. Programa en Matlab (p_fijo.m)
% ************ Iteracion de punto fijo **********
% Datos de entrada
% Funcion f(x), de la que se busca el punto fijo
% x0 es el punto inicial
% nit es el numero de iteraciones
% delta es la cota del error relativo
% Salida:
% Vector de iteraciones p
function y=p_fijo(f,x0,nit,delta)
k=1;
relerr=1;
x(1)=x0;
while (k <=nit) & (relerr>delta)
x(k+1)=feval(f,x(k));
err(k)=abs(x(k+1)-x(k));
relerr(k)=err(k)/(abs(x(k+1))+eps);
k=k+1;
end
disp('Las iteraciones obtenidas son')
x
g. Aproximacin <10^-4 =
Definimos (x) como g=@(x)(exp(sin(x/2)))
P_fijo(g,1,n, 10^-4)=
p_fijo(g,1,12,0.0001)
Las iteraciones obtenidas son
x=
Columns 1 through 9
1.0000
2.6303

1.6151

2.0598

2.3567

2.5193

2.5908

2.6178

2.6271

Columns 10 through 12
2.6314

2.6317

2.6318

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa


h. Empleamos fsolve
g=@(x)(log(x)-sin(x/2))
g=
@(x)(log(x)-sin(x/2))
>> fsolve( @(x)(log(x)-sin(x/2)),5)
Optimization terminated: first-order optimality is less than options.TolFun.
ans =
2.6319
2) P(x)=x^3+3x+1
a. Comprobacin de las races de p(x) en el intervalo [-1,1]
Definimos a P(x) como p=@(x)x^3+3*x+1
p=
@(x)x^3+3*x+1
bisec(p,-1,1)
Mtodo de la biseccin
n=1
c=0
f(c)=1
n=2
c=-0.5
f(c)=-0.625
n=3
c=-0.25
f(c)=0.23438
.
.
.
.
n=20
c=-0.32218
f(c)=5.7805e-006
n=21
c=-0.32218
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa


f(c)=2.6224e-006
n=22
c=-0.32219
f(c)=1.0434e-006
n=23
c=-0.32219
f(c)=2.5394e-007
n=24
c=-0.32219
f(c)=-1.4081e-007
Concluimos que tiene al menos una raz real
b. S, es nica raz real, lo determinamos por la instruccin roots y es
-0,32219
c. Mtodo de Newton Raphson en Matlab
% Obtiene la raiz del polimomio p mediante el metodo de Newton-Raphson
% p : polinomio
% x0 : punto inicial
% numit : numero de iteraciones
function r=newraph(p,x0,numit)
x=x0;
a=x0;
pd=polyder(p);
pdd=polyder(pd);
if abs((polyval(p,x0)*polyval(pdd,x0))/(polyval(pd,x0)^2))>=1;
fprintf('\nEl mtodo no es convergente para este X0.\n');
end;
for i=1:numit;
x=x-(polyval(p,x)/polyval(pd,x));
error = abs(x-a);
a = x;
fprintf('iteracion: %d
raiz: %.5f
error: %.5f \n',i,x,error);
end;
r=x;
newraph(p1,1,6)
iteracion: 1
iteracion: 2
iteracion: 3
iteracion: 4
iteracion: 5
iteracion: 6

raiz: 0.16667
raiz: -0.32132
raiz: -0.32219
raiz: -0.32219
raiz: -0.32219
raiz: -0.32219

error: 0.83333
error: 0.48799
error: 0.00086
error: 0.00000
error: 0.00000
error: 0.00000

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa


ans =
-0.3222
d. Utilizamos fsolve para aproximar la solucin:
fsolve(@(x)x^3+3*x+1,0)
Optimization terminated: first-order optimality is less than options.TolFun.
ans =
-0.3222
e) Empleo de la funcin roots en Matlab
Defino P(x) como p1=[1 0 3 1]
p1 =
1

>> roots (p1)


ans =
0.1611 + 1.7544i
0.1611 - 1.7544i
-0.3222
3)
a.
sin(2x)=cos(x) en el intervalo [0,2pi]
Definimos la funcin a como fa=@(x) sin(2*x)-cos(x)
fa =
@(x) sin(2*x)-cos(x)
Evaluo en a=pi
feval(fa,pi)
ans =
1.0000
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa

Evaluo en b=2pi
>> feval(fa,2*pi)
ans =
-1.0000
Cambia de signo entonces aplicamos el mtodo de la biseccin en Matlab
Mtodo de la biseccin
La funcin debe cambiar de signo en (a,b)
bisec(fa,pi,2*pi)
Mtodo de la biseccin
n=1
c=4.7124
f(c)=5.5109e-016
n=2
c=5.4978
f(c)=-1.7071
n=3
c=5.1051
f(c)=-1.0898
.
.
.
n=21
c=4.7124
f(c)=-4.4941e-006
n=22
c=4.7124
f(c)=-2.247e-006
n=23
c=4.7124
f(c)=-1.1235e-006
n=24
c=4.7124
f(c)=-5.6176e-007
b. x= tan(x) ver alternativas

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa


Definimos la funcin a como fa=@(x) tan(x)
Evaluo en a=pi
>> feval(fb,pi)
ans =
3.1416
Evalo en b=pi/4
>> feval(fb,1/4*pi)
ans =
-0.2146
Cambia de signo entonces aplicamos el mtodo de la biseccin en Matlab
Mtodo de la biseccin
La funcin debe cambiar de signo en (a,b)
c. x5 +x2 +4=0
la definimos como fc= [ 1 0 0 1 0 4]
utilizamos el mtodo de Newton Raphson
evalo las races con:
>> roots(fc)
ans =
-1.4336
1.0323 + 0.8856i
1.0323 - 0.8856i
-0.3156 + 1.1868i
-0.3156 - 1.1868i
>> newraph(fc,-1,10)
El mtodo no es convergente para este X0.
iteracion: 1
raiz: -2.33333
error: 1.33333
iteracion: 2
raiz: -1.91729
error: 0.41604
iteracion: 3
raiz: -1.63120
error: 0.28609
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa


iteracion: 4
iteracion: 5
iteracion: 6
iteracion: 7
iteracion: 8
iteracion: 9
iteracion: 10

raiz: -1.47911
raiz: -1.43659
raiz: -1.43361
raiz: -1.43359
raiz: -1.43359
raiz: -1.43359
raiz: -1.43359

error: 0.15210
error: 0.04251
error: 0.00299
error: 0.00001
error: 0.00000
error: 0.00000
error: 0.00000

Por el mtodo de la biseccin me da error y por p fijo tambin (en Matlab)


e. xe =ex
Definimos a la funcin como fe= @(x)( exp(x)- x^.exp(1))
La funcin es siempre positiva y creciente no puedo evaluar a y b para que me
cambie el signo de la funcin.
g.

x 7 10 log(1 x )

idem anterior
4)
a. usando fsolve en Matlab
>> fsolve(@(x)(x+2).*(x.^2 -1).^6-3*(10^-6)*x^11,5)
Optimization terminated: first-order optimality is less than options.TolFun.
ans =
1.0799
b. evaluando con feval
>> feval(@(x)(x+2).*(x.^2 -1).^6-3*(10^-6)*x^11,1.0799)
ans =
5.7886e-005
c. ahora definimos como
1
1 3 x 11

x 1

x 1 10 x 2

1/ 6

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

10

Escuela de Ciencia y Tecnologa

5)
a. R( x) ( x 3 2 x 3) 2
Defino a r=[1 0 2 3] y utilizo la opcin conv para efectuar el cuadrado
>> conv(r,r)
ans =
1

12

R( x) ( x 6 4 x 4 6 x 3 4 x 2 12 x 9)

b. Q( x) ( x 1)( x 3) 2 x 4 4
>> q1=[0 0 0 1 1]
q1 =
0

>> q2=[0 0 0 1 -3]


q2 =
0

-3

>> conv(q2,q2)
ans =
0

-6

-6

>> q2convo=conv(q2,q2)
q2convo =
0

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

11

Escuela de Ciencia y Tecnologa


>> q1=[0 0 0 1 1]
q1 =
0

>> q1q2convo=conv(q1,q2convo)
q1q2convo =
0

>> q3= [ 0

-5

4]

q3 =
0

-5

13

>> q=q1q2convo+q3
q=
0

Q ( x) ( x 4 x 3 5 x 2 3 x 13)

c. S ( x) ( x x( x 1)) 3 x( x 4) 2
>> s1=[-1 2 0]
s1 =
-1

>> conv(s1,conv(s1,s1))
ans =
-1

6 -12

>> s1= conv(s1,conv(s1,s1))


Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

12

Escuela de Ciencia y Tecnologa

s1 =
-1

6 -12

>> s2=conv([1 4],[1,4])


s2 =
1

16

>> s2=conv(s2,[0 1 0])


s2 =
0

16

Redefino
>> s2=[0 0 0

16

0]

s2 =
0

16

>> s=s1+s2
s=
-1

6 -12

16

S(x) - x 6 + 6x 5 - 12x 4 + 9x 3 + 8x 2 + 16x

6)
>> s=[1 2 0 0 1]
s=
1

>> q= [1 0 -1]
q=
1

-1
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

13

Escuela de Ciencia y Tecnologa


>> [Q,R]=deconv(s,q)

Q=
1

1 ----------Cociente

R=
0

2------------Resto

7) Representacin en fracciones simples:


a=[1 0 3]
a=
1

>> b=[1 0 0 0 1 -3]


b=
1

-3

>> [p,q,r]=residue(a,b)
p=
-0.1484 + 0.2140i
-0.1484 - 0.2140i
-0.0834 + 0.1784i
-0.0834 - 0.1784i
0.4636
q=
-1.0419 + 0.8229i
-1.0419 - 0.8229i
0.4754 + 1.1297i
0.4754 - 1.1297i
1.1330
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

14

Escuela de Ciencia y Tecnologa

r=
[]
8) f ( x) log( x 1)
a)
>> f=log(x+1)
f=
log(x+1)
>> taylor(f,10,0)
ans =
x-1/2*x^2+1/3*x^3-1/4*x^4+1/5*x^5-1/6*x^6+1/7*x^7-1/8*x^8+1/9*x^9
b)
>> a=taylor(f,100,0)
Nos da el polinomio de Taylor de orden 100 evaluado alrededor del 0 y ese
mismo polinomio lo evaluamos con feval en el punto 1 para ver a valor
converge la serie.
feval(a,1)
ans =
0.6982
c) Converge a ~ 0,6982
e) Con la calculadora y el programa derive llegamos a~0.6881
f) La diferencia en las aproximaciones es nfima, y los trminos que superan el
orden 100 son despreciables por lo tanto no sugerimos otro mtodo.
9) >> f=gallery('frank',3,1)
f=
1
1

1
2

1
2
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

15

Escuela de Ciencia y Tecnologa


0

>> eig(f)
ans =
0.2087
1.0000
4.7913
>> cond(f)
ans =
27.5796
>> inv(f)
ans =
2 -1 0
-3 3 -1
2 -2 1
>> f=gallery('frank',5,1)
f=
1
1
0
0
0

1
2
2
0
0

1
2
3
3
0

1
2
3
4
4

1
2
3
4
5

>> cond(f)
ans =
647.4683
>> inv(f)
ans =
2.0000
-3.0000
8.0000
-30.0000

-1.0000
0
0
0
3.0000 -1.0000 0.0000 -0.0000
-8.0000 4.0000 -1.0000 0.0000
30.0000 -15.0000 5.0000 -1.0000
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

16

Escuela de Ciencia y Tecnologa


24.0000 -24.0000 12.0000 -4.0000
>> f=gallery('frank',7,1)

1.0000

f=
1
1
0
0
0
0
0

1
2
2
0
0
0
0

1
2
3
3
0
0
0

1
2
3
4
4
0
0

1
2
3
4
5
5
0

1
2
3
4
5
6
6

1
2
3
4
5
6
7

>> cond(f)
ans =
3.1913e+004
>> inv(f)
ans =
2.0000 -1.0000
0
0
0
0
0
-3.0000 3.0000 -1.0000 -0.0000 0.0000 -0.0000 0.0000
8.0000 -8.0000 4.0000 -1.0000 0.0000 -0.0000 0.0000
-30.0000 30.0000 -15.0000 5.0000 -1.0000 0.0000 -0.0000
144.0000 -144.0000 72.0000 -24.0000 6.0000 -1.0000 0.0000
-840.0000 840.0000 -420.0000 140.0000 -35.0000 7.0000 -1.0000
720.0000 -720.0000 360.0000 -120.0000 30.0000 -6.0000 1.0000
>> f=gallery('frank',9,1)
f=
1
1
0
0
0
0
0
0
0

1
2
2
0
0
0
0
0
0

1
2
3
3
0
0
0
0
0

1
2
3
4
4
0
0
0
0

1
2
3
4
5
5
0
0
0

1
2
3
4
5
6
6
0
0

1
2
3
4
5
6
7
7
0

1
2
3
4
5
6
7
8
8

1
2
3
4
5
6
7
8
9

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

17

Escuela de Ciencia y Tecnologa


>> cond(f)
ans =
2.6666e+006
>> inv(f)
ans =
1.0e+004 *
0.0002
-0.0003
-0.0000
0.0008
0.0000
-0.0030
-0.0000
0.0144
0.0000
-0.0840
-0.0000
0.5760
0.0000
-4.5360
-0.0001
4.0320
0.0001

-0.0001
0
0.0003 -0.0001
-0.0008

0.0004 -0.0001

0.0030 -0.0015
-0.0144

4.5360 -2.2680
-4.0320

2.0160 -0.6720

0.0000

0.0000 -0.0000

0.0007 -0.0001 -0.0000

0.0240 -0.0048

0.7560 -0.1890

0.0000 -0.0000

0.0000 -0.0000

0.0006 -0.0001

0.0140 -0.0035

0.2880 -0.0960

0
0
0
0.0000 -0.0000 0.0000

0.0000 -0.0000

0.0005 -0.0001

0.0072 -0.0024

0.0840 -0.0420
-0.5760

0
0
0
0.0000 -0.0000

0.0008 -0.0001

0.0378 -0.0063

0.1680 -0.0336

0.0009

0.0056 -0.0008

>>
>> f=gallery('frank',15,1)
f=
1
1
0
0
0
0
0
0
0
0
0

1
2
2
0
0
0
0
0
0
0
0

1
2
3
3
0
0
0
0
0
0
0

1
2
3
4
4
0
0
0
0
0
0

1
2
3
4
5
5
0
0
0
0
0

1 1 1 1 1 1 1
2 2 2 2 2 2 2
3 3 3 3 3 3 3
4 4 4 4 4 4 4
5 5 5 5 5 5 5
6 6 6 6 6 6 6
6 7 7 7 7 7 7
0 7 8 8 8 8 8
0 0 8 9 9 9 9
0 0 0 9 10 10 10
0 0 0 0 10 11 11
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

1
2
3
4
5
6
7
8
9

1
2
3
4
5
6
7
8
9

1
2
3
4
5
6
7
8
9
10 10 10
11 11 11
18

Escuela de Ciencia y Tecnologa


0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

11 12 12 12 12
0 12 13 13 13
0 0 13 14 14
0 0 0 14 15

>> cond(f)
ans =
1.3711e+013
>> inv(f)
ans =
1.0e+010 *
0.0000 -0.0000
0
0
0
0
0
0
0
0
0
0
0
0
0
-0.0000 0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
-0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 -0.0000 -0.0000 0.0000 0.0000 -0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 -0.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000
-0.0004 0.0004 -0.0002 0.0001 -0.0000 0.0000 -0.0000 0.0000
-0.0000 0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0000
0.0044 -0.0044 0.0022 -0.0007 0.0002 -0.0000 0.0000 -0.0000
0.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0000
-0.0519 0.0519 -0.0259 0.0086 -0.0022 0.0004 -0.0001 0.0000
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
0.6706 -0.6706 0.3353 -0.1118 0.0279 -0.0056 0.0009 -0.0001
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
-9.3405 9.3405 -4.6703 1.5568 -0.3892 0.0778 -0.0130 0.0019
-0.0002 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000
8.7178 -8.7178 4.3589 -1.4530 0.3632 -0.0726 0.0121 -0.0017
0.0002 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
Alumno: Corominas Mara Celeste
19
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa

>>

10) Programa para evaluar la matriz A en Matlab


function mat=matrix(a,b)
u=a;
v=b;
A=[-3*u,v,0,0;3*u,-2*u-v,2*v,0;0,2*u,-u-2*v,3*v;0,0,u,-3*v]
fprintf('\nEl rango de la matriz A es=.\n');
rank(A)
fprintf('\nEl determinante de la matriz A es=.\n');
det(A)
fprintf('\nLa traza de la matriz A es=.\n');
trace(A)
fprintf('\nLos autovalores de la matriz A son=.\n');
eig(A)
if det(A)==0
fprintf('\nLa matriz A no es inversible.\n');
else
fprintf('\nLa matriz A es inversible.\n');
inv(A)
end

Para comprobar que el programa funciona evaluamos u y v


>> evalmat(2,1/5)
A=
-6.0000 0.2000
0
0
6.0000 -4.2000 0.4000
0
0 4.0000 -2.4000 0.6000
0
0 2.0000 -0.6000
El rango de la matriz A es=.
ans =
3

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

20

Escuela de Ciencia y Tecnologa


El determinante de la matriz A es=.
ans =
0
La traza de la matriz A es=.
ans =
-13.2000
Los autovalores de la matriz A son=.
ans =
-6.6000
-4.4000
-2.2000
0.0000
La matriz A no es inversible.
Probamos con otros valores de u y v:
>> evalmat(1/2,1/3)
A=
-1.5000 0.3333
0
0
1.5000 -1.3333 0.6667
0
0 1.0000 -1.1667 1.0000
0
0 0.5000 -1.0000
El rango de la matriz A es=.
ans =
3
El determinante de la matriz A es=.
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

21

Escuela de Ciencia y Tecnologa


ans =
-1.6653e-016
La traza de la matriz A es=.
ans =
-5
Los autovalores de la matriz A son=.
ans =
-2.5000
-1.6667
-0.0000
-0.8333
La matriz A es inversible.
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.598721e-017.
> In evalmat at 17
ans =
1.0e+015 *
1.3344
6.0048
9.0072
4.5036

1.3344
6.0048
9.0072
4.5036

1.3344
6.0048
9.0072
4.5036

1.3344
6.0048
9.0072
4.5036

>>
11)
A=[2 1 0; 3/2 -1 2; 0 2*pi -sqrt(2); 0 log(3) sin(3)]
A=
2.0000 1.0000
0
1.5000 -1.0000 2.0000
0 6.2832 -1.4142
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

22

Escuela de Ciencia y Tecnologa


0

1.0986

0.1411

>> B=A'
B=
2.0000 1.5000
0
0
1.0000 -1.0000 6.2832 1.0986
0 2.0000 -1.4142 0.1411
>> C=A*B

C=
5.0000 2.0000 6.2832 1.0986
2.0000 7.2500 -9.1116 -0.8164
6.2832 -9.1116 41.4784 6.7032
1.0986 -0.8164 6.7032 1.2269
>> rank(C)
ans =
3
>> det(C)
ans =
7.2950e-014
>> inv(C)
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.691383e-018.
ans =
1.0e+015 *
0.1837 -0.2449 -0.2453 1.0128
-0.2449 0.3265 0.3271 -1.3503
-0.2453 0.3271 0.3276 -1.3525
1.0128 -1.3503 -1.3525 5.5840
D=B*A
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

23

Escuela de Ciencia y Tecnologa

D=
6.2500 0.5000 3.0000
0.5000 42.6854 -10.7307
3.0000 -10.7307 6.0199
>> rank(D)
ans =
3
>> det(D)
ans =
468.4702
>> inv(D)
ans =
0.3027 -0.0751 -0.2848
-0.0751 0.0611 0.1464
-0.2848 0.1464 0.5689
D es inversible.
12)
a) Calculo de autovalores de Q y verificacin que =1
>> Q=[0.2 0.1 0.8; 0.1 0.6 0; 0.7 0.3 0.2]
Q=
0.2000
0.1000
0.7000

0.1000
0.6000
0.3000

0.8000
0
0.2000

>> eig(Q)
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

24

Escuela de Ciencia y Tecnologa


ans =
-0.5385
1.0000 -------comprueba
0.5385
b)
>> a=Q^2
a=
0.6100
0.0800
0.3100

0.3200
0.3700
0.3100

0.3200
0.0800
0.6000

>> eig(a)
ans =
0.2900
1.0000-------comprueba
0.2900
>> b=Q^5
b=
0.4296 0.4212 0.4801
0.1116 0.1537 0.1032
0.4588 0.4251 0.4167
>> eig(b)
ans =
1.0000-------comprueba
-0.0453
0.0453
>> c=Q^100
c=
0.4507
0.1127
0.4366

0.4507 0.4507
0.1127 0.1127
0.4366 0.4366
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

25

Escuela de Ciencia y Tecnologa

>> eig(c)

ans =
0
1.0000-------comprueba
0.0000
Lo que se observa es que los autovalores obtenidos en las distintas
potencias de Q son equivalentes al autovalor de Q elevado a la potencia
en que la hayamos evaluado.
c)
>> log(Q +1)
ans =
0.1823
0.0953
0.5306

0.0953
0.4700
0.2624

0.5878
0
0.1823

e)
g)
>> expm(Q)
ans =
1.5930 0.3396 1.0739
0.1636 1.8366 0.0587
0.9617 0.5421 1.5857
13) Bases de los espacios nulos de i) e ii)
>> i=[0 5 7 0 3;0 5 9 1 5]
i=
0
0

5
5

7
9

0
1

3
5

>> null(i)
ans =
-0.8213 -0.1689 -0.5450
-0.2975 0.3964 0.3255
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

26

Escuela de Ciencia y Tecnologa


0.3542 -0.1769 -0.4790
-0.0471 0.8495 -0.1922
-0.3306 -0.2478 0.5751
>> ii=[1 3 5 3 4]
ii =
1

>> null(ii)
ans =
-0.3873
0.8672
-0.2214
-0.1328
-0.1771

-0.6455
-0.2214
0.6310
-0.2214
-0.2952

-0.3873
-0.1328
-0.2214
0.8672
-0.1771

-0.5164
-0.1771
-0.2952
-0.1771
0.7638

14)
i=
1
1

-1
1

>> x=[x1 x2]


x=
[ x1, x2]

b=
1

>> b=b'

b=
1
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

27

Escuela de Ciencia y Tecnologa


3
>> ib=[i,b]
ib =
1
1

-1
1

1
3

>> det(i)
ans =
2
Se trata de un sistema con solucin nica, ya que el determinante det(i) es
distinto de cero.
>> xsol=inv(i)*b
xsol =
2
1
X1=2
X2=1
>> ii=[1 1; 2 2]
ii =
1
2

1
2

>> x=[x1 x2]


x=
[ x1, x2]
>> b= [1 3]
b=
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

28

Escuela de Ciencia y Tecnologa


1

>> b=b'
b=
1
3
>> det(ii)
ans =
0
Se puede tratar de un sistema compatible indeterminado o incompatible, ya que
el determinante det(i) es igual a cero.
Corroboro con:
>> xsol=inv(ii)*b
Warning: Matrix is singular to working precision.
xsol =
Inf
Inf
Es un sistema compatible indeterminado (con infinitas soluciones)
>> iii=[1 1; 2 2]
iii =
1
2

1
2

>> x=[x1 x2]


x=
[ x1, x2]
>> b= [1 2]
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

29

Escuela de Ciencia y Tecnologa

b=
1

>> b=b'
b=
1
2
>> det(iii)
ans =
0
Se puede tratar de un sistema compatible indeterminado o incompatible, ya que
el determinante det(i) es igual a cero.
Corroboro con:
>> xsol=iii\b
Warning: Matrix is singular to working precision.
xsol =
NaN
NaN
Es un sistema incompatible (no tiene solucin).
15)
>> A=[0 1 -2 3;2 -1 0 1]
A=
0
2

1
-1

-2
0

3
1

>> b=[1 3]
b=
1

3
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

30

Escuela de Ciencia y Tecnologa

>> b=b'

b=
1
3
>> ab=[A,b]
ab =
0
2

1
-1

-2
0

3
1

1
3

>> rank(A)
ans =
2
>> rank(ab)
ans =
2
>> size(A)
ans =
2

>> xsol=A\b
xsol =
1.3333
0
0
0.3333
El rango de la matriz A es igual al rango de la matriz ampliada Ab y es menor
que la cantidad de incgnitas por lo tanto el sistema es compatible
indeterminado (infinitas soluciones)
Alumno: Corominas Mara Celeste
31
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

Escuela de Ciencia y Tecnologa

xsol= *xsol

16)
a)
>> A=[1 3 5; 4 -2 2; 5 1 -1]
A=
1
4
5

3
-2
1

5
2
-1

>> b=[0 2 3]
b=
0

>> b=b'
b=
0
2
3
>> xsol=inv(A)*b
xsol =
0.5714
0.0179
-0.1250
b)
>> xsol=A\b
xsol =
0.5714
0.0179
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

32

Escuela de Ciencia y Tecnologa


-0.1250

c)
>> [L,U]=lu(A)
L=
0.2000 -1.0000
0.8000 1.0000
1.0000
0

1.0000
0
0

U=
5.0000 1.0000 -1.0000
0 -2.8000 2.8000
0
0 8.0000
>> y=L\b
y=
3.0000
-0.4000
-1.0000
>> x=U\y
x=
0.5714
0.0179
-0.1250
>>

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

33

Escuela de Ciencia y Tecnologa

17)
a)
>> x=[-15:15];
>> y=sqrt(abs(x))
y=
Columns 1 through 15
3.8730 3.7417 3.6056 3.4641 3.3166 3.1623 3.0000
2.6458 2.4495 2.2361 2.0000 1.7321 1.4142 1.0000

2.8284

Columns 16 through 30
0
2.8284

1.0000
3.0000

1.4142
3.1623

1.7321
3.3166

2.0000
3.4641

2.2361
3.6056

2.4495
3.7417

2.6458

Column 31
3.8730
>> plot(x,y)
4

3.5

2.5

1.5

0.5

0
-15

-10

-5

10

15

b)
>> plot(x,y)
>> x=[-15:15];
>> xx=[-15:0.01:15];
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

34

Escuela de Ciencia y Tecnologa


>> y=sqrt(abs(x));
>> yy1=interp1(x,y1,xx, 'lineal');
>> plot(x,y1,'o',xx,yy1)

>> yy2=interp1(x,y1,xx, 'cuadric');


>> plot(x,y1,xx,yy2)
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
-4

-3

-2

-1

-1

>> yy3=interp1(x,y1,xx, 'cubic');


>> plot(x,y1,xx,yy3)
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
-4

-3

-2

>> yy4=interp1(x,y1,xx, 'spline');


>> plot(x,y1,xx,yy4)

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

35

Escuela de Ciencia y Tecnologa


2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
-4

-3

-2

-1

c)
y=
Columns 1 through 15
3.8730 3.7417 3.6056 3.4641 3.3166 3.1623 3.0000
2.6458 2.4495 2.2361 2.0000 1.7321 1.4142 1.0000

2.8284

Columns 16 through 30
0
2.8284

1.0000
3.0000

1.4142
3.1623

1.7321
3.3166

2.0000
3.4641

2.2361
3.6056

2.4495
3.7417

2.6458

Column 31
3.8730
>> yd= 1./(2*sqrt(abs(x)));
Warning: Divide by zero.
>> yd2=diff(y);
>> yd2(31)=yd2(30);
>> plot(x,yd,x,yd2)

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

36

Escuela de Ciencia y Tecnologa

1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-15

-10

-5

10

15

d)
>> syms x
>> y=sqrt(abs(x))
y=
abs(x)^(1/2)
>> int(y,x,-15,15)
ans =
20*15^(1/2)
--------------------------------------------------------------------------------------------------------18)
a)
y=exp(-x.^2);
x=[-5:0.05:5];
plot(y,x)
plot(x,y)
-----------------------------------------------------------------------------Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

37

Escuela de Ciencia y Tecnologa


b) Grfico
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5

-4

-3

-2

-1

c) Clculo de integral
>> syms x
>> y=exp(-x.^2);
>> int(y,x,-5,5)
ans =
erf(5)*pi^(1/2)
-------------------------------------------------------------------------d) Localizacin de puntos de inflexin
>> syms x
>> x=[-5:0.05:5];
>> y=@(x)exp(-1.*(x.^2))
y=
@(x)exp(-1.*(x.^2))

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

38

Escuela de Ciencia y Tecnologa


>> feval(y,x);
>> y2=diff(ans,2);
>> whos
Name
ans
x
y
y2

Size

Bytes Class

1x201
1x201
1x1
1x199

1608 double array


1608 double array
16 function_handle array
1592 double array

Grand total is 602 elements using 4824 bytes


>> y2(200)=y2(199);
>> y2(201)=y2(200);
>> whos
Name
ans
x
y
y2

Size

Bytes Class

1x201
1x201
1x1
1x201

1608 double array


1608 double array
16 function_handle array
1608 double array

Grand total is 604 elements using 4840 bytes


Ahora tienen la misma dimensin.
>> plot(x,y2), grid;
-3

x 10

-1

-2

-3

-4

-5
-5

-4

-3

-2

-1

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

39

Escuela de Ciencia y Tecnologa

------------------------------------------------------------------------------------------19)
a)
>> vecx=[-4 -3 -2 -1 0 1 2 3 4 ];
>> vecy=[0 0 0 1 4 1 0 0 0];
>> x=(-4:0.01:4); red fina
>> fint=interp1(vecx,vecy,x,'cubic');
>> plot(x,fint,vecx,vecy)
4
3.5
3
2.5
2
1.5
1
0.5
0
-4

-3

-2

-1

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

40

Escuela de Ciencia y Tecnologa


b) Interpolacin lineal
>> fint=interp1(vecx,vecy,x,'lineal');
>> plot(x,fint,vecx,vecy)
4
3.5
3
2.5
2
1.5
1
0.5
0
-4

-3

-2

-1

c) Interpolacin spline
>> fint=interp1(vecx,vecy,x,'spline');
>>plot(x,fint,vecx,vecy)
4
3.5
3
2.5
2
1.5
1
0.5
0
-4

-3

-2

-1

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

41

Escuela de Ciencia y Tecnologa

20) Resolucin de ecuaciones diferenciales con o sin condicin inicial


de primer y segundo orden mediante la opcin dsolve.
a) Ec. Diferencial 1er orden (sin condicin inicial)= Dy+3*y=t+exp(-2*t)
>> xsol1=dsolve('Dy+3*y=t+exp(-2*t)')
xsol1 =
1/3*t-1/9+exp(-2*t)+exp(-3*t)*C1
>> pretty (xsol1)
1/3 t - 1/9 + exp(-2 t) + exp(-3 t) C1
b) Ec. Diferencial 1er orden (sin condicin inicial)= Dy -y=2*exp(t)
>> xsol2=dsolve('Dy -y=2*exp(t)')
xsol2 =
(2*t+C1)*exp(t)
>> pretty (xsol2)
(2 t + C1) exp(t)
c) Ec. Diferencial 1er orden (con condicin inicial)=
Dy+4*t^(-1)*y= exp(-t)*t^(-3)
y(-1)=0
>> xsol3=dsolve('Dy+4*t^(-1)*y= exp(-t)*t^(-3)','y(-1)=0')
xsol3 =
-exp(-t)*(t+1)/t^4
>> pretty (xsol3)
exp(-t) (t + 1)
- --------------4
t
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

42

Escuela de Ciencia y Tecnologa

d) Ec. Diferencial 1er orden (con condicin inicial)=


Dy -2*y=exp(2*t)
y(0)=2
>> xsol4=dsolve('Dy -2*y=exp(2*t)', 'y(0)=2')
xsol4 =
(t+2)*exp(2*t)
>> pretty (xsol4)
(t + 2) exp(2 t)
e) Ec. Diferencial 2do orden (sin condicin inicial)= D2y+5*Dy=0
>> xsol5=dsolve('D2y+5*Dy=0')
xsol5 =
C1+C2*exp(-5*t)
f) Ec. Diferencial 2do orden (con condiciones iniciales)=
D2y+8*Dy-9*y=0
y(1)=1
Dy(1)=0
>> xsol6=dsolve('D2y+8*Dy-9*y=0', 'y(1)=1','Dy(1)=0')
xsol6 =
1/10*exp(9)*exp(-9*t)+9/10*exp(-1)*exp(t)
>> pretty (xsol6)
1/10 exp(9) exp(-9 t) + 9/10 exp(-1) exp(t)

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

43

Escuela de Ciencia y Tecnologa


21) Programa Runge Kutta 4to orden
function f
fprintf('\n \tRESOLUCION DE ECUACIONES DIFERENCIALES POR MEDIO RUNGEKUTTA DE ORDEN 4\n')
f=input('\n Ingrese la ecuacion diferencial\n','s');
t0=input('\n Ingrese el primer punto t0:\n');
t1=input('\n Ingrese el segundo punto t1:\n');
y0=input('\n Ingrese la condicion inicial y(t0):\n');
n=input('\n Ingrese el numero de pasos n:\n');
h=(t1-t0)/n;
ts=t0:h:t1;
fprintf('\n''it t0 y(t1)');
for i=1:n
it=i-1;
t0=ts(i);
t=t0;
y=y0;
k1=h*eval(f);
t=t0+h/2;
y=y0+k1/2;
k2=h*eval(f);
t=t0+h/2;
y=y0+k2/2;
k3=h*eval(f);
t=t0+h;
y=y0+k3;
k4=h*eval(f);
y0=y0+(k1+2*k2+2*k3+k4)/6;
fprintf('\n%2.0f%10.6f%10.6f\n',it,t0,y0);
end
fprintf('\n El punto aproximado y(t1) es = %8.6f\n',y0);

22)

Resolucin ecuaciones diferenciales mediante Mtodo RungeKutta

a) Dy=sin(t) + y*exp(t)
y(0)=1
>> rk
RESOLUCION DE ECUACIONES DIFERENCIALES POR MEDIO
RUNGE-KUTTA DE ORDEN 4
Ingrese la ecuacion diferencial
sin(t) + y*exp(t)
Ingrese el primer punto t0:
0
Ingrese el segundo punto t1:
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

44

Escuela de Ciencia y Tecnologa


1
Ingrese la condicion inicial y(t0):
0
Ingrese el numero de pasos n:
0.5
'it t0 y(t1)
El punto aproximado y(t1) es = 0.000000
>>
b) Dy=-2*y/t +sin(t)/t
y(pi)=1

>> rk
RESOLUCION DE ECUACIONES DIFERENCIALES POR MEDIO
RUNGE-KUTTA DE ORDEN 4
Ingrese la ecuacion diferencial
-2y/t+sin(t)/t
Ingrese el primer punto t0:
pi
Ingrese el segundo punto t1:
5
Ingrese la condicion inicial y(t0):
1
Ingrese el numero de pasos n:
0.5
'it t0 y(t1)
El punto aproximado y(t1) es = 1.000000
c)Dy=-y+*exp(-t)+1
y(0)=1

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

45

Escuela de Ciencia y Tecnologa

>> rk
RESOLUCION DE ECUACIONES DIFERENCIALES POR MEDIO
RUNGE-KUTTA DE ORDEN 4
Ingrese la ecuacion diferencial
-y+t*exp(-t)+1
Ingrese el primer punto t0:
0
Ingrese el segundo punto t1:
6
Ingrese la condicion inicial y(t0):
1
Ingrese el numero de pasos n:
2
'it t0 y(t1)
0 0.000000 1.493050
1 3.000000 1.430475
El punto aproximado y(t1) es = 1.430475
23) 1)Funciones ode23 (mtodos de Runge Kutta de 2do y 3er orden)
a)Escribo mi ecuacin diferencial en el editor matlab como:
function dy=f(t,y)
dy=sin(t) + y*exp(t);

>> [t,num_y]=ode23('f',[0;1],0)
t=
0
0.0250
0.0500
0.0802
0.1205
0.1715
0.2331
0.3044
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

46

Escuela de Ciencia y Tecnologa


0.3837
0.4690
0.5581
0.6488
0.7394
0.8286
0.9153
1.0000
num_y =
0
0.0003
0.0013
0.0033
0.0076
0.0157
0.0297
0.0525
0.0869
0.1367
0.2057
0.2988
0.4217
0.5822
0.7901
1.0625
>>
>> plot(t, num_y)
1.4
1.2
1
0.8
0.6
0.4
0.2
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

0.9

47

Escuela de Ciencia y Tecnologa

b) Escribo mi ecuacin diferencial en el editor matlab como:


function dy=f1(t,y)
dy=-2*y./t +sin(t)/t ;

>> [t,num_y]=ode23('f1',[pi;5],1)
t=
3.1416
3.2673
3.4531
3.6389
3.8248
4.0106
4.1965
4.3823
4.5681
4.7540
4.9398
5.0000
num_y =
1.0000
0.9222
0.8142
0.7136
0.6195
0.5317
0.4502
0.3750
0.3064
0.2447
0.1901
0.1740
>> plot(t, num_y)
>>

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

48

Escuela de Ciencia y Tecnologa

1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1

3.2

3.4

3.6

3.8

4.2

4.4

4.6

4.8

c) Escribo mi ecuacin diferencial en el editor matlab como:


function dy=f2(t,y)
dy=-y+t*exp(-t)+1 ;

>> [t,num_y]=ode23('f2',[0;6],1)
t=
0
0.1500
0.3000
0.5406
0.8253
1.1880
1.7125
2.3125
2.9125
3.5125
4.1125
4.7125
5.3125
5.9125
6.0000
num_y =
1.0000
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

49

Escuela de Ciencia y Tecnologa


1.0097
1.0333
1.0850
1.1491
1.2151
1.2651
1.2659
1.2315
1.1847
1.1387
1.0998
1.0695
1.0471
1.0445
>> plot(t, num_y)
>>
1.35
1.3
1.25
1.2
1.15
1.1
1.05
1

23) 2)Funciones ode45 (mtodos de Runge Kutta de 4to y 5to orden):


a) Idem ecuacin diferencial 23) 1)
>> [t,num_y]=ode45('f',[0;1],0)
t=
0
0.0250
0.0500
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

50

Escuela de Ciencia y Tecnologa


0.0750
.
.
.
0.9250
0.9500
0.9750
1.0000
num_y =
0
0.0003
0.0013
0.0029
.
.
.
0.8177
0.8924
0.9740
1.0632
>> plot(t, num_y)

1.4
1.2
1
0.8
0.6
0.4
0.2
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

0.9

51

Escuela de Ciencia y Tecnologa

b) Idem ecuacin diferencial 23) 1)


>> [t,num_y]=ode45('f1',[pi;5],1)
t=
3.1416
3.1881
3.2345
3.2810
.
.
.
4.8606
4.9071
4.9535
5.0000
num_y =
1.0000
0.9707
0.9420
0.9139
.
.
.
0.2125
0.1992
0.1864
0.1740
>> plot(t, num_y)
>>

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

52

Escuela de Ciencia y Tecnologa


1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1

3.2

3.4

3.6

3.8

4.2

4.4

4.6

4.8

c)Idem ecuacin diferencial 23) 1)


>> [t,num_y]=ode45('f2',[0;6],1)
t=
0
0.1500
0.3000
0.4500
0.6000
.
.
.
5.5500
5.7000
5.8500
6.0000
num_y =
1.0000
1.0096
1.0333
1.0646
.
.
.
1.0544
1.0493
1.0446
>> plot(t, num_y)
>>
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

53

Escuela de Ciencia y Tecnologa


1.35
1.3
1.25
1.2
1.15
1.1
1.05
1

24) Resolucin ecuaciones diferenciales de orden dos mediante


reduccin de orden con funcion ode45
a) Reduccin de orden de: y+2y+3y=exp(-t)*sin(t)
y(0)=1; y(0)=-1

function f = dfunc(t,y) %Funcin que depende de t y y


f = zeros (2,1); %Vector columna con el nmero de ecuaciones a
resolver
f(1)=y(2);
f(2)=-2*y(2)-3*y(1)+exp(-t)*sin(t);

>> [t,num_y]=ode45(@dfunc,[0 1],[1 -1])


t =
0
0.0250
0.0500
0.0750
0.1000
.
.
.
0.9250
0.9500
0.9750
1.0000
num_y =
Alumno: Corominas Mara Celeste
Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

54

Escuela de Ciencia y Tecnologa

1.0000
0.9747
0.9489
0.9226

-1.0000
-1.0232
-1.0427
-1.0589

0.1489
0.1353
0.1223
0.1100

-0.5547
-0.5304
-0.5063
-0.4825

.
.
.

>> plot(t, num_y)


>>

0.5

-0.5

-1

-1.5

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Alumno: Corominas Mara Celeste


Materia: Mtodos Numricos
Docente: Dr. Eduardo Serrano

0.8

0.9

55

También podría gustarte