Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2011, 17:40   #1
sneZZZinka
 
Регистрация: 20.12.2009
Сообщений: 3
Восклицание нейронные сети, продолжение временных рядов

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

Код:
procedure TForm1.Button5Click(Sender: TObject);
var i,j,jj:integer;
delta,a,b,c:double;
begin
Nt:=strtoint(Edit4.Text);
Lag:=strtoint(Edit5.Text);
vt:=strtofloat(Edit6.Text);
delta:=strtofloat(Edit7.Text);
a:=strtofloat(Edit9.Text);
b:=strtofloat(Edit10.Text);
c:=strtofloat(Edit11.Text);
setlength(Ft,Nt+1);
Npoint0:=round(vt*Nt)-lag+1;
Npr:=round(vt*Nt);
N:=lag-1;
setlength(Xt,N,Npoint0);
setlength(Xd,N,Npoint0);
setlength(Yt,Npoint0);
setlength(Yd,Npoint0);
setlength(Xn,n,Npoint0);
setlength(Yn,Npoint0);
Chart4.Series[0].Clear;
for i:=1 to Nt do
begin
ft[i]:=1+a*sqr(i/Nt)+b*sin(4*Pi*c*i/nt)-delta+2*delta*random;//функция
Chart4.Series[0].AddXY(i,ft[i])
end;
for j:=0 to npoint0-1 do
begin
for i:=0 to N-1 do
Xt[i,j]:=ft[j+1+i];
Yt[j]:=ft[j+1+n];
end;

for j:=0 to npoint0-1 do
begin
jj:=random(Npoint0);
for i:=0 to N-1 do
Xd[i,j]:=Xt[i,jj];
Yd[j]:=Yt[jj];
end;
setlength(Xmin,n);
setlength(Xmax,n);
Ymin:=1e7; Ymax:=-1e7;
for i:=0 to n-1 do

begin
Xmin[i]:=1e7; Xmax[i]:=-1e7;
end;

for j:=0 to Npoint0-1 do
begin
for i:=0 to n-1 do

begin
if Xd[i,j]<=Xmin[i] then Xmin[i]:=Xd[i,j];
if Xd[i,j]>=Xmax[i] then Xmax[i]:=Xd[i,j];
end;

if Yd[j]<=Ymin then Ymin:=Yd[j];
if Yd[j]>=Ymax then Ymax:=Yd[j];
end;
for i:=1 to N-1 do
begin
Xmin[i]:=Xmin[i]-abs(Xmin[i]);
Xmax[i]:=Xmax[i]+abs(Xmax[i]);
end;
Ymin:=Ymin-abs(Ymin);
Ymax:=Ymax+abs(Ymax);
for j:=0 to Npoint0-1 do

begin
for i:=0 to n-1 do
if Xmax[i]<>Xmin[i] then
Xn[i,j]:=(Xd[i,j]-Xmin[i])/(Xmax[i]-Xmin[i])
else Xn[i,j]:=0;
if Ymax<>Ymin then
Yn[j]:=(Yd[j]-Ymin)/(Ymax-Ymin)
else Yn[j]:=0;
end;
Button1.Enabled:=true;
end;

Последний раз редактировалось artemavd; 23.04.2011 в 19:51.
sneZZZinka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нейронные сети... amico Помощь студентам 1 06.12.2010 10:06
Нейронные сети. Asblue Помощь студентам 4 09.11.2010 08:13
Нейронные сети russian-stalker Свободное общение 8 26.08.2010 21:57
нейронные сети, распознование довольно простой капчи .while Мультимедиа в Delphi 7 14.07.2010 21:57
Удаление временных объектов Kn793 Общие вопросы C/C++ 4 10.06.2010 23:22