0 / 0 / 0
Регистрация: 02.06.2013
Сообщений: 3
1

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

03.06.2013, 21:35. Показов 966. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток) В этой программе я хотел реализовать сглаживание функции и вывести его на экран(по сути пытался перепечатать матлабовский код в с++)
типа первый столбик это сам сигнал 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");
 }
Миниатюры
Как исправить программу (сглаживание функции)  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2013, 21:35
Ответы с готовыми решениями:

Табулирование функции, используя различные циклы (исправить программу)
Трижды протабулировать функцию, используя три различных цикла f(x)=sin^2(ctg(x+a)) на интервале x...

Исправить программу по поиску значения мин и мах функции
Условие: Значение функции f(x)=4x3-3x2+2x-1 определены в точках x=X0(hx)Xn. ( Х0 - начальное, hx -...

Моделирование функции заданной с погрешностью и сглаживание выбросов
Приветствую профессионалов кодинга и молю о помощи! Пишу дипломную работу, и встрял на двух...

Как исправить программу "ОДЗ функции"?
Как написать ОДЗ функции f= f =Sqrt(4 * x + 7) - 3 * Cos(x). Выводит ошибку в этой строке...

1
0 / 0 / 0
Регистрация: 02.06.2013
Сообщений: 3
04.06.2013, 06:08  [ТС] 2
up!
0
04.06.2013, 06:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2013, 06:08
Помогаю со студенческими работами здесь

Табулирование функции (Исправить программу)
Здравствуйте.не подскажите,пожалуйста,как это исправить? 1)(тут с шагом проблемы,если и задаю,он...

Сглаживание функции
Добрый день! Имеется массив точек y, являющихся значениями функции y = f(x). Необходимо произвести...

Сглаживание графика функции
for (int i = 0; i &lt; r; i++) // сглаживание левой части { for (int...

Сглаживание функции принадлежности
есть функция принадлежности x= y= в fuzzy logic toolbox она наиболее похожа на функцию zmf...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru