Comment sauvegarder une séquence de nombres?

siwaar123 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
salam a tous , je suis débutante en matlab je cherche comment sauvegarder une séquence de nombres pseudo aléatoires pour que je puisse ensuite le trier car j'ai une problème ;il prend seulement le dernier valeur et le sauvegarder
Merci d'avance

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, peux-tu partager ton code?
    0
    1. siwar
       
      voilà le code de la carte logistique que je veux ensuite utilisé pour la stéganographie d'image (cacher une image dans une autre image )
      % Logistics Map
      % Classic chaos example. Plots semi-stable values of
      % x(n+1) = r*x(n)*(1-x(n)) as r increases to 4.
      %
      % Michael Hanchak, Dayton OH, USA, 2011
      % [m,n]=size('im.tiff');

      clear
      %z=imread('cover.jpg');
      %[M,N]=size('z');
      % je veux recupere la taille d'image M N automatiquement sans intoduire manuellement
      scale = 100; % determines the level of rounding
      maxpoints = 50; % determines maximum values to plot
      N=3000;% number of "r" values to simulate
      a = 3.6; % starting value of "r"
      b = 4; % final value of "r"... anything higher diverges.
      rs = linspace(a,b,N); % vector of "r" values
      M=500; % number of iterations of logistics equation

      % Loop through the "r" values
      for j = 1:length(rs)



      r=rs(j); % get current "r"
      x=zeros(M,1); % allocate memory
      x(1) = 0.5; % initial condition (can be anything from 0 to 1)

      for i = 2:M, % iterate
      x(i) = r*x(i-1)*(1-x(i-1));% c'est la sequence aleatoires
      %J’ai une problème, il prend juste la dernière valeur , or normalement il prend toute la séquence valeur par valeur pour que je puisse le trier et extraire les index

      R= x(i) ;
      %R1=load(B);

      % R3=(sort(R))
      % R3=sort(R(:)); %(trier en ordre croissant)





      %indice=find(R);(%les indices)
      %y=indice';



      end
      %u = x(i) ;

      %indice=find(u);
      %y=indice'

      % only save those unique, semi-stable values
      out{j} = unique(round(scale*x(end-maxpoints:end)));


      end

      % Rearrange cell array into a large n-by-2 vector for plotting
      data = [];
      for k = 1:length(rs)
      n = length(out{k});
      data = [data; rs(k)*ones(n,1),out{k}];
      end


      % Plot the data
      figure(97);clf
      h=plot(data(:,1),data(:,2)/scale,'k.');
      set(h,'markersize',1)
      axis tight
      set(gca,'units','normalized','position',[0 0 1 1])
      set(gcf,'color','white')
      axis off
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      normalement, il y a un end juste où tu as écrit "%J’ai une problème...".
      0