Matlab - cómo generar una gráfica de superficie para cada valor del indice del sumatorio.

 
Vista:
sin imagen de perfil

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
******************************************************************+
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder