Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #1

    [C++] Convoluzione discreta tra array

    Salve, una domanda: ho creato questa funzioncina che fa la convoluzione di due array di uguale lunghezza (101 elementi). Vedete errori palesi? Perchè non so se funziona... A me non sembra avere problemi, così ad occhio.

    codice:
    double* calculate_conv (double energy_spectrum1[], double energy_spectrum2[]) {
    
        unsigned npts1 = 101;
        unsigned npts2 = 101;
        unsigned npts = npts1 + npts2;
        double* conv_spectra;
        conv_spectra = new double[npts];
    
    
            // Convolution
            for (unsigned i = 0; i < npts; i++) {
                    double sum = 0;
                    for (unsigned j = 0; j <= i; j++) {
                           if (j > npts1 - 1 || (i - j) > npts2 - 1) continue;
                           sum += energy_spectrum1[j] * energy_spectrum2[i-j]; 
                    } conv_spectra[i] = sum;
            } 
    
    
        return conv_spectra;
    }
    Ultima modifica di Luca Crippa; 11-02-2014 a 11:39 Motivo: indentazione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.