Matematicas avanzadas

Solo disponible en BuenasTareas
  • Páginas : 5 (1036 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de octubre de 2010
Leer documento completo
Vista previa del texto
Matemáticas Avanzadas
Graficar las tres primeras derivadas de la función Bessel para un n=pi
h=0.001;
x=[0:h:100];
c=length(x);
i=1;
j=5;
dbes=[];
uno=[];
dos=[];
tres=[];
while i<=c-4.*h
for n=i:j
y(n)=besselj(pi,x(n));
end
for n=1:4
A(n,1)=y(i);
A(n,2)=(n.*h)./factorial(1);
A(n,3)=((n.*h)^2)./factorial(2);A(n,4)=((n.*h)^3)./factorial(3);
end
y=[y(i+1),y(i+2),y(i+3),y(i+4)];
a=inv(A)*y';
a=a';
dbes=[dbes;a];
i=i+5;
j=j+5;
end
[m,n]=size(dbes);
for j=1:4
for i=1:m
if j==1
uno(i,2)=dbes(i,2);
end
if j==2
dos(i,3)=dbes(i,3);
else
tres(i,4)=dbes(i,4);
end
end
end
uno=uno';
dos=dos';tres=tres';
h=100./m;
x=[0:h:100-h];
plot(x,uno,'b'),grid on, hold on,plot(x,dos,'r'),hold on,plot(x,tres,'g');

Gráfico.







Matemáticas Avanzadas
Graficar la función Bessely para un n=pi, graficar.
h=0.001;
x=[0:h:100];
c=length(x);
i=1;
j=5;
dbes=[];
uno=[];
dos=[];
tres=[];
while i<=c-4.*h
for n=i:j
y(n)=bessely(pi,x(n));
end
forn=1:4
A(n,1)=y(i);
A(n,2)=(n.*h)./factorial(1);
A(n,3)=((n.*h)^2)./factorial(2);
A(n,4)=((n.*h)^3)./factorial(3);
end
y=[y(i+1),y(i+2),y(i+3),y(i+4)];
a=inv(A)*y';
a=a';
dbes=[dbes;a];
i=i+5;
j=j+5;
end
[m,n]=size(dbes);
for j=1:4
for i=1:m
if j==1
uno(i,2)=dbes(i,2);
end
if j==2dos(i,3)=dbes(i,3);
else
tres(i,4)=dbes(i,4);
end
end
end
uno=uno';
dos=dos';
tres=tres';
h=100./m;
x=[0:h:100-h];
plot(x,uno,'b'),grid on, hold on,plot(x,dos,'r'),hold on,plot(x,tres,'g');

Grafico.

Matemáticas Avanzadas
Graficar la función Yp, calcular las 20 primeras raíces y la distancia promedio entre las raíces.
Primero, uso laprimera forma de la función de Bessel: Besselj
MATLAB (COMMAN WINDOW)

>> x=[0:0.01:100];
>> f=besselj(sqrt(26),x);
>> plot(x,f); grid on

Gráfica de la función f=@ (x) besselj(sqrt(26),x)

Para hallar las raíces de la función, uso la función fzero pero esta tiene un problema: no admite intervalos muy grandes. Observando el gráfico puedo ingresar en la función fzerointervalos pequeños.

MATLAB (COMMAND WINDOW)

>> y=@ (x) besselj(sqrt(26),x);

>> b1=fzero(y,8,10)
b1 =
8.8875

>> b2=fzero(y,11,13)
b2 =
12.4634

>> b3=fzero(y,15,17)
b3 =
15.8303

>> b4=fzero(y,18,20)
b4 =
19.1139

>> b5=fzero(y,21,23)
b5 =
22.3542

>> b6=fzero(y,25,26)
b6 =
25.5689

>>b7=fzero(y,28,29)
b7 =
28.7668

>> b8=fzero(y,31,33)
b8 =
31.9533

>> b9=fzero(y,35,36)
b9 =
35.1315

>> b10=fzero(y,37,39)
b10 =
38.3035

>> b11=fzero(y,41,43)
b11 =
41.4709

>> b12=fzero(y,44,45)
b12 =
44.6345

>> b13=fzero(y,47,48)
b13 =
47.7953

>> b14=fzero(y,50,52)
b14 =
50.9536

>> b15=fzero(y,54,55)b15 =
54.1099

>> b16=fzero(y,56,58)
b16 =
57.2647

>> b17=fzero(y,60,62)
b17 =
60.4180

>> b18=fzero(y,63,64)
b18 =
63.5702
>> b19=fzero(y,66,68)
b19 =
66.7213

>> b20=fzero(y,69,70)
b20 =
69.8716

La segunda forma de la función de Bessel es: Bessely
>> f=@ (x) bessely(sqrt(26),x);
>> ezplot(f,[0,100]); grid onGráfica de la función f=@ (x) bessely(sqrt(26),x)
Comparación de las dos funciones de bessel: la primera forma de color rojo (besselj) y la segunda forma de color verde (bessely)

Para calcular la distancia promedio entre las raíces, escribo un programa en el M-File:
b(1)=8.8875;
b(2)=12.4634;
b(3)=15.8303;
b(4)=19.1139;
b(5)=22.3542;
b(6)=25.5689;
b(7)=28.7668;
b(8)=31.9533;...
tracking img