Problème Matlab

Résolu
hslimi Messages postés 3 Statut Membre -  
hslimi Messages postés 3 Statut Membre -
Bonsoir, j'ai un vecteur A contenant 8761 éléments (nombre d'heures d'une année), je veux créer un nouveau vecteur B contenant 365 éléments (8760/24), chaque élément est égal à la somme de chaque 24 éléments de A (nombre d'heures d'un jour)...comment traduire ça en Matlab?
Merci.

1 réponse

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    Inspire-toi de ceci:
    sample = linspace(1, 72, 72);
    sample = sample' ;
    
    v = reshape(sample, 24, 3);
    
    adder= ones(1, 24);
    result = adder * v ;
    result


    Exécution:
    johand@bata:~/src/CCM/OCTAVE$ octave test_split.m 
    result =

    300 876 1452

    https://octave.sourceforge.io/octave/function/linspace.html
    https://octave.sourceforge.io/octave/function/reshape.html
    Gates gave ^W  sold  you the windows.
    GNU gave us the whole house.(Alexandrin)
    0
    1. hslimi Messages postés 3 Statut Membre
       
      merci jisisv, mais j'ai pas bien compris le lien entre ma requête et ton programme...
      0
    2. jisisv Messages postés 3678 Statut Modérateur 936
       
      sample = linspace(1, 72, 72);
      # création d'un échantillon ligne de 72 éléments (3 x 24 heures)
      sample = sample' ;
      # transformation en colonne
      v = reshape(sample, 24, 3);
      # découpage en 3 colonnes de 24 heures matrice 24 x 3
      adder= ones(1, 24);
      # création ligne de 1 matrice 1 x 24
      result = adder * v ;
      # produit -> matrice 1 x 3 demandée
      result
      0
      1. hslimi Messages postés 3 Statut Membre > jisisv Messages postés 3678 Statut Modérateur
         
        Ah je vois, merci beaucoup pour ton aide...
        0