Фильтрование сигнала

255
12 ноября 2017, 17:19

Текст задачи к сожалению не могу вставить, т.к. есть только скриншот
Вот мой код, но дисперсия отфильтрованного сигнала выводится не верно. Помогите найти ошибку.

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int N, n;
    double A, w, t[10000], x[10000], D1, D2, x2, x_t, t_x, n1;
    double x1 = 0;
    double D = 0;
    double D3 = 0;
    bool l;
    cin >> N >> n >> A >> w;
    n1 = n;
    for (int i = 0; i < N; i++) {
        cin >> t[i] >> x[i];
        x2 = A*sin(w*t[i]);
        D1 = (x2 - x[i])*(x2 - x[i])/(N-1);
        D = D + D1;   
    }
      for (int i = 0; i < N; i++) {
          x_t = 0; 
          l = 0;
          if (i >= n1-1) {
                for (int k = i-n1+1; k < n; k++) {
                    x_t = (x_t + x[k]);
                    if (k == n-1) {
                     x_t = x_t/n1;    
                    }
                }
          }
          else {
              x_t = 0;
              l = 1;
              }
          if (l == 0) {
          n++;
          }
                x1 = A*sin(w*t[i]);
                D2 = (x1 - x_t)*(x1 - x_t)/(N-n1);
                D3 = D3 + D2;
            } 
    cout << endl << D << endl << D3;
}

15 5 1.0 1.0  
0.0 -0.41456659580494093  
0.01 0.21464650810642005  
0.02 0.20756670133274546  
0.03 -0.020825303889748015  
0.04 -0.3658466869439202  
0.05 -0.38824196435413005  
0.06 0.3187930234482115  
0.07 -0.3202780262946304  
0.08 0.1801071150373843  
0.09 -0.19774814552844183  
0.1 0.5640858833751679  
0.11 0.2049294648895833  
0.12 -0.162058299298603  
0.13 0.023129988527424317  
0.14 0.21563227823140296  
0.088671  
0.012303  
5 1 1.0 1.0  
0.0 -0.388492598904822  
0.01 0.42884734334402785  
0.02 0.0014352173649309075  
0.03 -0.24094732732386703  
0.04 -0.2996567949966824  
0.128868  
0.128868  
READ ALSO
Не вызвается деструктор касса Qt Widget

Не вызвается деструктор касса Qt Widget

Есть 2 класса виджетовЯ хотел сделать так, что при нажатии кнопки, виджет на котором я сейчас нахожусь удалился и открыл мне новый класс с виджетом

319
Подскажите с++ библиотеку для работы с разреженными матрицами

Подскажите с++ библиотеку для работы с разреженными матрицами

В ходе написания программы я столкнулся с необходимостью решения СЛАУ где А -- разреженная матрицаОчень хотелось бы воспользоваться готовым...

349
Массив обьектов. Шаблоны классов С++

Массив обьектов. Шаблоны классов С++

Как создать массив обьектов из шаблонных классов? Вот моя попытка

336
std::cout не выводит данные в консоль

std::cout не выводит данные в консоль

У меня есть код, который выводит в консоль некоторый текст:

279