
cómo generar una gráfica de superficie para cada valor del indice del sumatorio.
Publicado por Gustavo (2 intervenciones) el 03/11/2014 00:26:15
Hola a todos, primero que todo mis respetos a todos los integrantes de este foro.
Estoy presentando un problema que no he sido capaz de resolver. Tengo una función que depende de dos variables (ver archivo adjunto escrito en maple).
Me gustaría que el programa me presentara la superficie para el correspondiente valor de "n" introducido por el usuario.
He estado intentando con el siguiente código
******************************************************************+
************************************
La función legendre, es generada de manera recursiva de la siguiente forma:
Me gustaria por favor que me indicaran cómo puedo resolver esta situación.
Agradeciendo de antemano cualquier ayuda brindada,
Atentamente
Gustavo
Estoy presentando un problema que no he sido capaz de resolver. Tengo una función que depende de dos variables (ver archivo adjunto escrito en maple).
Me gustaría que el programa me presentara la superficie para el correspondiente valor de "n" introducido por el usuario.
He estado intentando con el siguiente código
******************************************************************+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
r = linspace(0,5,80);
z = linspace(0,pi,80);
n = input('Introducir el número de términos a expandir: ');
suma(0,0) = 0.0;
for k = 1:n
if k == 1
for j = 1:length(r)
for i = 1:length(z)
x(i) = cos(z(i));
xx = x(i);
suma(i,j) = suma(i-1,j-1) + (2*k+1)*2^i*(gamma(k+1))^2*(r(j)/5)^n*legendre(1,xx);
end
end
else
for j = 1:length(r)
for i = 1:length(z)
x(i) = cos(z(i));
xx = x(i);
suma(i,j) = suma(i-1,j-1) + (2*k+1)*2^i*(gamma(k+1))^2*(r(j)/5)^n*legendre(k,xx);
end
end
end
end
% No tengo idea de que más hacer para generar la superficie.
La función legendre, es generada de manera recursiva de la siguiente forma:
1
2
3
4
5
6
7
8
9
10
11
12
13
%%%%%%%%%%%%%%%%%%%%%%%
function legendreP = legendre(n,x)
if n == 0
legendreP = ones(1,length(x));
elseif n == 1
legendreP = x;
else
legendreP = ((2*(n-1)+1)*x.*legendre(n-1,x)- ...
legendre(n-2,x))/n;
end
end
%%%%%%%%%%%%%%%%%%
Me gustaria por favor que me indicaran cómo puedo resolver esta situación.
Agradeciendo de antemano cualquier ayuda brindada,
Atentamente
Gustavo
- sphere.rar(62,8 KB)
Valora esta pregunta


0