Программа моделирования процесса вторичной обработки информации

 

10 INPUT «Введите число измерений m =», m

20 DIM vx(m), vy(m), x(m), y(m), dx(m), dy(m), xi(m), yi(m), xe(m), ye(m), xs(m), ys(m), vxs(m), vys(m)

30 INPUT “Введите период вращения антенны tо=”, tо

40 INPUT “Введите начальное значение координаты х(о)=”, х(о)

50 INPUT “Введите начальное значение координаты у(о)=”, у(о)

60 INPUT “Введите начальное значение составляющей скорости v х(о)=”, vx(o)

70 INPUT “Введите начальное значение составляющей скорости v y(о)=”, vy(о)

80 INPUT “Введите составляющую ускорения ах=”, ах

90 INPUT “Введите составляющую ускорения ау=”, ау

100 INPUT “Введите максимальную ошибку измерения delta=”, deita

110 INPUT “Введите коэффициент сглаживания по координатам mu=”, mu

120 INPUT “Введите коэффициент сглаживания по скорости nu=”, nu

130 t = 0: s = 0: s1 = 0: dx = delta / SQR(2): dy = dx

140 FOR i = 0 TO m: IF i = O GOTO 190

150 Расчет истинных координат

160 x(i) = x(i-1) + vx(i-1) * to + ax * to ^ 2 / 2

170 y(i) = y(i-1) + vy(i-1) * to + ay * to ^ 2 / 2

180 vx(i) = vx(i-1) + ax * to: vy(i) = vy(i-1) + ay * to

190 dx(i) = 2 * dx * (RND(1) –.5): dy * (RND(2) –.5)

200 Вычисление измеренных значений

210 xi(i) = x(i) +dx(i): y(i) + dy(i)

220 IF i = 0 THEN xs(o) = xi(o): ys(o) = yi(o): vxs(o) = vx(o): vys(o) = vy(o): GOTO 310

230 Вычисление экстраполированных значений

240 xe(i) = xs(i-1) + vxs(i-1) * to

250 ye(i) = ys(i-1) + vys(i-1) * to

260 Вычисление сглаженных значений координат и скоростей

270 xs(i) = xe(i) + (xi(i) – xe(i))

280 ys(i) = ye(i) + (yi(i) – ye(i))

290 vxs(i) = vxs(i-1) + nu * (xi(i) – xe(i)) / to

300 vys(i) = vys(i-1) + nu * (yi(i) – ye(i)) / to

310 IF t = o GOTO 320 ELSE GOTO 340

320 PRINT TAB(5); “t, c”; TAB(13); “x, m”; TAB(21); “Y, m”; TAB (28); “Xi, m”; TAB(36); “Yi, m”; TAB(44); “Xs, m”; TAB(52); “Ys, m”; TAB (60); “Xe, m”; TAB(68); “Ye, m”

330 PRINT USING “######”; t; x(o); y(o); xi(o); yi(o); xs(o); ys(o): GOTO 350

340 PRINT USING “######”; t; x(i); y(i); xi(o); yi(i); xs(i); ys(i); xe(i); ye(i)

350 s =s + (dx(i) ^ 2)

360 s1 = s1 + (xs(i) – x(i)) ^ 2 + (ys(i) – y(i))^ 2

370 t = t +to

380 NEXT i

390 d1 = 1 / (m + 1) * s: sigmal = SQR(di)

400 d2 = 1 / (m + 1) * s1: sigma2 = SQR(d2)

410 PRINT “D1 =”; d1; TAB(29); “sigma1=”; sigmal

420 PRINT “D2=”; d2; TAB(29); “sigma2=”; sigma2

430 END


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: