Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Чисельні методи дослідження перехідних процесів у лінійних стаціонарних системах

Автор:   •  Декабрь 5, 2019  •  Лабораторная работа  •  1,914 Слов (8 Страниц)  •  539 Просмотры

Страница 1 из 8

Факультет комп’ютерних наук та кібернетики

ЗВІТ

з Системного Аналізу

по лабораторній на тему

"Чисельні методи дослідження перехідних процесів

у лінійних стаціонарних системах"

Звіт склала:

студентка кафедри САТР 3го курсу

Афанасьєва Олеся Ігорівна

Київ, 2019 – 2020

Постановка:

Потрібно практично реалізувати рекурентний алгоритм, за допомогою якого можна визначити реакцію лінійної стаціонарної системи на заданий вхідний процес u(t).

Має бути реалізовано:

⦁ Безпосередньо сам рекурентний алгоритм, що приймаючи вхідний процес u(t), певний проміжок часу T та деякі інші вхідні аргумени, що задані користувачем, має повернути вектор x = (x1, x2, x3) для кожного кроку розміром T0

⦁ Можливість користувача задавати наступні аргументи:

a1, a2 - елементи 3,2 та 3,3 матриці А;

b – 3-ій елемент вектора В;

q - параметр точності обчислення Ф(Т0);

Т0 - період квантування;

U - вхідний процес, користувач може вибрати один з 3х заданих;

k0 (k1) - проміжок, через який U буде змінювати свою поведінку;

x0 - початкове значення х

⦁ Графічне зображення вихідних процесів x1, x2, x3.

Спосіб виконання:

Лабораторна була написана на мові python 3.7. Саме ця мова була обрана через легкість використання та її потужні бібліотеки, що дозволяють легко працювати з даними та зображувати їх графічно. Як підхід до дизайну програми було обрано цункціональний підхід. Були створені функціі, обчислення Ф(Т0) та Г(Т0), безпосередньо реалізація рекурентних алгоритмів для кожного з варіантів лабораторної роботи, що містили й графічне зображування отриманих вихідних даних.

Було підключено та використано наступні бібліотеки:

⦁ Numpy - бібліотека, що додає підтримку великих багатовимірних масивів і велику кількість високорівневих математичних функцій. Використовувалися в основному об'єкти matrix та array.

⦁ Matplotlib - бібліотека, що дозволяє легко графічно зобразити дані у двовимірному просторі. Викорисано метод scatter(x, y) для зображення поточково вихідних процесів x1, x2, x3

Код програми:

import numpy as np

import matplotlib.pyplot as plt

import numpy.matrixlib as npm

n = 3

I = np.eye(n)

b = float(input("input b: "))

k = int(input("input k: "))

B = np.array([[0], [0], [b]])

C = np.array([[1., 0, 0]])

A = np.array([[0, 1., 0], [0, 0, 1.], [-1., -1., -3.]])

T = float(input("input T: "))

q = int(input("input q: "))

i = int(input("input iterations: " ))

x = np.array([[0], [0], [0]])

y = C.dot(x)

u1 = 1

u2 = -1

def Fq(q):

F=I

for i in range (q+1):

F = F + (np.linalg.matrix_power(A.dot(T), i) )/(np.math.factorial(i))

...

Скачать:   txt (9.8 Kb)   pdf (53.2 Kb)   docx (14.1 Kb)  
Продолжить читать еще 7 страниц(ы) »
Доступно только на Essays.club