Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Имаев отчеты 2018.docx
Скачиваний:
22
Добавлен:
24.05.2018
Размер:
2.37 Mб
Скачать
  1. Дискретная система управления.

Математические модели дискретных систем управления (ДСУ) описывают процессы генерирования и преобразования числовых последовательностей – функцией целочисленного аргумента. Моделями генераторов являются однородные разностные уравнения (РУ), а преобразователи – РУ с правой частью. Рассмотрим несколько примеров.

6.1 Выплата кредита.

РУ выплаты кредита представим в следующем виде.

, (6.1)

где , – доля невыплаченной части, - сумма.

Иначе:

. (6.2)

Найти u такую, что:

.

Существуют разные аналитические решения . Составим компьютерную модель процесса выплаты кредита. На рис. 6.1 представлена модель Simulink.

Рис. 6.1

6.2 Генератор чисел Фибоначчи.

Последовательность чисел ряда Фибоначчи подчиняется следующему правилу – РУ:

. (6.3)

На рис. 6.2 представлен график, на котором изображены 14 чисел Фибоначчи. Составим программу на языке Matlab. Далее приведен код программы:

F(1)=0, F(2)=1

K=14

for k=1:K

F(k+2)=F(k+1)+F(k)

Рис. 6.2

Замечено, что отношения соседних чисел Фибоначчи с ростом k приближаются к значениям так называемого «золотого сечения». Проверим это, дополнив программу следующим образом:

for k=1:K

F(k+2)=F(k+1)+F(k)

f1(k)=F(k+2)/F(k+1)

f2(k)=F(k)/F(k+1)

end

На рис. 6.3 приведены графики отношений.

Рис. 6.3

Найдем значения золотого сечения, используя следующий код:

f1(14)

ans = 1.6180

f2(14)

ans =0.6180

Известно аналитическое решение РУ:

. (6.4)

Проверим результат, используя программу на языке Matlab. На рис. 6.4 приведены результаты работы программы: проанализировав их, приходим к выводу, что формула (6.4) дает действительные значения. Для больших K формула (6.4) упрощается:

. (6.5)

Рис. 6.4

6.3. Генератор псевдослучайных последовательностей.

Математической моделью генератора является нелинейное разностное уравнение первого порядка:

, (6.6)

где: G, N, µ, λ – целые; mod(•, N) – конгруэнция. Обычно вычисляют - действительные числа на интервале [0, (N-1)/N ≈ 1].

Примем: . Напишем программу на языке Matlab и построим график для процесса g. На рис. 6.5 показан график значений g при N=16. Приведем код программы:

G(1)=5; mu = 1; lambda = 5;

N=16

mu =1

for k=1:N G(k+1)=mod(1+5*G(k), N);

g(k)=G(k)/N;

end

G = 5 10 3 0 1 6 15 12 13 2 11 8 9 14 7 4 5

g = 0.3125 0.6250 0.1875 0 0.0625 0.3750 0.9375 0.7500 0.8125 0.1250 0.6875 0.5000 0.5625 0.8750 0.4375 0.2500

plot(g)

Рис. 6.5

Проведем простейший статистический анализ при N = 2048. Для этого построим гистограмму, вычислим среднее и СКО процесса g. На рис. 6.6 представлена модель Simulink, а на рис. 6.7 показан график значений g.

Рис. 6.6

Код программы был изменен следующим образом:

N=2048;

for k=1:N G(k+1)=mod(1+5*G(k), N);

g(k)=G(k)/N;

end

plot(g)

Рис. 6.7

Судя по гистограмме на рис. 6.8 случайный процесс имеет равномерное распределение на [0,1].

Рис. 6.8

Добавим в код программы подсчет выборочного среднего и дисперсии. Получим mean = 0.49999 и std = 0.2887.