Kukaracha (02.12.2004 12:20, просмотров: 1) ответил Kukaracha на В какой-то момент времени так и получется, e(k) == e(k-1). Даю задание 10, а выходит система на 5.
e - double, а увеличение K - ведет к потере устойчивости вообще все выглядит так:
double Ecur = 0; // рассогласование e(k)
double Eprev = 0; // рассогласование e(k-1)
double Kr = 1.0; // коэф. пропорциональности
double Tk = 0.05; // период квантования
double Udv; // упр . возд
double Wzd = 10; // задание
double Wcur; // регулируемый параметр
double Tdv = 1.2; // пост. времени объекта
for(t=Tk; t<20; t+=Tk) {
Eprev = Ecur;
Ecur = Wzd-Wcur;
Udv += Kr*(Ecur-Eprev);
Kdv = 1.0;
Wcur = Kdv*(1-exp(-t/Tdv))*Udv ;
}