SHARE
TWEET

bayes.m

a guest Apr 24th, 2019 70 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. %% Initialisation
  2.  
  3. % Limité à l'ordre 4 pour des problèmes de mémoires
  4.  
  5. close all
  6. clc
  7.  
  8. tic
  9.  
  10. cheminLecture = 'bayes.txt';
  11. nb = 8;
  12. fichierLecture = fopen(cheminLecture, 'r');
  13.  
  14. donnee = [];
  15. ligneN = zeros(1,nb);
  16. facteurs = [1 1 1 0.5 0.5 0.1 1/30 1]; % permet de réduire la mémoire utilisée et donc d'augmenter l'ordre
  17.  
  18. while(~feof(fichierLecture))
  19.     ligneS = split(fgets(fichierLecture));
  20.     for i=1:nb
  21.         ligneN(i) = uint16(str2num(ligneS{i})*facteurs(i));
  22.     end
  23.     donnee = [donnee; ligneN];
  24. end
  25.  
  26. fclose(fichierLecture);
  27.  
  28. toc
  29.  
  30. %% Vérifications de l'intégrité des données
  31. Minima = min(donnee);
  32. Maxima = max(donnee);
  33. dims = Maxima-Minima+1;
  34.  
  35. for i = 1:nb
  36.     figure
  37.     plot(donnee(:,i))
  38.     title(num2str(i))
  39. end
  40.  
  41. % on seuil à 100 pour les rafales de vent afin de réduire la dimension
  42.  
  43. %% Création de la matrice de densité de probabilité
  44.  
  45. tic
  46. close all
  47. D = {};
  48.  
  49. for i = 1:nb
  50.     D{end+1} = zeros(dims(i),dims(i),dims(i),dims(i),dims(i));
  51. end
  52.  
  53. for i = 5:size(donnee,1)
  54.     for n = 1:nb
  55.         D{n}(donnee(i-4,n)-Minima(n)+1,donnee(i-3,n)-Minima(n)+1,donnee(i-2,n)-Minima(n)+1,donnee(i-1,n)-Minima(n)+1,(donnee(i,n)-Minima(n)+1):dims(n)) = D{n}(donnee(i-4,n)-Minima(n)+1,donnee(i-3,n)-Minima(n)+1,donnee(i-2,n)-Minima(n)+1,donnee(i-1,n)-Minima(n)+1,(donnee(i,n)-Minima(n)+1):dims(n))+1;
  56.     end
  57. end
  58.  
  59. for n = 1:nb
  60.     for i =1:dims(n)
  61.         for j =1:dims(n)
  62.             for k =1:dims(n)
  63.                 for p =1:dims(n)
  64.                     if(D{n}(i,j,k,p,dims(n))~=0)
  65.                         D{n}(i,j,k,p,:) = D{n}(i,j,k,p,:)/D{n}(i,j,k,p,dims(n));
  66.                     end
  67.                 end
  68.             end
  69.         end
  70.     end
  71. end
  72.  
  73. toc
  74.  
  75. %% Test
  76.  
  77. test = uint16([[1 6 8 1015 26 61 320 4];[1 9 7 1018 30 46 320 0];[1 12 9 1018 30 50 300 0];[1 15 8 1018 26 46 310 0]].*facteurs);
  78.  
  79. randoum = rand(nb,1);
  80.  
  81. resultat = zeros(1,nb);
  82.  
  83. for j = 1:50
  84.     for i =1:nb
  85.         resultat(i) = Minima(i)+sum(D{i}(test(end-3,i)-Minima(i)+1,test(end-2,i)-Minima(i)+1,test(end-1,i)-Minima(i)+1,test(end,i)-Minima(i)+1,:)<randoum(i));
  86.     end
  87.     test = [test; resultat];
  88. end
  89.  
  90. for i =1:nb
  91.         resultat(i) = test(end,i)/facteurs(i);
  92. end
  93.  
  94. resultat
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top