Миркес Е. М.
Шрифт:
A = A + Al[I];
I = I + 1;
End; {В конце цикла I-1 равно числу корректируемых сигналов}
B = A / I; {B – величина, к которой должны стремиться}
A = 0; {корректируемые сигналы}
For J = 1 To I Do Begin
A = A + Sqr(Al[J] – B);
If Direv Then Back[Ind[J]] = -2* Weight * (Al[J] – B);
End;
Estim = Weight * A
End;
Est BynaryCoded1: (N : Long) {Оценка для кодирования номером канала}
Static
Real E Name "Уровень надежности";
Var
Long I, J, A, K;
Real B, C;
Begin
A = Answer;
B = 0;
C = E * Reliability; {Допуск определяем произведением}
For I = N To 1 By– 1 Do Begin
J = A / 2;
K = A – 2 * J;
A = J;
If A = 1 Then Begin
If Signals[I] < C Then Begin
B = B + Sqr(Signals[I] – C);
If Direv Then Back[I] = 2 * Weight * (Signals[I]-C);
End;
End Else Begin
If Signals[I] > -C Then Begin
B = B + Sqr(Signals[I] + C);
If Direv Then Back[I] = 2 * Weight * (Signals[I] + C);
End;
End;
Estim = Weight*B
End
Contents Temp : Empty1, Cloud : Binary1(2), Wind : BynaryCoded1(3), Rain : Major1(3);
Cloud Link Meteorology.Cloud {Связываем оценки с интерпретаторами}
Wind Link Meteorology.Wind
Rain Link Meteorology.Rain
Temp SetParameters 10, 273; {Устанавливаем значения параметров оценок}
Cloud SetParameters 0.1; {и интерпретаторов}
Wind SetParameters 0.2;
Rain SetParameters 0.15
Weights 1, 1, 1, 1
Signals NumberOf(Signals,Temp) +NumberOf(Signals, Cloud) + NumberOf(Signals, Wind) + NumberOf(Signals, Rain)
Connections
Temp.Signals <=> Signals[1];
Cloud.Signals[1..2] <=> Signals[2; 3];
Wind.Signals[1..3] <=> Signals[4..6];
Rain.Signals[1..3] <=> Signals[7..9]
Temp.Answer <=> Answer[1];
Cloud.Answer[1..2] <=> Answer[2];
Wind.Answer[1..3] <=> Answer[3];
Rain.Answer[1..3] <=> Answer[4]
End Estimation
Пример 2.
Estimation Meteorology
Contents Temp : Empty, Cloud : Binary(2), Wind : BynaryCoded(3), Rain : Major(3);