Media array

di il
7 risposte

Media array

Ciao,
avrei bisogno di effettuare la media di una parte di array, esempio ho un array(100) devo fare la media dei dati da 10 a 20.

non voglio utilizzare un ciclo, ma se esiste un comando diretto del tipo

Dim media As Double = array.Where(Function(v) v > 0).Average()

quest'ultimo comando fà la media di tutto l'array

7 Risposte

  • Re: Media array

    Ad esempio, se avessi un vettore di 5 elementi

    1 2 3 4 5

    con

    Dim media As Double = array.Take(2).Concat(arr.Skip(4)).Average()

    faresti la media di

    1 2 5

    (ne prendi 2 ovvero 1 e 2 e ne scarti 4 ovvero arrivi al 5, e poi fai la media)
  • Re: Media array

    E se dovessi fare la media da elemento 2 a elemento 4, grazie
  • Re: Media array

    Mettici un po' di ragionamento ... prova ...
  • Re: Media array

    Dim primaparte As Double = array.Take(2).sum
    Dim secondaparte As Double = array.Take(2).sum

    Dim media As Double = (secondaparte-primaparte )/3

    ma non credo sia la soluzione giusta.


    penso che si possa fare in un'unica istruzione della serie gli faccio saltare il primo "skip(1)" e poi prendi 3 dati ma senza usare il take perche' prenderebbe i primi 3 e non dal secondo al quarto, forse mi manca un comando....
  • Re: Media array

    Dim media As Double = arr.Skip(1).Take(3).Average()
  • Re: Media array

    Ero arrivato a questo che mi dava risultato sbagliato

    Dim media As Double = arr.Skip(1).Concat(Take(3)).Average()

    togliendo il concat salta il primo e prende i tre successivi.

    Mille grazie
  • Re: Media array

    Il Concat era necessario nel caso di insiemi non contigui
Devi accedere o registrarti per scrivere nel forum
7 risposte