Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Найрат Самер

Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц
<
Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Найрат Самер. Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц : диссертация ... кандидата технических наук : 05.13.12.- Санкт-Петербург, 2006.- 118 с.: ил. РГБ ОД, 61 07-5/1144

Содержание к диссертации

Введение

Глава 1. Методы повышения эффективности программного обеспечения систем автоматизации схемотехнического проектирования

1.1. Математическое описание систем 11

1.2. Методы компактного представления разреженных матриц и их сравнительная оценка 18

1.3. Обобщенная блок-схема алгоритма реализации строчно-столбцового фиксированного формата 26

Глава 2. Символьный этап метода строчно-столбцового фиксированного формата

2.1. Символьный этап формирования частных матриц типовых компонентов 30

2.2. Символьный этап Ш-факторизации и оптимального упорядочивания 31

2.3. Формирование координатного описания 37

Глава 3. Численный этап компактной обработки разреженных матриц

3.1. Численный этап формирования компактного описания в строчно- столбцовом фиксированном формате 40

3.2. Численный этап компактной формы Ш-факторизации 56

3.3. Численный этап расчета переменных с учетом преобразования базиса 62

Глава 4. Реализации методов компактной обработки на основе строчно-столбцового фиксированного формата .

4.1. Компактные методы моделирования линейных систем в частотной области 4.1.1. Общие принципы моделирования систем в частотной области 73

4.1.2. Формирование компактной формы математического описания систем на основе комплексных частных матриц 75

4.1.3. Моделирование систем в частотной области на основе частотно-независимых вещественных матриц 80

4.2. Расчет стационарного режима нелинейных систем на основе компактной обработки разреженных матриц.

4.2.1. Математическое описание нелинейных систем 82

4.2.2. Схемотехническая интерпретация методов решения уравнений нелинейных систем 86

4.2.3. Моделирование стационарного режима на основе компактной обработки разреженных матриц 88

4.3. Компактные методы моделирования систем во временной области 4.3.1. Математическое описание систем во временной области 92

4.3.2. Дискретные модели компонентов 96

4.3.3. Алгоритм и блок-схема моделирования во временной области на основе дискретных моделей компонентов 100

4.4. Моделирование систем на основе методов диакоптики 104

Заключение 112

Список литературы

Введение к работе

Непрерывное усложнение проектируемых объектов выдвигает задачу дальнейшего совершенствования систем автоматизированного проектирования, производительность которых должна соответствовать характеру современных условий проектирования. Это относится к проектируемым объектам различного класса и назначения и, в первую очередь, к изделиям электронной техники, сложность которых по имеющимся оценкам увеличивается ежегодно примерно в полтора-два раза.

К настоящему времени проведены многочисленные исследования в области математического описания и алгоритмического обеспечения систем автоматизированного проектирования объектов различной физической природы. На основе этих исследований разработано значительное число САПР, реализующих те или иные задачи проектирования. Однако, практическое использование существующих систем при решении задач большой размерности часто оказывается недостаточно эффективным в связи со значительными затратами вычислительных ресурсов и большим временем, которое занимает процесс решения таких задач. Адаптация существующих систем к новым задачам повышенной размерности оказывается, к сожалению, практически невозможной вследствие отсутствия соответствующей документации, содержащие исходные коды программного обеспечения. Поэтому весьма актуальной является задача дальнейшего совершенствования и создания новых высокопроизводительных САПР, в основу которых положены более эффективные алгоритмы и методы построения программного обеспечения. К таким методам относятся, прежде всего, методы, основанные на компактной обработке разреженных матриц, входящих в математическое описание моделируемых объектов.

Несмотря на то, что основные идеи такого подхода были высказаны в 60-70 годах прошлого столетия, в существующих промышленных системах эти методы в полной мере не реализованы. Это объясняется различными причинами, и в первую очередь, большой трудоемкостью переработки существующих универсальных САПР. Такая ситуация имеет место для прикладных задач проектирования систем в частотной области, моделирования стационарного режима нелинейных систем, проектирования систем во временной области, и в других приложениях, практически во всех предметных областях.

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

Целью диссертационной работы является исследование вопросов повышения эффективности программного обеспечения САПР при решении задач, связанных с обработкой разреженных матриц. Для достижения указанной цели в диссертационной работе решаются следующие основные задачи.

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

2. Создание общей методики символьного и численного этапов компактной обработки разреженных матриц на основе строчно-столбцового фиксированного формата.

3. Разработка и реализация методов построения программного обеспечения систем в строчно-столбцовом фиксированном формате для решения прикладных задач моделирования линейных систем в частотной области, расчета стационарного режима нелинейных систем, моделирования линейных и нелинейных систем во временной области.

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

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

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

2. Реализованы задачи виртуальной Ш-факторизации на основе компактного представления разреженных матриц в строчно-столбцовом фиксированном формате.

3. Разработана методика построения программного обеспечения для расчета систем в частотной области на основе компактного представления математического описания в строчно-столбцовом фиксированном формате.

4. Предложена структурная схема расчета стационарного режима систем на основе компактного представления разреженных матриц в строчно-столбцовом фиксированном формате.

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

Значение результатов диссертационной работы для практического применения заключается в следующем:

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

2. Разработана библиотека функций для обработки структурного портрета схемы и построения координатного описания на символьном этапе обработки разреженных матриц.

3. Разработана и реализована методика построения систем автоматизации проектирования на основе компактного представления разреженных матриц в строчно-столбцовом фиксированном формате.

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

Разработанные при выполнении работы методы были использованы в учебном процессе кафедры САПР СПбГЭТУ при создании программного обеспечения для автоматизированного проектирования систем в частотной области, расчета стационарного режима нелинейных систем, моделирования систем во временной области.

Основные теоретические результаты диссертационной работы докладывались на конференциях:

1. Международная конференция по мягким вычислениям и измерениям, SCM 2005. Санкт - Петербургский государственный электротехнический университет «ЛЭТИ».

2. Международная конференция "Современные технологии обучения: международный опыт и российские традиции", Санкт-Петербург, 2005 .

3. Конференция профессорско-преподавательского состава СПбГЭТУ, Санкт-Петербургский государственный электротехнический университет 2005г.

4. Конференция профессорско-преподавательского состава СПбГЭТУ, Санкт-Петербургский Государственный электротехнический университет 2006г.

По теме диссертации опубликованы три печатных работы, из них одна статья и тезисы к двум докладам на международных научно-технических конференциях.

Диссертационная работа состоит из введения, четырех глав, заключения и списка литературы, включающего 72 наименования. Основная часть диссертации изложена на 108 страницах машинописного текста. Работа содержит 21 рисунок и 1 таблицу.

В первой главе диссертационной работы приводится обзор возможных подходов к математическому описанию систем, и рассматриваются новые методы повышения эффективности систем автоматизации проектирования на основе технологии разреженных матриц. На основе сравнительной оценки методов компактного представления разреженных матриц делается вывод о целесообразности применения компактного метода описания разреженных матриц на основе строчного-столбцового фиксированного формата.

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

Для установления размерности компактных матриц в строчно-фиксированным формате, разработана процедура символьной 1/-факторизации индексной матрицы. В процессе этой процедуры используется оптимальное упорядочивание строк и столбцов индексной матрицы на основе алгоритма минимальной степени. Результатом символьного этапа является, координатное описание системы, которая реализуется на основе специальных разработанных функций, позволяющих определить размеры требуемых компактных массивов и сформировать целочисленные компактные массивы, содержащие информацию о координатах расположения всех ненулевых элементов в полной матрице.

В третьей главе рассматривается вопрос реализации численного этапа компактной обработки разреженных матриц. Несмотря на многообразие возможных типов компонентов при решении указанной задачи, удалось выявить ряд общих закономерностей, связанных с этапом численного формирования. При этом установлена общая методика построения функций формирования и разработано программное обеспечение таких функций для основных компонентов. На основании разработанной методики решена задача построения программного обеспечения компактного описания типовых компонентов, а также макромоделей компонентов, описываемых произвольными эквивалентными схемами.

Второй важной задачей численного этапа является LU-факторизация сформированного компактного математического описания. Поскольку полное описание моделируемой системы отсутствует, то задача LU-факторизации решается виртуально на основе установленных в диссертационной работе закономерностей взаимного отображения полного и компактного способов описания. Заключительным шагом численного этапа компактной обработки является расчет переменных с учетом преобразования базиса.

В диссертационной работе предложен новый метод реализации прямого хода на основе сканирования столбцов нижней треугольной матрицы. Реализация этого алгоритма, применительно к компактной форме обработки строчно-столбцового фиксированного формата, позволила создать высоко эффективное программное обеспечение.

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

Решение задачи моделирования систем в частотной области, осуществляется путем перехода к комплексным переменным при соответствующей модификации компактных массивов, содержащих информацию о параметрах схем. В работе рассмотрены два возможных подхода к формированию компактного описания систем в частотной области и разработана соответствующая блок-схема для реализации алгоритмов моделирования.

В работе показано, что задача компактной обработки разреженных матриц при моделировании нелинейных систем, может быть решена на основе разработанных общих подходов, путем схемотехнической интерпретации классических алгоритмов. В работе показано, что возможно вынесение этапа построения структурного портрета за пределы итерационного цикла, что существенно повышает быстродействие системы.

Для решения задачи моделирования систем во временной области рассмотрены возможные варианты дискретизации инерционных компонентов (частотно-зависимых компонентов) и получены обобщенные формулы для расчета дискретных моделей двухполюсников и управляемых источников. На основе полученных дискретных моделях построена блок-схема компактной обработки математического описания во временной области в строчно-столбцовом фиксированном формате.

В заключительном разделе четвертой главы рассматриваются способы повышения эффективности программного обеспечения на основе методов диакоптики.

Методы компактного представления разреженных матриц и их сравнительная оценка

Отличительной особенностью структуры реальных систем является то обстоятельство, что их компоненты являются слабо связанными друг с другом. При этом математическое описание таких систем содержит матрицы, в которых имеется значительное число нулевых элементов и только незначительная часть элементов матрицы включают в себя содержательную информацию. Такие матрицы получили название разреженных матриц.

Для оценки степени разреженности матриц, вводится коэффициент разреженности а, определяемый выражением: m m где m- число ненулевых элементов матрицы. п - порядок матрицы. Коэффициент разреженности матриц современных систем колеблется весьма в широких пределах от десятых долей единицы до значения 10"5 и менее.

Так, например, для каскадного соединения двухполюсников нетрудно показать, что коэффициент разреженности такой матрицы, которая обычно называется ленточной матрицей, может быть определен выражением: 3(п-2) + 4 Зл-2 п п

Если значение п=100, то коэффициент разреженности as 0,03. При этом, с ростом размерности ленточной матрицы, коэффициент ее разреженности падает.

Отличительной особенностью ленточной матрицы для каскадного соединения двухполюсников, является ее структурная и численная симметрия относительно главной диагонали. При подключении к схеме управляемых источников появляются новые ненулевые элементы, которые приводят матрицу к структуре, которая будет отличаться от ленточной.

Отличительной особенностью матрицы, содержащей управляемые источники является ее структурная и численная несимметрия. Наличие структурной несимметрии несколько затрудняет работу с такими матрицами при использовании таких методов для их компактной обработки. Однако, как будет показано далее, структурная несимметрия всегда может быть устранена путем искусственного включения в матрицу учитываемых нулевых элементов, значение которых равно нулю. При этом, если в матрице имеется некоторый элемент wiJt нарушающий правило структурной симметрии, то в нее вводится элемент wJt = 0, восстанавливающий структурную симметрию, но не влияющий на поведение системы.

Наличие в математическом описании систем разреженных матриц ставит задачу изменения стандартных подходов к формированию и решению систем уравнения. Это объясняется, с одной стороны, требованием экономии памяти, которую нежелательно использовать для хранения нулевых элементов, а с другой стороны, требованием повышение быстродействия, за счет устранения выполнения арифметических операций с нулевыми элементами. Используемый обычно для этой цели способ логической проверки элементов с целью устранения арифметических операций с ними не приводит к ожидаемому эффекту повышения быстродействия, поскольку для выполнения логических операций так же необходимо затрачивать определенное время.

Известные методы компактной обработки разреженных матриц существенно отличаются по своим возможностям и своей эффективностью, поэтому для правильного выбора соответствующего метода, необходимо провести их сравнительную оценку, которая приводится ниже для всех известных методов. а) Метод индексно-адресныхматриц (Л44,Л62 ).

Сущность метода индексно-адресных матриц заключается в том, что вводится некоторая целочисленная матрица, структура, которой в точности повторяет структуру исходной матрицы W входящую в уравнение системы (4). Однако, в качестве элементов индексно-адресная матрица содержит в себе вместо параметров порядковый номер ненулевых элементов матрицы W, которые перечисляются в некотором масс сиве WZ, при этом, если порядковый номер ненулевого элемента исходной матрицы равен а, то в индексно-адресную матрицу вводится значение А [і]0]=а.

Для практической реализации этого метода достаточно провести сканирование индексно-адресной матрицы, выбрать из нее очередной ненулевой элемент и в соответствие с ее численным значением, выбрать соответствующий порядковый элемент из массива WZ. Эффективность метода индексно-адресных матриц в случае, когда для хранения индексно-адресной матрицы А используется тип данных длиной два байта типа (short), а для хранения каждого значившего элемента исходной матрицы, используется данные типа (double) длиной 8 байтов, может быть определена выражением: гг\а % + 2) а + 0,25 Из приведенного соотношения видно, что коэффициент экономии памяти для данного метода всегда меньше 4. Поэтому метод индексно-адресных матриц является наименее эффективным методом компактной записи разреженных матриц. б) Метод Кнута (Л44, Л62)

Метод Кнута основан на связанных списковых схемах хранения. При использовании метода для хранения разреженных матриц требуется создать 7 одномерных массивов: WZ- для хранения значения ненулевых элементов wtj исходной матрицы. WI- для хранения номеров строк ненулевых элементов. WJ- для хранения номеров столбцов ненулевых элементов. NR- для хранения относительного адреса а следующего ненулевого элемента строки (а- порядковый номер элемента в массиве WZ) NC- для хранения относительного адреса а следующего ненулевого элемента столбца. ER- для хранения относительного адреса а входа в очередную строку. ЕС- для хранения относительного адреса а входа в очередной столбец.

Символьный этап Ш-факторизации и оптимального упорядочивания

В качестве аргумента таких функций будет передаваться значение char С, что будет обеспечивать отображения в массиве С необходимые информации. Программный код таких функций практически не будет отличаться от аналогичного кода реализующего формирования численных матриц. Различие будет заключаться в том, что вместо операторов, выполняющих заполнение численного массива параметрами компонентов, будет использоваться оператор, выполняющий присваивание элементов су единичного значение, если элемент исходной матрицы HV Ф 0.

Таким образом, если имеется ранее разработанное программное обеспечение для формирования полного описания частных матриц компонентов, то соответствующее программное обеспечение для формирования символьной структуры матрицы С, может быть легко составлено путем незначительной модификации имеющегося программного обеспечения. Важно только имеется в виду, что метод строчно-столбцового фиксированного формата применим только для отображения разреженных матриц, имеющих структурно-симметричный вид. Если полное описание какого-либо компонента, не имеет структурно-симметричной формы, то необходимо создать ее искусственно, путем включения в описание учитываемых нулевых элементов, т.е. таких элементов, для которых в компактных матрицах будут зарезервированные отдельные места. Таким образом, если в полном описании wtJ 0 a w =0, то в компактном описании необходимо учитывать ненулевой элемент wJt =0.

Символьный этап LU-факторизации и оптимального упорядочивания

На символьном этапе L[/-факторизации осуществляется "проигрывание" процедуры реальной (/-факторизации на основе структурного "портрета" схемы, отображенной в матрице С. Указанная процедура должна выполняться одновременно с проведением оптимального упорядочивания, нумерации строк и столбцов матрица С. Это необходимо делать для того, чтобы минимизировать число новых ненулевых элементов, которые могут появляться в процесс LU-факторизации. Поскольку в этом процессе многократно происходит пересчет элементов по формуле то при С, О и Су 0 и С =0, появляется на к+1 шаге новый ненулевой элемент С% = О, хотя на к-шаге соответствующий элемент матрицы равен 0.

Возможно, реализовать три подхода к процедуре оптимального упорядочивания

1. Исходные уравнения ( исходная матрица располагается в соответствие с числом ненулевых элементов в порядке их возрастания )

2. На каждом шаге в качестве ведущей выбирается строка, для которой существует минимальное число потенциально-возможных новых ненулевых элементов.

3. На каждом шаге в качестве ведущей выбирается строка, для которой существует минимальное число реальных ненулевых элементов.

Первая методика может обеспечить эффективный результат только на первом шаге, на последующих шагах, в связи с неизбежным появлением чисел ненулевых элементов, расположение строк по число ненулевых элементов оказывается не упорядоченным и минимизация появления новых ненулевых элементов не происходит.

Вторая методика обычно называемая алгоритмом Марковича, реализуется исходя из выбора минимального значения произведения величины RkCk, где Ск-число ненулевых элементов в к- строке на k-ом шаге, а Ск- число ненулевых элементов в к-ом столбце. Применительно к структурно-симметричной матрицы, Rk Ck алгоритм Марковича приводит к требованию минимизации числа элементов в к-строке.

Третья методика является усложненным вариантом алгоритма Марковича и требует проведения минимизации только для тех ситуаций для которых СЦФ О. Требование дополнительной проверки на каждом шаге, значительно усложняет процедуру минимизации и вместе с тем, как показывают тестовые вычисления не приводит к существенному выигрышу по сравнению с второй методикой.

Так, например, для тестовой задачи, исходная матрица которая содержит 17 строк и столбцов и 77 ненулевых элементов и характеризует коэффициент 77 разреженности «=—=0,27, -преобразование приводит к появлению 32 новых ненулевых элементов, при использовании первой методики и 14 новых ненулевых элементов при использовании второй методики и 12 ненулевых элементов при использовании третьей методики. Поэтому для практического использования следует рекомендовать второй метод, а в последующих изложениях будет использоваться алгоритм Марковича. Следует подчеркнуть следующие обстоятельства.

Для сохранения структурной симметрии при оптимальном упорядочивании необходимо осуществлять перестановку как строк, так столбцов. Поскольку перестановка столбцов приводит к перестановке вектора переменных, то информацию о выполненных перестановках необходимо обязательно сохранить до конца расчета. Помимо решения задачи оптимального упорядочивания строк и столбцов, исходя из критерии минимизации появления новых ненулевых элементов при выборе ведущего элемента, следует так же обеспечивать неравенство нулю этого элемента. Очевидно, что только такое условия позволяет выполнить пересчет элементов при L[/-факторизации.

Численный этап компактной формы Ш-факторизации

Задача LU-факторизации сводится к замене в матричном уравнении WX+S=0, (1) матрицы произведением двух матриц L и U, первая из которых, представляет собой нижнюю треугольную матрицу, а вторая верхнюю треугольную U с единичными диагональными коэффициентами (Л 10, Л53, Л66). При этом общее уравнение (1) распадается на два уравнения UX=Q, LQ+S=0. После выполнения указанного представления, в начале решается второе уравнение относительно вспомогательного вектора Q, затем решается первое X=U ]Q,4TO дает искомые значения вектора X. Поскольку LU-факторизация выполняется один раз, то указанная процедура позволяет экономичным способом находить вектор искомых переменных для любого значения вектора S. При полном описании массива w отображающего матрицу W, задача LU-факторизации легко решается путем использования нормализованной формы алгоритма Гаусса. Указанный алгоритм реализуется путем включения в соответствующие функции программного кода, реализующего тем или иным способом блок-схему которая представлена на рис.3.4При компактном описании массив W отсутствует, и следовательно, при разработке программного обеспечения, реализующего Ш-факторизацию, необходимо, сформулировать алгоритмы поиска в компактных массивах WD,WU,WL, элементов w[k][k]], w[k][j], w[k][i], w[k][j], значения которых определяют процедуру гауссова исключения на к-м шаге. Ниже рассматриваются предлагаемые способы решения такой задачи. Поиск элемент wfkj[kj

Элемент w[k][k] является диагональным элементом в полном описании, следовательно, в соответствие с принятой концепцией компактного описания он расположен в компактном массиве WD.

Таким образом, wtt=WD[k], следовательно, элемент wkk легко выделяется из компактного массива WD по известному значению переменного к. Поиск элементов wkj = w[kfljj и wlk =wfij[kj

Элементы wkj и wlk находятся сканированием k-ой строки и соответственно k-го столбца. Пусть акх и ак1 границы к-ой строки при описании в строчно-столбцовом фиксированном формате, определяемые соотношениями a„=ERC[k]; aA2=ERC[k+l]-l;

Тогда координатный массив WJI будет содержать искомые значения і и j в элементах а, и а, соответственно, которые находятся в границах ак1 и ак2 т.е, а/Н в/ aj ап І j WJI= Элемент wy всегда расположен в наддиагональной части, поскольку согласно выражению j =k+l, следовательно, искомый элемент wkJ находится в массиве WU по относительному адресу оу, лежащий в границах акх, ак2 т.е. Аналогично можно утверждать, что элемент wlk всегда расположен на диагонали или под диагональю в полном описании, так как всегда i =k+l, Следовательно, в компактном описании этот элемент будет расположен в массиве WL по относительному адресу ап лежащем в границах akl, ак2,т.е,

В отличие от рассмотренных ранее элементов wkJ и wtk, расположение которых относительно диагонали заранее известно, элемент wtJ может находиться в любом месте j-ro столбца. При этом, возможны три случая

a) i=j, т.е. элемент находится на диагонали, очевидно, в этом случае, элемент следует искать в массиве WD, где он расположен в і-ой позиции, т.е. wи і WD= "" или w„=WD[i];

b) i j, т.е. элемент расположен выше диагонали, в этом случае поиск надо осуществлять в і-ой строке j-oro столбца, начиная с относительного адреса fl =ERC[i]; Очевидно, что искомый относительный адрес а находится в пределах границ а„ И аа а,, а. WU= wv Рис.3.5 Поиск значения по относительному адресу а осуществляется из условия WJI[a]=j, путем включение в программное обеспечение кода программы, реализующего тем или иным способом блок-схему, которая представлена ниже на рис.3.5

Формирование компактной формы математического описания систем на основе комплексных частных матриц

В классе должны быть определены все функции для работы с комплексными числами, а именно функция для расчета модуля, аргумента, вещественной и мнимой частей комплексного числа.

Кроме того, должна быть предусмотрена возможность определения и переопределения комплексного числа по заданным значениям его вещественной и мнимой части.

Указанные задачи могут быть решены наиболее просто при использовании в качестве языка программирования языка C++, поскольку в этом языке предусмотрены реализуемые стандартным методом переопределения любых операций, в том числе и тех, которые перечислены выше. Другие языки, например, Паскаль и Java не имеют таких возможностей и задача выполнения тех или иных арифметических или логических операций с комплексными числами может быть реализована только путем построения специально предназначенной для этой цели функций (методов). Указанное обстоятельство существенно затрудняет работу с комплексными типами данных, поэтому в дальнейшем будем считать, что для решения задачи в частотной области используется язык C++.

Все интегрированные среды для работы с языком C++ могут быть разделены на две группы.

В первую группу входят среды, в которых имеется встроенный класс для работы с комплексными числами, при этом вещественные и мнимые части имеют фиксированный тип double. К таким средам относятся в частности все среды, поставляемые компанией Borland.

Вторую группу интегрированных сред программирования образует среды, в которых используется встроенный шаблон (template) родового класса. При помощи такого шаблона можно обеспечить работу с комплексными данными, вещественные и мнимые части которых могут быть выбраны с типом float, double, long double.

При использовании родовых классов требуется, что бы во всех арифметических операциях с комплексными типами данных complex T , все переменные и константы примитивных типов должны быть переведены к типу Т. Родовые классы на основе встроенного шаблона используются, например, в средах, разрабатываемых компанией Microsoft (Visual С++6.0, Visual Studio.Net).

Следует подчеркнуть, что встроенные классы при работе с комплексными числами используют для определения основных характеристик для комплексных чисел дружественные функции, что упрощает синтаксис вызова этих функций. Поскольку аппарат дружественных функций специфичен только для языка C++, то указанное обстоятельство является дополнительным соображением в пользу выбора именно этого языка программирования. 4.1.2. Формирование компактной формы математического описания систем на основе комплексных частных матриц.

Математическое описание систем в частотной области определяется матричным уравнением WX+S=0, где W- комплексная матрица параметров, -комплексный задающий вектор, Х- комплексный вектор искомых переменных.

Такой массив может быть создан в программе в виде статического или динамического массива. При переходе компактному описанию схемы на основе строчно-столбцового фиксированного формата вместо компактного массива w следует использовать компактные комплексные массивы WD, WU, WL, отображающие соответствующие комплексные матрицы. Структурная схема моделирования систем в частотной области на основе компактного описания в строчно-столбцовом фиксированном формате, может быть представлены в виде, изображенном на рис.4.1

В соответствии с приведенной структурной схемой, расчет частотных характеристик осуществляется после ввода описания компонентов схемы и ввода директив расчета, путем организации некоторого частотного цикла, такой цикл строится согласно содержанию массива который формируется на этапе ввода директив в соответствии с требованием на вид частотных характеристик (максимальная и минимальная частота, шаг изменения частоты, число частотных точек).

На каждой частоте путем явного вызова конструктора класса complex определяется комплексная частота s, для которой, как правило, целесообразно вводить глобальную переменную.

Похожие диссертации на Повышение эффективности программного обеспечения САПР на основе технологии разреженных матриц