Skip to content
This repository has been archived by the owner on Jan 11, 2023. It is now read-only.

Lab3 #188

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

Lab3 #188

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions trunk/ii02221/task_01/doc/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
Министерство образования Республики Беларусь <br/>
Учреждение образования <br/>
«Брестский государственный технический университет» <br/>
Кафедра ИИТ <br/>

Лабораторная работа №1 <br/>
За третий семестр <br/>
По дисциплине: «Общая теория интеллектуальных систем» <br/>
Тема: «Modeling controlled object» <br/>

Выполнил: <br/>
Студент 1 курса <br/>
Группы ИИ-22(II) <br/>
Сокол С.М.<br/>

Проверил: <br/>
Иванюк Д.С. <br/>

Брест 2022 <br/>

# Общее задание #
1. Написать отчет по выполненной лабораторной работе №1 в .md формате (readme.md) и с помощью запроса на внесение изменений (**pull request**) разместить его в следующем каталоге: **trunk\ii0xxyy\task_01\doc** (где **xx** - номер группы, **yy** - номер студента, например **ii02102**).
2. Исходный код написанной программы разместить в каталоге: **trunk\ii0xxyy\task_01\src**.

## Task 1. Modeling controlled object ##
Let's get some object to be controlled. We want to control its temperature, which can be described by this differential equation:

$$\Large\frac{dy(\tau)}{d\tau}=\frac{u(\tau)}{C}+\frac{Y_0-y(\tau)}{RC} $$ (1)

where $\tau$ – time; $y(\tau)$ – input temperature; $u(\tau)$ – input warm; $Y_0$ – room temperature; $C,RC$ – some constants.

After transformation we get these linear (2) and nonlinear (3) models:

$$\Large y_{\tau+1}=ay_{\tau}+bu_{\tau}$$ (2)
$$\Large y_{\tau+1}=ay_{\tau}-by_{\tau-1}^2+cu_{\tau}+d\sin(u_{\tau-1})$$ (3)

where $\tau$ – time discrete moments ($1,2,3{\dots}n$); $a,b,c,d$ – some constants.

Task is to write program (**Julia**), which simulates this object temperature.


## Код программы ##


``` julia
using Plots
D=0.74
C=0.19
K=1.78
S=0.43
function Linear_Model(current_y,t,warm)
MASS_y=[]
println("Liner date ")
println(current_y)
push!(MASS_y,current_y)
for i in 1:t
New_y=D*current_y+C*warm
push!(MASS_y,New_y)
current_y=New_y
println(New_y)
end
plot([1:(t+1)], MASS_y, color = :blue , label = "Linear_model")
#println("Liner date ", MASS_y)
end
function Unlinear_Model(middle_y,t,middle_warm)
last_y=0
last_warm=0
MASS_y=[]
println("UnLiner date ")
println(middle_y)
push!(MASS_y,middle_y)
for i in 1:t
New_y=D*middle_y-C*last_y^2+K*middle_warm+S*sin(last_warm)
push!(MASS_y,New_y)
last_y=middle_y
middle_y=New_y
last_warm=middle_warm
middle_warm=middle_warm+0.005
println(New_y)
end
plot!([1:(t+1)], MASS_y, color = :green , label = "UnLinear_model")
savefig("tam.png")
#println("UnLiner date ", MASS_y)
end
Linear_Model(0,8,2)
Unlinear_Model(1,6,1)
```
41 changes: 41 additions & 0 deletions trunk/ii02221/task_01/src/main.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
using Plots
D=0.74
C=0.19
K=1.78
S=0.43
function Linear_Model(current_y,t,warm)
MASS_y=[]
println("Liner date ")
println(current_y)
push!(MASS_y,current_y)
for i in 1:t
New_y=D*current_y+C*warm
push!(MASS_y,New_y)
current_y=New_y
println(New_y)
end
plot([1:(t+1)], MASS_y, color = :blue , label = "Linear_model")
#println("Liner date ", MASS_y)
end
function Unlinear_Model(middle_y,t,middle_warm)
last_y=0
last_warm=0
MASS_y=[]
println("UnLiner date ")
println(middle_y)
push!(MASS_y,middle_y)
for i in 1:t
New_y=D*middle_y-C*last_y^2+K*middle_warm+S*sin(last_warm)
push!(MASS_y,New_y)
last_y=middle_y
middle_y=New_y
last_warm=middle_warm
middle_warm=middle_warm+0.005
println(New_y)
end
plot!([1:(t+1)], MASS_y, color = :green , label = "UnLinear_model")
savefig("tam.png")
#println("UnLiner date ", MASS_y)
end
Linear_Model(0,8,2)
Unlinear_Model(1,6,1)
75 changes: 75 additions & 0 deletions trunk/ii02221/task_03/doc/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
Министерство образования Республики Беларусь <br/>
Учреждение образования <br/>
«Брестский государственный технический университет» <br/>
Кафедра ИИТ <br/>

Лабораторная работа №2 <br/>
За третий семестр <br/>
По дисциплине: «Общая теория интеллектуальных систем» <br/>
Тема: «Работа с графами» <br/>

Выполнил: <br/>
Студент 2 курса <br/>
Группы ИИ-22(II) <br/>
Сокол С. М. <br/>

Проверил: <br/>
Иванюк Д.С. <br/>

Брест 2022 <br/>

# Общее задание #
1. Разработать и реализовать программный продукт позволяющий редактировать графовые конструкции различных видов и производить над ними различные действия. Язык программирования - любой.

2. Редактор должен позволять (задания со [*] являются необязательными):
a) одновременно работать с несколькими графами (MDI);
b) [*] выделение одновременно нескольких элементов графа, копирование выделенного фрагмента в clipboard и восстановление из него;
c) задавать имена графам;
d) сохранять и восстанавливать граф во внутреннем формате программы;
e) экспортировать и импортировать граф в текстовый формат (описание см. ниже);
f) создавать, удалять, именовать, переименовывать, перемещать узлы;
g) создавать ориентированные и неориентированные дуги, удалять дуги;
h) добавлять, удалять и редактировать содержимое узла (содержимое в виде текста и ссылки на файл);
i) задавать цвет дуги и узла, образ узла;
j) [*] создавать и отображать петли;
k) [*] создавать и отображать кратные дуги.

3. Программный продукт должен позволять выполнять следующие операции:
a) выводить информацию о графе:
- количество вершин, дуг;
- степени для всех вершин и для выбранной вершины;
- матрицу инцидентности;
- матрицу смежности;
- является ли он деревом, полным, связанным, эйлеровым, [*] планарным;
b) поиск всех путей (маршрутов) между двумя узлами и кратчайших;
c) вычисление расстояния между двумя узлами;
d) вычисление диаметра, радиуса, центра графа;
e) [*] вычисление векторного и декартово произведения двух графов;
f) [*] раскраска графа;
g) нахождения эйлеровых, [*] гамильтоновых циклов;
h) [*] поиск подграфа в графе, со всеми или некоторыми неизвестными узлами;
i) [*] поиск узла по содержимому;
j) [*] объединение, пересечение, сочетание и дополнение графов;
k) [*] приведение произвольного графа к определенному типу с минимальными изменениями:

- бинарное и обычное дерево;
- полный граф;
- планарный граф;
- связанный граф;

4. Формат текстового представления графа: <ГРАФ> ::= <ИМЯ ГРАФА> : UNORIENT | ORIENT ; <ОПИСАНИЕ УЗЛОВ> ; <ОПИСАНИЕ СВЯЗЕЙ> . <ИМЯ ГРАФА> ::= <ИДЕНТИФИКАТОР> <ОПИСАНИЕ УЗЛОВ> ::= <ИМЯ УЗЛА> [ , <ИМЯ УЗЛА> …] <ИМЯ УЗЛА> ::= <ИДЕНТИФИКАТОР> <ОПИСАНИЕ СВЯЗЕЙ> ::= <ИМЯ УЗЛА> -> <ИМЯ УЗЛА> [ , <ИМЯ УЗЛА> …] ; [<ОПИСАНИЕ СВЯЗЕЙ> …]

5. Написать отчет по выполненной лабораторной работе в .md формате (readme.md). Разместить его в следующем каталоге: trunk\ii0xxyy\task_03\doc (где xx - номер группы, yy - номер студента, например ii02102).

6. Исходный код разработанной программы разместить в каталоге: trunk\ii0xxyy\task_03\src.

## Ход работы ##
### Внешний вид программы ###
![image](Внешний_вид.png)
![image](1.png)
### Создание вершины ###
![image](созданы_вершины.png)
### Изменение цвета/толщины дуги/вершины/соединение ###
![image](изменение_цвета.png)
### Матрица смежности графа ###
![image](матрица.png)
Binary file added trunk/ii02221/task_03/src/1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading