• Viernes 1 de Noviembre de 2024, 03:27

Autor Tema:  Como guardar datos en otro vector?  (Leído 2135 veces)

suichi_san

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Como guardar datos en otro vector?
« en: Martes 10 de Noviembre de 2009, 21:53 »
0
Cual es la sintaxis para guardar datos en un nuevo vector?
if  n<=f
            n=A; %Como se escribe para que n se guarde en un nuevo vector llamado A???????

Gracias

EDITO:
Pues mi problema radica en que quiero obtener los centroides de una secuencia de numero aleatoriso, pero una vez que se obtienen, como los guardo en otro vector?
Por favor, espero que me puedan ayudar, para eso dejo el codigo que estoy utilizando haber si saben donde esta el error:

% Secuencia de 10000 numeros aleatorios entre 0 y 100:
y=100*rand(1,10000);
%
% Secuencia de entrenamiento:
CI=rand(2,1);
%
% Se calculan la frontera y el centroide, la funcion lloyds lo calcula automaticamente:
[f,c]=lloyds(y,CI)
%
% Se codifica de forma uniforme:
[inds,sq] = quantiz(y,f,c);
%
% Se calcula la distorsion:
N=length(sq)
resta=y'-sq;
cuad=resta.^2;
D=mean(cuad)
% Se establece el valor de Di:
Di=10^-3;
A=[ ];
B=[ ];
CODEBOOK=[ ];
% Comienza el ciclo repetitivo:
if D<=Di
    CODEBOOK=c;% se guarda el centroide en otra variable

else
    %se realiza una nueva division de la nueva region
    for n=1:10000
        if  n<=f
      % se mete a otra variable ¿como se mete en otra variable?
            A=n;
      % se repite el algortimo inicial
            CI=rand(2,1);
            [f,c]=lloyds(A,CI)
            [inds,sq] = quantiz(A,f,c);
      % se tiene una nueva f y dos nuevos c
      % se calcula la distorsion
            N=length(sq)
            resta=A'-sq;
            cuad=resta.^2;
            D=mean(cuad)
      % nueva D

        else
      % se mete a otra variable ¿como se mete en otra variable?  
            B=n;
            CI=rand(2,1);
            [f,c]=lloyds(B,CI)
            [inds,sq] = quantiz(B,f,c);
      % se tiene una nueva f y dos nuevos c
      % se calcula la distorsion

            N=length(sq)
            resta=A'-sq;
            cuad=resta.^2;
            D=mean(cuad)
      % nueva D
        end
    end
end
% Se repite el ciclo hasta que se tienen los valores finales
% Se muestra el codebook final

Y lo que me preguntabas, n representa los elementos de y, ya que debe compararse uno por uno con el valor de f para saber a que vector A o B se guarda.
Espero que me puedas ayudar.
« última modificación: Jueves 12 de Noviembre de 2009, 22:20 por suichi_san »

Richi254

  • Miembro activo
  • **
  • Mensajes: 56
  • Nacionalidad: es
    • Ver Perfil
Re: Como guardar datos en otro vector?
« Respuesta #1 en: Miércoles 11 de Noviembre de 2009, 19:55 »
0
¿Podrías explicar tu problema más detalladamente? Es que lo haces no sé muy bien que es. ¿n es un vector o un valor? porque si es un vector la condición if n<=f no tiene sentido aunque f también sea un vector.
Se pondría así:

A=n;