Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Одношаговый предиктор

Автор:   •  Май 4, 2020  •  Лабораторная работа  •  436 Слов (2 Страниц)  •  322 Просмотры

Страница 1 из 2

ОДНОШАГОВЫЙ ПРЕДИКТОР

 

Задача:

Написать программу на вход которой подается неизвестная функция. По ходу выполнения программа должна выдать последующие (предсказанные) значения функции, пользуясь предыдущими известными значениями.

Алгоритм:

1.Случайно выбираем веса w.

2.Берем первые K- значений и делаем оценку X(k+1).

3.Подкручиваем все веса.

4.Выполняем шаги 2- 3 пока ошибка не достигнет приемлемого уровня.

Результат:

График sin(x)

[pic 1]

Код Программы на Си:

#include

#include

#include

#include

const int Z=10;

const float Q=0.01;//скорость обучения

void main(){

int i=0,h=0,end=0,e=0;

float k=0,j=0,next=0,s=0;

float v[Z],l[Z]={0,0,0,0,0,0,0,0,0,0};

for(i=0;i

        v[i]=(rand()%200-100)*0.01;

        printf("%0.2f   \n",v[i]);

}

printf("\n\n\n");

for(i=0;1;i++){

        j+=0.2;                  //реальный синус

        k=sin (1/(j));

        printf("%0.2f  ",k);

        next=0;

        for(h=0;h

                next+=v[h]*l[h];      

        }

        printf("%0.2f    ",next);

        if(end==0)for (h=0;h

                v[h]+=(k-next)*l[h]*Q;         //подкрутка всех весов

                 }

        for (h=0;h

        l[h]=k;

        printf("%0.5f\n",abs(k-next));      //вывод разницы

        if(abs(k-next)<=0.0001 && end==0){

                end=1;

                printf("\n\nend of training\n\n\n"); //закончить обучение

        }

        if(end==1)e++;                      

...

Скачать:   txt (2.9 Kb)   pdf (112.7 Kb)   docx (12 Kb)  
Продолжить читать еще 1 страницу »
Доступно только на Essays.club