Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по ИТ.pdf
Скачиваний:
740
Добавлен:
31.03.2015
Размер:
2.25 Mб
Скачать

7. Сохраните программу для последующего использования.

5.Вопросы к защите

1.В чем отличие введения схемы электрической цепи в компьютер в созданной программе и в Simulink?

2.Подумайте, какие ограничения на использование созданной программы?

6.Каков алгоритм формирования матрицы узловых проводимостей, вектора задающих токов?

7.Какое начальное приближение узловых потенциалов задавалось в программе?

8.С какой точностью рассчитан вектор узловых потенциалов? Можно ли получить более точный расчет?

Лабораторная работа № 11. Технология оценки корректности Т-списка электрической цепи

1. Цель работы

Ознакомление с принципами формирования и компьютерного решения узловых уравнений с использованием матрицы соединений.

2. Теоретическая справка

Существуют следующие ошибки при описании электрических цепей

1. Грубые ошибки в описании топологии цепей и значений параметров их ветвей: a. Ошибки в нумерации узлов

Если нарушена нумерация, то матрица узловых проводимостей будет содержать нулевые столбцы и строки. Решение уравнения GU=J в таком случае не существует. Для m-узловой схемы просмотр первых двух столбцов (начальный и конечный узлы) Т-списка должен дать все номера от 1 до m без пропусков.

b.Ветви-петли

Всоответствии с принципом поэлементного вклада

 

 

 

 

1

k

l

m+1

 

 

 

1

 

 

 

 

 

 

 

k

 

G

G

 

G j

G j−1

+

 

 

 

 

 

 

,

p

p

 

l

 

G

G

 

 

 

 

 

 

 

m + 1

 

 

 

 

 

 

 

 

 

Если k=l, то добавление будет таким: G-G-G+G=0. Проверка этого условия позволит выявить возможные неточности в описании цепи. Для каждой ветви элементы первых двух столбцов должны быть различны.

c.«Пустые» ветви

Вматрицы G,J также ничего не добавляется. Проверка этого условия позволит выявить возможные неточности в описании цепи. Для каждой ветви элементы 3-го и 4-го столбцов (параметров ветви: проводимости и тока источника) не должны одновременно быть равны нулю.

Вслучае не выполнения перечисленных условий, т.е. в случае обнаружения ошибок

вописании цепей, соответствующие Т-списки корректируются, и рассматриваемый этап анализа повторяется заново.

2.Гальванически не связанные подцепи.

Электрическая цепь, содержащая гальванически не связанные подцепи, не может

быть рассчитана. Система узловых уравнений линейно зависима и решения не имеет. Решение возможно только для каждой подцепи в отдельности.

Алгоритм проверки гальванической связности цепи методом пометок (волновой метод):

70

1.Из Т-списка исключаются «пустые ветви». Просматриваются первые два столбца Т-списка и выбирается (помечается) множество номеров М1, связанных с узлом 1 ветвью

GJ.

2.Для каждого из номеров, помеченных в п.1, последовательно, начиная с наименьшего номера, выбирается (помечаются) свое множество узлов, не помеченных ранее и связанных с рассматриваемым узлом.

3.Процедура повторяется до тех пор, пока новое множество узлов не оказывается пустым. Помеченные ранее узлы определяют компоненту связности графа (подцепь).

4.Если множество помеченных узлов совпадает со всем множеством узлов 1…m, то граф является односвязным. Если нет, то выбирается не помеченный узел с наименьшим номером и повторяется процедура пометки узлов, пока не выделится вторая компонента связности и так далее, пока все компоненты связности.

3.Наличие в цепях особых разрезов.

Электрическая цепь, содержащая особые разрезы (разрезы, состоящие из GJ ветвей с

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

Не имеет решения, если в особом разрезе не выполняется 1й закон Кирхгофа.

Имеет решение для электрической цепи за исключением решения для напряжений элементов особых разрезов.

Алгоритм выявления особых разрезов методом пометок:

1.Из Т-списка исключаются все строки с идеальными источниками тока.

2.Проводится проверка гальванической связности цепи. Если граф имеет несколько компонент связности, то в цепи присутствует особый разрез.

Наличие в цепях почти особых разрезов, приводящих к плохой обусловленности узловых уравнений. Алгоритм выявления почти особых разрезов методом пометок:

1.Из Т-списка исключаются все строки с проводимостями на несколько порядков меньше проводимостей других элементов

2.Проводится проверка гальванической связности цепи. Если граф имеет несколько компонент связности, то в цепи присутствует особый разрез.

Наличие почти особых разрезов требует специальных алгоритмов на этапе численной обработки узловых уравнений.

3.Вопросы для коллоквиума

1.В чем заключается проблема расчета гальванически не связанных ветвей?

2.Что такое разрез?

3.Что такое особый разрез?

4.Что такое почти особый разрез?

5.В чем заключается проблема расчета электрических цепей с особыми разрезами?

4.Рабочее задание

1.Откройте MATLAB. Для получения своего варианта введите в командном окне

«[begin_nodes, end_nodes, Gv, Jv]=Lab11_variants(номер группы, номер

бригады (номер компьютера);»

В панели Current Folder выберите свою директорию. Введите команду «save t_list». При необходимости восстановить исходный Т-список введите «load t_list».

2.Необходимо в вычислительной среде MATLAB проверить полученную схему на корректность ее описания. Для этого следует воспользоваться встроенным

71

языком MATLAB (таблица 1) и функциями, написанными для выполнения лабораторной работы:

Формирование перечня узлов электрической цепи: nodes(begin_nodes, end_nodes), где begin_nodes, end_nodes - первый и второй столбцы T-списка.

Пометка узлов: visited=label(visited,list_nodes,connected_nodes), где visited –

вектор помеченных узлов, в котором помеченному узлу ставится 1, не помеченному узлу 0, list_nodes – перечень узлов, connected_nodes – узлы, которые необходимо пометить;

Поиск связанных узлов, которых пока не было в компоненте связности: connected_nodes =cnodes(nodes,begin_nodes,end_nodes,component), где nodes – узлы, к которым ищутся инцидентные узлы, component – узлы в компоненте связности.

Таблица 1. Встроенные циклы, операторы и функции MATLAB

Циклы, операторы и функции

Входные данные, условия

Результат применения

 

применения

 

 

for i=1:n

 

 

Цикл for. Счетчик i

команды

 

 

меняется от начального

end

 

 

значения 1 до n с шагом

 

 

 

1.

 

While условие

Логические условия:

Цикл while выполняется

команды

== – равно;

 

пока условие истинно.

end

>, <, >=, <= – больше,

 

 

if условие

меньше, больше или равно,

Условный оператор.

команды 1

меньше или равно;

 

Если условие истинно,

else

~ – логическое не

 

выполняются команды 1,

команды 2

&& – логическое И

 

иначе выполняются

end

|| – логическое ИЛИ

команды 2. Часть с else

 

any(array) – какой-либо из

можно пропустить.

 

элементов не равен нулю

 

 

 

all(array) – все элементы не

 

 

 

равны нулю

 

 

 

[array1;array2;number1;number2]

Одномерные

массивы

Объединенный массив

 

(векторы), числа

 

 

 

unique(array)

Одномерный

массив

Вектор

уникальных

 

(вектор)

 

элементов в массиве

max(array), min(array)

Одномерный

массив

Максимальное значение,

 

(вектор)

 

минимальное значение

length(array)

Одномерный

массив

Количество

элементов в

 

(вектор)

 

массиве (длина вектора)

array(индексы)

array – массив, индексы –

Вызов части массива

array(индексы)=[];

массив индексов элементов

Удаление части массива

Скопируйте шаблон лабораторной работы в блокнот и сохраните в файл «название файла латиницей».m в свою папку, откройте его в программе

MATLAB. Шаблон:

%Для получения исходных данных введите в командном окне

%«[begin_nodes, end_nodes, Gv, Jv]=Lab11_variants(номер группы, номер бригады (номер компьютера));»

v = __________; %число ветвей list_nodes = __________;

72

%a. Ошибки в нумерации узлов

if __________

is_enumeration_error = 1; else

is_enumeration_error = 0; end

%b. Наличие ветвей-петлей is_loop_error=0;

for i=1:__________

if __________

is_loop_error = 1; end

end

%c. Наличие пустых ветвей

__________

%d. Гальванически не связанные ветви is_connection_error=0;

visited = zeros(length(list_nodes),1); % изначально ни один узел не помечен

__________ %удаление пустых ветвей c=1; %номер компоненты связности

while any(~visited) %пока имеется хотя бы один непомеченный узел node1=min(list_nodes(~visited)); %выбирается не помеченный узел с наименьшим

номером

visited(list_nodes==node1)=1; %пометка первого узла

M{c}=node1; %включение первого узла в множество узлов М компоненты связности c connected_nodes = __________; %находится множество узлов, связанных с узлом 1 while ~isempty(connected_nodes) %пока множество связанных узлов не пусто

M{c}=[M{c}; connected_nodes]; %добавляем в множество узлов связанные узлы visited=__________; %помечается множество связанных узлов connected_nodes=__________; %выбирается новое множество связанных узлов

end c=c+1;

end if c>2

is_connection_error=1; end

%e. Наличие особых разрезов

__________

%f. Наличие почти особых разрезов

__________

В шаблоне следует заполнить пустые места. Выполните оценку корректности описания электрической цепи по следующим пунктам:

a.Ошибки в нумерации узлов;

b.Наличие ветвей-петлей;

c.Наличие пустых ветвей;

d.Гальванически не связанные ветви;

e.Наличие особых разрезов;

73