Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2.5
1.5
1
0.5
0
-1.2
-1.1
-1
-0.9
x
-0.8
-0.7
-0.6
-0.5
1.5
0.5
0
-0.5
0.5
1
x
1.5
Der1_y = 2*(-exp(-2*x)*exp(x)+1/2*(-1-2*cos(2)+exp(-2*x))*exp(x))/
(4-(-1-2*cos(2)+exp(-2*x))^2*exp(x)^2)^(1/2)
x=2;eval(Der1_y)
ans = -0.8242
2.5
p2
5/4 x 2
12
y =
k*x^2
>> yprima=diff('k*x^2','x')
10
yprima =
2*k*x
>> k=solve('yprima=2*k*x','k')
k =
1/2*yprima/x
>> edif=subs('y-k*x^2=0','k',k)
edif =
y-1/2*yprima*x = 0
>> edif_ortog=subs(edif,'yprima','-1/Dy')
-2
0
x
edif_ortog =
y-1/2*(-1/Dy)*x = 0
>> Dy=solve(edif_ortog,'Dy')
Dy =
-1/2/y*x
>> y_ortog=dsolve('Dy =-1/2/y*x','x')
y_ortog =
[ 1/2*(-2*x^2+4*C1)^(1/2)]
[ -1/2*(-2*x^2+4*C1)^(1/2)]
>> figure,for C1=1:6,ezplot(eval(y_ortog(1)),[-3,3]),axis square,
axis equal,hold on, grid on,end
>> for k=0.25:0.25:1.25,ezplot(eval(y),[-3,3]),hold on, grid on,end
p3
p4
p5
h
x1
(h5)
h
x2
...
...
xi
xi+1
...
De la EDO,
yi= f(xi,yi)
, i=0,1,2,...
yi aproxima a y(xi)
Error Trunc Local: (h2)
(h3)
p6
(h3))
(h5))
=
=
=
=
f(xi,yi)
f(xi+(h/2),yi+(h/2)*K1)
f(xi+(h/2),yi+(h/2)*K2)
f(xi+h,yi+h*K3)
y0 =
i=0,1,2,...
p7
Sistema de EDO:
y1 = f1(x,y1,y2)
y2 = f2(x,y1,y2)
Y=F(x,Y),
Y=[y1,y2],
F=[f1(x,Y),f2(x,Y)]
y1(a)=1
y2(a)=2
x0=a
h
x2
x1
...
...
xi
xi+1
...
Yi+1= Yi + F(x,Y)*h/1!
i=0,1,2,...
y0 = ,
Taylor orden 2
(h3))
p8
Cond iniciales:
y1(a)=1
y2= y3 ,
y2(a)=2
y3= y4 ,
y3(a)=3
...
...
yp= f(x,y1,y2,...,yp),
yp(a)=p
y1=y2,
y2=f(x,y1,y2)
{
h
x1
h
x2
..
.
xi
xi+1
..
.. .
.
y1i+1= y1i+y1i*h+y1i*h2/2
y2i+1= y2i+y2i*h+ y2i*h2/2
y1i=y2i
tomando:
y2i =f(xi,y1i,y2i)
y1i=f(xi,y1i,y2i)
y2i=fx(xi,y1i,y2i)+fy1(xi,y1i,y2i)*y2i+fy2(xi,y1i,y2i)*f(xi,y1i,y2i)
para i=0,1,2,...
y10 = y1(a)= 1
y20 = y2(a)= 2
(h3))
p9
p 10
1
0.95
0.1000
0
0.1000
0.2000
0.3000
0.4000
0.5000
0.6000
0.7000
0.8000
0.9000
1.0000
1.1000
1.2000
1.0000
0.9000
0.8200
0.7580
0.7122
0.6810
0.6629
0.6566
0.6609
0.6748
0.6974
0.7276
0.7649
1.0000
0.9097
0.8375
0.7816
0.7406
0.7131
0.6976
0.6932
0.6987
0.7131
0.7358
0.7657
0.8024
0
0.0097
0.0175
0.0236
0.0284
0.0321
0.0347
0.0366
0.0377
0.0383
0.0384
0.0381
0.0375
0.9
0.85
0.8
0.75
0.7
0.65
0.2
0.4
0.6
0.8
1.2
1.4
0.95
0.9
0.8
0.75
x(1)=0;yaprox(1)=1;error(1)=0;
0.7
h=0.1
npasos=round(1.2/h);
0.65
for i=1:npasos
0
0.2
0.4
0.6
0.8
1
1.2
1.4
x(i+1)=x(i)+h;
yaprox(i+1)=yaprox(i)+h*yp(x(i),yaprox(i))+h^2/2*ypp(x(i),yaprox(i));
end
yex=yexacta(x);error=yex-yaprox;
[x',yaprox',yex',error']
figure,plot(x,yaprox,'.r',x,yex,'bo'),grid on
p 11
1) Programa principal -------------------% prEj1Sis2RK2, Integra Ej sist EDO val inicial RK2 tg p medio
% Mtodo de la tangente en punto medio
% yi+1= yi+ h*[f(xi+h/2,yi+(h/2)*f(xi,yi))]
% y0 = ?
i=0,1,2,...
% ec. dif: y''+9y=36exp(3x), y(0)=2, y'(0)=6, y exacta= 2exp(3x)
yaprox +, yexac o
% despejando y'': y''=-9y+36exp(3x)
45
140
% Como sistema:y1'=y2, y2'=-9y1+36exp(3x)
40
% y1(0)=2, y2(0)=6
120
clear all;close all
35
% condiciones iniciales:
100
xini=0;xfin=1;y10=2;y20=6; %(seg,m)
30
h=0.1 % paso
80
25
npasos=round((xfin-xini)/h);
yini=[y10;y20];% vector columna
20
60
xim1=xini;yim1=yini;ytotal=yini;xtotal=xini;
15
for i=1:npasos
40
[yim1,xim1]=RK2_TgMedia1paso(xim1,yim1,h);
10
% ytotal: mat 2 filas, xtotal: vec fila
20
ytotal=[ytotal,yim1];xtotal=[xtotal,xim1]; 5
end
0
0
yexact=2*exp(3*xtotal); ypexact=6*exp(3*xtotal);
0
0.5
1
0
Eje X
figure
subplot(1,2,1),plot(xtotal,ytotal(1,:),'r+',...
xtotal,yexact(1,:),'bo'),title('yaprox +, yexac o'),...
grid on,xlabel('Eje X')
subplot(1,2,2),plot(xtotal,ytotal(2,:),'r+',...
xtotal,ypexact(1,:),'bo'),title('yprim aprox +, yprim exac o')
grid on,xlabel('Eje X')
disp('x,yaprox,yprim aprox,yexact, yprim exact')
resumen=[xtotal',ytotal',yexact',ypexact']
2) Funcin para el sistema de EDOs -------------------% funcion fEDOsis define sistema EDOs
% yprima=f(x,y)
% y''+9y=36exp(3x), y(0)=2, y'(0)=6, y exacta= 2exp(3x)
% y exacta= 2exp(3x)
function yprima=fEDOsis(x,y)
yprima(1,1)=y(2);%yprima vector columna
yprima(2,1)=-9*y(1)+36*exp(3*x);
3) 3 Funcin un paso RK2 tag pto medio -------------------% funcion RK2_TgMedia1paso vector sistem EDO,1 paso
% xn,xnm1:abs inic,fin paso,
%yn,ynm1:ord inic,fin paso; h:tamao paso;
function [yim1,xim1] = RK2_TgMedia1paso(xi,yi,h)
% Mtodo de la tangente en punto medio
% yi+1= yi+ h*[f(xi+h/2,yi+(h/2)*f(xi,yi))]
yim1=yi+h*fEDOsis(xi+h/2,yi+(h/2)*fEDOsis(xi,yi));
xim1=xi+h;
-------------------RESULTADO:
h =
0.2000
x,yaprox,yprim aprox,yexact, yprim exact
resumen =
0
2.0000
6.0000
2.0000
6.0000
0.2000
3.5600
11.0390
3.6442
10.9327
0.4000
6.4389
20.3531
6.6402
19.9207
0.6000
11.7410
37.3677
12.0993
36.2979
0.8000
21.4569
68.3041
22.0464
66.1391
1.0000
39.1922 124.5209
40.1711 120.5132
0.5
Eje X
p 12
p 13
. . . . . .
(Error: O(h^2)
i+1
x=a
x=b
yi aprox a y(xi).
y(xi)=f(xi)
y1 = alfa
Ecuacin i=2,3,,n
n ecuacin en xn+1=b :
yn+1 = beta
M
1
1
0
0
0
0
0
-2
1
0
0
0
0
1
-2
1
0
0
yaprox
0
0
1
-2
1
0
0
0
0
1
-2
0
0
0
0
0
1
1
y1
y2
y3
y4
y5
y6
b
alfa
f(x2)*h^2
f(x3)*h^2
f(x4)*h^2
f(x5)*h^2
beta
Sistema de ecuaciones lineales. Matriz de coeficientes tipo banda, dispersa, sparse, con
muchos ceros
Programa Matlab:
% prContorno1DifFinitas y=f(x) DIFERENCIAS FINITAS, BASICO
clear all,close all
a=0;b=10;alfa=0;beta=0;
L=b-a;
n=10;h=(b-a)/n;
f=inline('x*(L-x)','x','L')
x=linspace(a,b,n+1);
M=zeros(n+1,n+1);% construir matriz coef M
M(1,1)=1;M(n+1,n+1)=1;b(1)=alfa;b(n+1)=beta;
for i=2:n
M(i,[i-1,i,i+1])=[1,-2,1];
b(i)=f(x(i),L)*h^2;
end
M,b
% Escribimos en Ventana Comandos matriz coef y vector indep
yaprox=M\b'; % resolucion sistema ecuaciones lineales
yexacta=L*x.^3/6-x.^4/12-L^3*x/12; % calculo solucion exacta
% Escritura y dibujo de resultados
disp('x, yaprox,yexacta'),[x',yaprox,yexacta']
figure,plot(x,yaprox,'k+',x,yexacta,'or'),grid on
p 14
EJECUCIN:
f =
Inline function:
f(x,L) = x*(L-x)
M =
1
1
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
1
16
21
24
25
24
21
16
b =
x, yaprox,yexacta
ans =
0
1.0000
2.0000
3.0000
4.0000
5.0000
6.0000
7.0000
8.0000
9.0000
10.0000
-50
0
-82.5000
-156.0000
-213.5000
-250.0000
-262.5000
-250.0000
-213.5000
-156.0000
-82.5000
0
0
-81.7500
-154.6667
-211.7500
-248.0000
-260.4167
-248.0000
-211.7500
-154.6667
-81.7500
0
-100
-150
-200
-250
-300
>>
y(0)=0,
y(0)=0,
y(L)=0
y(0)=0
10
p 15