Форум программистов, компьютерный форум CyberForum.ru

Как исправить программу (сглаживание функции) - C++

Восстановить пароль Регистрация
 
Almaz2010
0 / 0 / 0
Регистрация: 02.06.2013
Сообщений: 3
03.06.2013, 21:35     Как исправить программу (сглаживание функции) #1
Доброго времени суток) В этой программе я хотел реализовать сглаживание функции и вывести его на экран(по сути пытался перепечатать матлабовский код в с++)
типа первый столбик это сам сигнал m[i][j+1]=(sin(cos(0.1*t+5)))*cos(sin(-1.33*t-2))+rnd_numb,
второй столбик отфильтрованный сигнал m[i+1][j+1]=m[i+1][j]+frq*((m[i][j+1]-m[i+1][j])/prd) и т д.

он вроде даже что то считает, но нормально почему ничего не выводиться на экран, помогите пожалуйста)

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
T=0.2;
i=2;
t=0;
h=0.1;%дискретизация 10Гц
F(1)=0;
 
%реализация фильтра
while t<10
W=randi([-5 5],1,1)/1000;   
a(i)=sin(cos(0.1*t+5))*cos(sin(-1.33*t-2))+W;%исходный сигнал
F(i)=F(i-1)+h*((a(i)-F(i-1))/T);%фильтрованный сигнал
t=t+h;
i=i+1;
end
i=2:1:101;
DeltaF(i)=a(i)-F(i);%ошибка измерения
%ЛАЧХ фильтра
w=1:1:100;
A=1./sqrt((T^2)*(w.^2)+1);

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<iostream>
#include<fstream>
#include<math.h>
#include<memory.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#include<iomanip> // for function steprecision
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
using namespace std;
 int main()
{setlocale(LC_CTYPE, "Russian");
 _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
    ofstream out("C:\\cpptext2\\outfile_1.txt");
    const int H=100;
    const int W=4;
    double m[100][4];
    printf("Программа по сглаживанию функции\n");
    double t=0, frq=0.1, prd=0.2;
    double lim1=-0.005, lim2=0.005, rnd_numb=0;
    double a=0, flt1=0, fltrd_sign=0, msrg_err=0, LAFR=0;
    const long max_rand=1000L;
    srand(time(NULL));
    int i=0;
    for(int j=0; j<H; j++)
        {
            while(i<W && t<10 )
            {
                m[i+1][j]=0;
                rnd_numb=lim1 + ( lim2 - lim1) * (rand() % max_rand) / max_rand;
                m[i][j+1]=(sin(cos(0.1*t+5)))*cos(sin(-1.33*t-2))+rnd_numb; //original signal
                m[i+1][j+1]=m[i+1][j]+frq*((m[i][j+1]-m[i+1][j])/prd); // filtered signal
                m[i+2][j+1]=m[i][j+1]-m[i+1][j+1]; // measuring error
                m[i+3][j+1]=1/(sqrt((prd*prd)*(t*t)+1));// LAFR of filter
                
                cout<<fixed<<setprecision(2)<<m[i][j+2]<<"   "<<m[i+1][j+2]<<"   "<<m[i+2][j+2]<<" "<<m[i+3][j+2];
                j++;
                t=t+frq;
            }
        }
        getchar();
    system("pause");
 }
Миниатюры
Как исправить программу (сглаживание функции)  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2013, 21:35     Как исправить программу (сглаживание функции)
Посмотрите здесь:

Ошибка 2 error C2447: {: отсутствует заголовок функции. Как исправить?? C++
C++ Ошибка error C2447: {: отсутствует заголовок функции. Как исправить??
Как исправить программу? C++
ошибка в функции подскажите как исправить C++
с++ шаблон функции, прога выдает 3 ошибки, как их исправить? C++
функции, указатели, пожалуйста, посоветуйте, как исправить C++
Написала программу, выводит ошибку, подскажите как исправить C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Almaz2010
0 / 0 / 0
Регистрация: 02.06.2013
Сообщений: 3
04.06.2013, 06:08  [ТС]     Как исправить программу (сглаживание функции) #2
up!
Yandex
Объявления
04.06.2013, 06:08     Как исправить программу (сглаживание функции)
Ответ Создать тему
Опции темы

Текущее время: 18:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru