Matlab - Uso de función eval

   
Vista:
Imágen de perfil de Rayleigh

Uso de función eval

Publicado por Rayleigh (10 intervenciones) el 13/06/2016 11:02:34
Hola gente!

Tengo un problemilla, os comento, tengo el siguiente código

1
2
3
4
5
6
7
for k=0 : N0-1
    [ hcake, Hcake ] = cakeWavelet( N1,N2,B,N0,k,Nm );
    subplot (N0,3,k*3+1), imshow(fftshift(Hcake),'XData',ejeXY,'Ydata',ejeXY), colorbar, title (('Hcake'))
    subplot (N0,3,k*3+2), imagesc(eje_N1,eje_N2,fftshift(real(hcake))), colormap gray, colorbar, axis equal, axis tight,  axis xy, title (sprintf('hacke (parte Real) para k =%d ',k))
    subplot (N0,3,k*3+3), imagesc(eje_N1,eje_N2,fftshift(imag(hcake))), colormap gray, colorbar, axis equal, axis tight,  axis xy, title (sprintf('hacke (parte Imaginaria) para k =%d ',k))
 
end

la función cakeWavelet da igual lo que hace, la cosa es que ahora mismo estoy sobrescribiendo hcake 'N0' veces, y lo que quiero es en lugar de eso tener 'N0' hake distintas, es decir:

hcake_0, hcake_1, hcake_2.....

informándome creo que se puede conseguir usando las funciones eval y mat2str combinadas, pero no consigo dar con la tecla

gracias de antemano

un saludo
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

Uso de función eval

Publicado por Miguel (31 intervenciones) el 28/06/2016 20:39:14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
S1 = ' , Hcake ] = cakeWavelet( N1,N2,B,N0,k,Nm );'
 
for k=0 : N0-1
 
    hcake  = sprintf('hcake_%d ',k);
    S2 = [ '[' hcake S1];
    eval (S2);
    % [ hcake, Hcake ] = cakeWavelet( N1,N2,B,N0,k,Nm );
 
    subplot (N0,3,k*3+1), imshow(fftshift(Hcake),'XData',ejeXY,'Ydata',ejeXY), colorbar, title (('Hcake'))
 
    subplot (N0,3,k*3+2), imagesc(eje_N1,eje_N2,fftshift(real(hcake))), colormap gray, colorbar, axis equal, axis tight,  axis xy, title (sprintf('hacke (parte Real) para k =%d ',k))
 
    subplot (N0,3,k*3+3), imagesc(eje_N1,eje_N2,fftshift(imag(hcake))), colormap gray, colorbar, axis equal, axis tight,  axis xy, title (sprintf('hacke (parte Imaginaria) para k =%d ',k))
 
end
 
 
%Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar