Файл: Голембо, З. Б. Алгоритмизация и программирование электротехнических задач на электронных цифровых вычислительных машинах учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2024

Просмотров: 83

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

После шестой аппроксимации величины е и р. соответственно рав­

ны 3,652

и

1,17,

в то время как истинные значения этих величин

•е = 3,65

и

ц =

1,17.

§ 4.3. Машинно-математическое моделирование реальных объектов

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

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

Модели физических объектов подразделяются на два основных типа: непрерывно изменяющиеся во времени (непрерывные модели); изменяющиеся во времени дискретным образом (дискретные моде­ ли). Но провести резкую грань между двумя этими типами нельзя, так как некоторые физические объекты можно описывать как с помощью непрерывных, так и с помощью дискретных моделей.

Непрерывные модели. Непрерывные модели применяются при изучении систем, связанных с непрерывным потоком информации. Математически такие модели описываются с помощью систем диф­ ференциальных уравнений, задающих скорость изменения перемен­ ных системы во времени.

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

где x(t) и x(t)

 

x(t +

At) =

g[x~(t),

2(0, w] ,

 

 

— соответственно

векторы состояния

системы с ком­

понентами

Xj(t)

во все предыдущие моменты времени; z(t) — век­

тор внесистемных переменных;

w — вектор параметров системы;

g — функция,

определяющая

поведение

системы.

 

 

Указанная

вычислительная

задача

состоит в

определении

x(t + At),

если

задано

значение x(t).

Результатом

вычислений

(моделирования)

будет

таблица

или

график вектор-функции x(t).

Дискретные модели. Система, описываемая дискретной моделью,

характеризуется

следующим

образом:

1) состоит

из

элементов

(компонент, подсистем), каждый из которых выполняет одну опре­ деленную операцию; 2) отдельные элементы информации переходят от одной компоненты к другой по заданной схеме (такие переходы

.50


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

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

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

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

Математические модели реальных процессов могут использо­ ваться как для изучения, так и для управления этими процессами.

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

Для составления программ, описывающих поведение дискрет­ ных моделей, используется различное программное оборудование,

51


т. е. материалы, доступные потребителю (программы, инструкции к ним, средства отладки и т. п.). Качество программного оборудо­ вания во многом определяет практическую ценность алгоритмиче­ ского языка, используемого для решения задач на ЭЦВМ.

Программное оборудование дает возможность получить сле­ дующие выходные данные: а) объем информации, проходящей че­ рез различные части модели; б) распределение времени прохожде­ ния информации между двумя заданными точками модели; в) сред­ нюю «занятость» компонент модели; г) максимальную и среднюю длину очередей; д) автоматическое слежение за событиями, каж­ дое из которых описывается специальной подпрограммой.

Результатом моделирования будет набор параметров, описы­ вающих поведение модели.

При создании описанной математической модели часто исполь­ зуют алгоритмические языки Алгол и ФОРТРАН.

Для составления моделирующей программы необходимы точные определения отдельных частей модели; структура системы такова, что полученную модель можно рассматривать как часть более круп­ ной модели, благодаря чему блоки программ могут быть объедине­ ны без особых переделок. Структура программы имеет следующие особенности: фиксируется распределение памяти; вводятся коман­ ды для установки состояния модели (в большинстве случаев состоя­ ние модели контролируется специальной «ведущей» или «временной» программой, которая управляет последовательностью подпро­ грамм); задаются команды, устанавливающие необходимость обра­ щений к подпрограммам в заданные моменты времени; опреде­ ляются команды, организующие наиболее часто встречающиеся

типы расчетов,

в частности, к таким командам относятся операции

со случайными

числами, с вероятностными распределениями и

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

 

АППРОКСИМАЦИИ ЗАВИСИМОСТЕЙ

Г Л А В А 5

ДЛЯ АНАЛИЗА И СИНТЕЗА

 

ЭЛЕКТРОТЕХНИЧЕСКИХ ЗАДАЧ

§ 5.1. Приближение функции

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

Если дана функция f(x) вещественной переменной х, то ее за­

меняют в данном промежутке изменения х другой функцией

более

простого вида. В большинстве случаев функция f(x) задана

эмпи­

рически, т. е. известна лишь таблица значений функции b0,

bi,

bn, которые она принимает при значениях а0, ai,

ап аргумента.

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

Для получения приближенного представления функции f(x) обычно поступают следующим образом. Из некоторого класса про­ стых функций <р(я) выбирают конечное их число Ф0(Х), q>i(x), Ф„(х) и пытаются аппроксимировать функцию / г линейной комбина­ цией этих функций. Иначе говоря, подбирают постоянные T£ такие, чтобы функция

Ф (х) = То Фо (*) + Ti Ф1 (*) + - + Т„ Ф„ (*) .

в некотором смысле была близка функции /(х).

Если воспользоваться п + 1 функцией фг(х), то имеется п + 1 пос­ тоянная 7;, для определения которых можно наложить п + 1 усло­ вие. При интерполировании этими условиями являются совпадения ;f(x) и Ф (х) в п + 1 различных точках xt. В этом случае необходимо

выполнение

равенства

 

 

 

 

/(*«) =

<*>(**) (t =

1, 2, ..., п).

 

Точки Xi оси абсцисс

называются

фундаментальными

точками

.-или узлами

интерполирования.

 

 

Любые виды функций могут быть приняты в качестве прибли-

53


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

жающих функций прежде всего отвечают алгебраические

степен­

ные многочлены: замена f(x)

полиномом n-й степени, принимающим

те же значения, что и f(x).

В этом случае задача будет ставиться

следующая: заменить кривую f(x),

проходящую

через п + 1 точку

а0Ь0; ...; апЬп

параболой и-й степени,

проходящей

через те же точ­

ки. При этом абсциссы а0,

аи

ап

могут:

1) распределяться не­

равномерно;

2) составлять

арифметическую

прогрессию.

Послед­

нее представляет собой наиболее частый случай. Можно вместо того, чтобы искать параболу п-й степени, проходящую точно через п + 1 точку, найти параболу низшей степени р, проходящую возможно' ближе к этим п + 1 точкам. Если при этом абсциссы составляют ариф­ метическую прогрессию, вычисления несколько упростятся. Фун­ кция f(x) может быть задана также и аналитически, поэтому заме­ на ее другой функцией, например полиномом, имеет целью получить вместо сложного аналитического выражения, плохо поддающегося расчету, гораздо более простое выражение, которое должно упро­ стить вычисление значения производной для любой точки интерва­ ла и, особенно, приближенное вычисление интеграла, применяе­ мое, в частности, для приближенного решения дифференциальных уравнений.

Верность воспроизведения функции f(x) может оцениваться кри­ териями: максимальным, среднеквадратичным, интегральным, ве­ роятностно-зональным и т. д.

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

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

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

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

В практике решения электротехнических задач, анализа авто­ матических систем, а также исследования нелинейных систем с по­ мощью ЭЦВМ часто используется аппроксимация функций с по­ мощью полиномов Лагранжа, Чебышева, Лагерра, Эрмита, Уолша и др. Аппроксимация функций может быть использована также и для проверки правильности решения дифференциальных уравне­ ний, поскольку решение последних может быть со сколь угодно ма­ лой ошибкой аппроксимировано полиномом.

Использование ЭЦВМ для вычисления значений функции интер­ поляционными методами связано с задачей выбора алгоритма интер­ полирования, требующего возможно минимальных затрат ма­ шинного времени и минимальной загрузки ЗУ при заданной точ-

54


•ности вычислений (под загрузкой ЗУ имеется в виду количество ячеек, необходимых для хранения массива входных переменных, констант и промежуточных результатов вычислений по заданному алгоритму).

§5.2. Интерполяционные полиномы

а.Интерполяционный полином Л а г р а н ж а (значения аргумента распределены неравномерно)

Пусть а0 , а ь ап — значения аргумента; Ь, Ьи Ьп—зна­ чения функции f(x); Р(х) —искомый полином n-й степени, прини­

мающий значения

при

соответствующих

значениях аргумента;

D(x)

— полином

степени

л + 1 : (х — а0)(х

— а^)(х — а2)...(х

— ап).

При

разложении

на

простые дроби отношения P(x)/D(x)

получим

 

Р (х) =

 

у

Ак

 

 

 

D (х)

 

1

х —

ak

 

Откуда

 

 

 

 

 

 

 

 

Р(*) =

S

Л

S=0

f\(x-as).

 

 

 

к=0

 

 

При х = аг искомый полином Р(х)

принимает значение bt и

все члены суммы равны нулю,

кроме произведения,

для которого

к = i.

Тогда

 

п

 

 

 

 

 

 

 

 

 

 

 

 

bi =

At

П

(ai —

as).

 

 

 

 

s=o

 

 

 

Следовательно, полином Р(х) может быть записан в виде

 

РМ =

s=o

 

 

 

tbtf\(x-as)lf[(at-as).

 

 

i=0

 

 

\ s=o

 

Б о

многих предложенных

методах

исследования

нелинейных

«систем управления характерным является использование аппрокси­ мирующих полиномов Лагранжа для замены точной интегральной •оценки приближенной оценкой.

б. Интерполяционный полином Стирлинга

Для построения алгоритма запишем полином Р(х) в виде:

р (х) = С0

+ С^х

— а) + С2

— а + h)(x

— a) +

 

+ С3 [х — а + h)(х

— а)(х

—а — К) +

... + C2k (х — а + kh)

... [х —

.— a — {k — \)h] +

C2 f t + 1 (x — a + kh)...(x — a—kli)

+ ....

(5.1)

55