Решение задач асинхронного тягового привода в Maple

Применен метод расчета процессов в асинхронном двигателе (АД) при его питании как от автономного инвертора напряжения (А

365 70 9MB

Russian Pages [204]

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Решение задач асинхронного тягового привода в Maple

Citation preview

А.-Я.Ю. Пармас, В.В. Смирнов

РЕШЕНИЕ ЗАДАЧ АСИНХРОННОГО ТЯГОВОГО ПРИВОДА В MAPLE

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

Москва 2014

У Д К 621 62 1 .33 333 3 Б Б К 39 39..23 232 2 П 18 Р е ц е н з е н т ы : д о ц е н т к аф е д р ы « Э л ек тр и че ск ая т яга» М о с ко в с к о го го су дар с т в е н н о г о у н и в е р с и т е т а п у т е й с о о б щ е н и я , к а н д . т е х н . н а у к В.В В.В.. Литовченко; гл ав н ы й к о н ст ру к то р с ис тем тя го во го элек т р о п р и в о д а ЗА О Н П П «ЭП РО » , к а н д . т е х н . н а у к Б.Л Б.Л.. Сыр ырки кин н

П а рм рма а с А . - Я . Ю . , С мирн мирнов ов В . В .

П 18

Ре ш ен Реш ение ие задач аси асин н хро хронн нног ого о тягового пр приво ивода да в Ma Maple ple:: учеб, по посо соб б ие ие.. — М.: ФГБОУ « Уч Учебн ебно-м о-метод етодич ически еский й цен центр тр по образо обр азовани ванию ю н а ж е л ез езно нод д ор орож ожн н ом тран транспорте», спорте», 2014. — 102 с. I S B N 9 7 8 - 5 -8 9 0 3 5 - 7 8 4 - 7 П ри рим м ен ене е н метод рас расчет чета а п ро роце цесс ссов ов в а си синх нхро ронн нном ом двига двигателе теле (АД) при его п ит итан ании ии к а к от авто автоно номн мног ого о ин инве верт ртор ора а на нап п ря ряж ж ен ени и я (А ИН ИН), ), т а к и о т автон ав тоном омно ного го и нв нвер ертор тора а т ок ока а (АИ АИТ). Т). Пр Прив ивед едены ены при приме меры ры ра расче счета та д ля р еж ежи и мов, мо в, св свойс ойстве твенны нныхх тяго тяговом вомуу приводу: но номи мина наль льног ного, о, реж режи и мо мов в о сла слабл блен ения ия поля по ля,, то торм рмозн озного ого (ге генера нераторног торного), о), холост холостого ого хода (выб выбега) ега) и ре реж ж им има а т ро рога гани ния я (пуск пускового ового). ). Ос Особе обенно нность стью ю ре реш ш ен ени и я задач я вля вляет ется ся ан анал алит итич ичес ески кий й выв вывод од расчет рас четных ных фо форму рмул л и в ь ии иисс л ен ени и е р езульт езультатов атов по э тим ф ор ормул мулам ам с п ом омощ ощью ью матема мат ематич тическог еского о п аке акета та Maple, п рои роиллю ллюстр стрир ирова ованн нные ые м н ого огочи числ слен енны ными ми п ри риме мерам рами и в п ри рило ложе жени ниях ях н а диск диске. е. П р ед едн н аз азн н ач ачен ено о д ля с туд тудент ентов ов ву вузов, зов, о буч бучаю ающи щихс хся я п о н ап апр р ав авле лен н ию 140400 1404 00 «Э «Эл л ек ектр тро о эн энер ерге гети тикк а и э ле лект ктрот ротех ехни ника ка», », а т ак акж ж е д л я и н ж ен енер еро ов элек эл ектт ро ром м ех еха а ни ниче чесс ки кихх и э ле лект ктр р оэ оэне нер р ге гети тиче чес с ки ких х с пе пеци циал аль ь но ност стей ей.. У Д К 621.3 62 1.333 33 Б Б К 39 39..23 232 2

IS B N 97 8 - 5 -89 0 3 5 -7 8 4 -7

© П а р м а с А .- Я .Ю ., С м и р н о в В .В., 2014 © Ф Г Б О У «У ч е б н о -м ет о д и ч е с ки й це н т р п о об р а з о в а н и ю н а ж е л е з н о д о р о ж н о м тр а н с п о р те » , 2014

Посвящается памяти выдающегося ученого и конструктора электрических машин Алексеева Александра Емельяновича

Предисловие Учебное пособие «Решение задач асинхронного тягового привода в Maple» А.-Я.Ю. Пармаса и В.В. Смирнова практически является первым по рассматриваемой теме. Один из названных авторов, кандидат технических наук А.-Я.Ю. Пармас, в 19701970-е е годы участвовал уч аствовал в создании и испытаниях первых отечественных обра образзцов локомотивов и моторвагонного подвижного состава с новым для того времени асинхронным тяговым приводом при питании от статических (полупроводниковых) преобразователей. В настоящее время осуществляется переход от коллекторного к бесколлекторному (асинхронному) тяговому электроприводу во всех отраслях транспорта, прежде всего городского электротранспорта, а также пригородного и магистрального железнодорожного транспорта. В доступной для учащихся форме авторы применили упроще упрощеннный метод расчета процессов в асинхронном двигателе (АД) при его питании как от автономного инвертора напряжения (АИН), так и от автономного инвертора тока (АИТ). Приведены примеры расчета для режимов, свойственных тяговому приводу: номинального, режимов ослабления поля, тормозного (генераторного), холостого хода (выбега) и режима трогания (пускового). Расчеты выполнены для алгоритмов управления традиционного, так называемого 180-градусного, 180градусного, управления при питании АД от АИН, 120120-градусградусного управления при питании от АИТ и улучшенного, когда выходные напряжение или ток инвертора модулируются импульсами повышенной по вышенной частоты с приближением их суммарной формы к си3

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

Доктор технических наук, профессор А.Т. Бурков

Введение Длительный период практического становления бесколлекторного тягового привода, начавшийся около 1960 года, растянулся почти на четыре десятилетия. Объективная необходимость создания инверторного «ключа» на базе мощной бесконтактной управляемой полупроводниковой структуры односторонней проводимости ускорила развитие этой области физики твердого тела, в резул резуль ьтате чего созданы транзисторы на токи до нескольких тысяч амп ампер ер и с запираемым напряжением до 10 кВ, что вполне перекрыва ет весь диапазон мощностей асинхронного тягового привода. В течение этого времени также совершенствовались вспомогательные комплектующие инверторные устройства, такие как силовые конденсаторы, реакторы, защитные быстродействующие выключатели, слаботочная управляющая электроника и пр. Для желающих изучить работу асинхронного тягового привода в предлагаемом пособии приведены математические основы и примеры расчета электромагнитных процессов в асинхронном двигателе (АД) при его питании от автономных инверторов напряжения (АИН) и тока (АИТ) для двух способов управления: а) естественного, когда угол проводимости инверторных ключей соответственно равен λ = π и λ = 2π/3, и б) улучшенного, когда выходное напряжение (ток) инвертора на полупериоде формируется из определенного количества (в нашем случае из семи) однополярных импульсов напряжения (тока) переменной длительности, так чтобы среднее значение эквивалентной кривой на полупериоде изменялось приблизительно по синусоидальному закону. Названные расчеты выполнены в компьютерной математической среде Maple, минимально необходимые сведения об интерфейсе и языке которой приведены в гл. 1. Более подробную информацию по пользованию Maple легко найти в достаточно обширной специальной литературе, посвященной этому пакету. В гл. 7 приведены примеры расчета в среде Maple кривых движения подвижного состава городского транспорта и пригородного электропоезда. 5

Отличие данного метода анализа от других, применяемых многими расчетчиками, заключается в следующем. Наиболее распространен метод схемотехнического моделирования (например, пакет SIMULINK в программной среде MATLAB), когда от автора требуется минимальное усилие — составить электрическую схему замещения исследуемого объекта, а составление и решение дифференциальных уравнений (ДУ) выполняет стандартная программа. В настоящей работе решаются две проблемы: при расчете электромагнитных процессов в асинхронном тяговом двигателе (АТД) составляется и аналитически решается линейное ДУ, а вычислительный процесс осуществляется с помощью Maple; при расчете кривых движения составляются нелинейные ДУ, которые в Maple решаются численным методом. При выполнении расчетов и построении графиков по результатам вычислений использованы еди еди-ницы в системе СИ. Особенностью решаемой в настоящей работе задачи является дискретный характер изменения правой части ДУ, математическая интерпретация которой в среде Maple осуществляется функцией «piecewise».

Глава 1. КР КРА АТКИЕ СВЕДЕНИЯ О СИСТЕМЕ MAPLE 1.1. Рабочий лист и ячейки Maple Сразу же после запуска программа Maple открывает чистый рабочий лист (worksheet), который спустя некоторое время может содержать запись работы, проделанной при решении каких-либо задач (рис. 1.1). Чтобы отличить конкретный рабочий лист от многих других, а также использовать в дальнейшем, ему нужно присвоить имя для хранения в виде файла на диске. Для этого имеются стандартные команды меню и экранные кнопки на панели инструмен инструмен-тов, характерные для большинства Windows-приложений. На рабочем листе прежде всего следует выделить ячейки трех ти ти-пов: ячейки ввода (input cells), ячейки вывода (output cells) и текстовые ячейки (text cells). Ячейка ввода начинается с угловой скобки «>». Это место, где записываются команды или операторы, которые должны быть выполнены Maple. В одной ячейке может быть закодирован один ил или и несколько операторов, каждый оканчивается символом двоеточия «:» или точки с запятой «;».

Рис. 1.1. Рабочее окно системы Maple

7

Нажатие клавиши Enter инициирует исполнение кода. Причем если оператор завершается разделителем «;», то в строке под ячейкой ввода появляется ячейка вывода, содержащая результат вычисления, график или сообщение об ошибке. Разделитель «:» используется для подавления вывода результатов на экран (вычисления все равно будут произведены). Текстовая ячейка начинается с квадратной скобки «[» и служит для записи комментариев к вычислениям. Основные команды меню и стандартной панели инструментов для работы с ячейками различных типов приведены в табл. 1.1. Таб Та б ли лица ца 1.1 Осно Ос новн вные ые ко кома ман н д ы д л я ра рабо ботт ы с я че чейк йка ами Команда

Пункт меню

Экранная «Горячие» кнопка клавиши

Вставить ячейку ввода после курсора

Insert => Execution Group => => After Cursor

Ctrl&J

Вставить ячейку ввода перед курсором

Insert => Execution Group => => Before Cursor

Ctrl&K

Преобразовать ячейку вво-Insert => Text Input да в ячейку комментариев

Ctrl&T

Вставить в ячейку комментариев выражение в математической нотации

Ctrl&R

Insert => Standart Math

Убрать ячейки вывода по Edit => Remove Output => всему текущему документу From Worksheet

Обратим внимание, что набор элементов в четвертой строке рабочего окна (см. рис. 1.1) является контекстным и зависит от одного из следующих семи текущих состояний пакета: 1) Input-состояние — курсор установлен в ячейке ввода; 2) состояние редактирования — курсор установлен в ячейке вво вво-да, находящееся в формате стандартной математической нотации либо в ячейке вывода; 3) текстовое состояние — курсор установлен в ячейку комментариев; 4) табличное состояние — курсор установлен в таблицу; 5) 2D2D-графическое графическое состояние — курсор установлен на плоском графическом объекте; 8

6) 3D3D-графическое графическое состояние — курсор установлен на пространственном графическом объекте; 7) анимационное состояние — курсор установлен на анимируемом объекте. Команды контекстной панели инструментов для работы с ячейками ввода представлены в табл. 1.2. Таб Та б ли лица ца 1. 1.2 2 Допол Доп олн н и те тел л ьн ьные ые ко кома ман н д ы д л я р або аботт ы с я че чей й ка кам м и ввод вв ода а Команда

Экранная кнопка

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

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

9

1.2. Решение задач в Maple Наряду с простым и удобным интерфейсом Maple имеет по крайней мере еще четыре качества, полезных при решении математических задач на компьютере. 1. Maple является интерпретатором, т.е. команду можно ввести и тут же исполнить. 2. Maple относится к CAS-системам (Computer Algebra System), т.е. к системам компьютерной алгебры. Это означает, что Maple знает правила работы не только с числами, но и с символьными выражениями. Более того, Maple, в отличие от многих других математических систем и языков программирования, стремится воз воз-вращать результат операции в возможно более точной форме, например оперировать обыкновенными дробями, не преобразовывая их в десятичные, или оставлять результат в символьной форме, пока не получит указание превратить его в число. 3. Maple снабжена собственным встроенным языком программирования, по простоте аналогичным Бейсику. Причем этот язык является открытым (расширяемым). Это дает возможность пользователю ва телю определять дополнительные команды и расширять по своему усмотрению имеющиеся библиотеки процедур, легко приспосабливать систему к решению нужных задач. 4. Maple удобно использовать как графический калькулятор. Эта программа имеет довольно обширный запас команд, предназначенных для построения графиков функций одной и двух переменных, вывода сложных графических структур, создания анимаций. Язык Maple содержит 26 букв латинского алфавита, 10 цифр и 32 специальных символа, вводимых с клавиатуры. Причем Maple различает строчные и прописные буквы, т.е. является чувствительной к изменению регистра. Из допустимых символов языка составляются лексемы — минимальные лексические единицы, распознаваемые интерпретатором языка Maple. К ним относятся символы допустимых опе операций, раций, имена переменных, функций и команд, ключевые слова, строки, целые числа, а также знаки препинания (разделители). При составлении выражений, операторов и процедур лексемы можно разделять пробельными символами: пробелом, табуляцией 10

(Tab), символом новой строки (Shift&Enter). Но внутри лексем эти символы недопустимы. С семантическим значением отдельных лексем можно познакомиться через систему помощи (пункт меню Help), при этом желательно знание некоторых основ традиционной математики и английского языка. Список основных лексем Maple, использованных в данной работе, представлен в табл. 1.3. Таб Та б ли лица ца 1. 1.3 3 Некоторые Не которые полезные лек лексемы семы Ma Mapl ple e + * / ^ := =
= -> abs and animate argument by Complex

операция сложения операция вычитания или знак числа операция умножения операция деления возведение в степень оператор присваивания знак равенства знак «меньше» знак «меньше или равно» знак «больше» знак «больше или равно» создание процедуры-функции абсолютное значение числа логическое И создание анимированного графика главное значение аргумента комплексного числа приращение переменной цикла комплексное число

complexplot cos D diff display elif else end

график в комплексной плоскости косинус дифференцирование производная функции вывод на экран списка графиков ключевое слово «иначе — если» в операторе ветвления ключевое слово «иначе» в операторе ветвления ключевое слово завершения конструкции операторов и процедуры вычисление комплексного выражения

evalc

11

Про Пр о до дол л ж ен ение ие т а б л. 1.3 evalf evalm exp false for from global I if Im in infinity ln local matrix Matrix matrixplot nops not NULL or Pi piecewise plot plot3d plot 3d plots proc Re rectangle restart rhs seq sin solve

12

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

О к онч нча ани е таб л. 1. 1.3 3 sqrt subs sum then to true trunc unapply whattype while with

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

Система помощи представляет собой браузер, в котором содер содер-жатся справочные сведения о синтаксисе и семантике команд, под под-разделенные на категории. Обратиться к браузеру помощи можно непосредственно из ячейки ввода. Для этого достаточно выделить нужную лексему и нажать клавишу F1. В нижней части страницы помощи обычно находятся примеры использования соответствующих команд, которые можно скопировать в рабочий лист и опробовать их действие. Ввод ряда наиболее употребимых символов, функций и определений может быть облегчен благодаря использованию специа специальных льных палитр (команда меню View => Palettes). Фун Фу ндаментальное значение в Maple имеют выражения. Они мо мо-гут состоять из чисел, числовых констант, имен переменных и неизвес тных, булевых выражений, функций и других структур данны данных х (объектов Maple), над которыми выполняются допустимые операции. Большое разнообразие типов выражений в Maple обусловлено тем, что при реализации аналитических вычислений существенным является не столько числовая характеристика вели чины, сколько ее тип. Проверка типа выражения может быть осуществлена из программы с помощью команды whattype . Типы основных объектов Maple, из которых составляются выражения, приведены в табл. 1.4.

13

Таб Та б ли лица ца 1.4 Основ Ос новные ные типы объекто в Ma Map ple

символьное имя, последовательность буквенно-цифровых символов и символа подчеркивания (начинается с буквы) indexed индексное имя. Для создания индексного имени следует после символьного имени в квадратных скобках задать последовательность чисел, символов или вычисляемых выражений, например A[3,4] A[ 3,4] string строка, являющийся операндом текст, задается в кавычках, например “FbF” integer целое число fraction дробное число (рациональное или десятичное) float десятичное число с плавающей точкой complex комплексное число logical логический тип, формируется с помощью логических операций boolean булевское выражение, имеет вычисляемое значение true, false или FAIL relation отношение, заданное в виде уравнения или неравенства algebraic алгебраическое выражение constant константа function функция, правило соответствия двух и более имен exprseq последовательность выражений, разделяемых запятой set множество, неупорядоченная совокупность любых объектов, задается их перечислением в фигурных скобках symbol

list

список, упорядоченный набор элементов, задается их перечислением в квадратных скобках

array

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

Рассмотрим пример использования стандартных команд Maple. Получим решение дифференциального уравнения yt′() =+ t 22 y . > restart: with(plots): de:=diff(y(t),t)=t^2+ de:=diff(y(t),t)=t^ 2+y(t)^ y(t)^2: 2: p1:= 1:=dsolve({de,y( dsolve({de,y(0)=1}, 0)=1},y(t)); y(t)); p2:= 2:=dsolve({de,y( dsolve({de,y(0)=1}, 0)=1},y(t),type=numeric): y(t),type=numeric): f1:= 1:=plot(rhs(p plot(rhs(p1), 1),t=t=-3..3, 3..3,y=y=-4..4, 4..4,thickness= thickness=4, 4,color=blue): color=blue): 14

f2:= 2:=odeplot(p odeplot(p2,[ 2,[t,y(t)],t,y(t)],-3..3, 3..3,thickness= thickness=4, 4,color=red,style=point, color=red,style=point, symbolsize=20): symbolsize= 20): display([f1, display([f 1,ff2]); В первой строке программы осуществляется перезагрузка системы и подключение пакета дополнительной графики. Во второй строке задается исходное дифференциальное уравнение. Третья строка выдает аналитическое решение задачи Коши для заданного уравнения с начальным условием y(0) = 1. Это решение содержит комбинацию специальных функций; оно показано на рис. 1.2, а. В четвертой строке решается та же задача с использованием заданного по умолчанию численного метода Рунге—Кутта—Фехлберга (RKF RKF45). 45). В пятой строке задаются параметры графика аналитического решения, а в шестой строке — параметры точечного

Рис. 1.2. Аналитическое (а) и графическое (б) решение уравнения

15

графика численного решения. Последняя строка инициирует совместный вывод обоих графиков, показанный на рис. 1.2, б. Данный пример также демонстрирует важность анализа и интерпретации результатов работы программы. Так, сравнивая численное и аналитическое решение, легко заметить, что они очень хорошо согласуются лишь на небольшом промежутке изменения независимой переменной 0 < t < 1. Однако, имея график аналитического решения, можно подобрать начальное условие таким образом, чтобы оно не изменило исходной задачи, а численный метод выдавал правильные значения в нужном интервале изменения значения независимой переменной. Так, в рассмотренном примере для дл я нахождения значений функции численным методом на интервале –1 < t < 0 начальному условию y(0) = 1 следует предпочесть y(0) = –1, что, по сути, не меняет исходной задачи.

1.3. Опера Операторы торы управления вычисле вычислениями ниями и процедуры 1.3.1. Оператор присваивания Операторы Maple можно использовать как при интерактивной работе, так и при создании процедур. Наиболее часто употребляется оператор присваивания имен «:=», предназначенный для идентификации переменных и выражений, хранения результатов выполнения команд. Важно заметить, что Maple поддерживает глобальный уровень определений имен, суть которого сводится к следующему. Если в текущем сеансе работы с пакетом производится обработка сразу нескольких документов, то все определения и назначения, сделанные в одном из документов, разделяются и всеми остальными документами текущего сеанса. Для отмены всех присвоений сессии Maple используется команда Restart, которой соответствует экранная кнопка на стандартной панели инструментов. Структура выполнения команд, размещенных в ячейке ввода Maple, как правило, линейна, т.е. предписывает выполнение последовательности действий, следующих одно за другим, без пропусков и повторений. Для изменения этого порядка могут быть использованы операторы ветвления и цикла, а также организация обращения к процедуре. 16

1.3.2. Оператор ветвления Ветвление в Maple реализуется оператором if, общая форма которого имеет следующий синтаксис (в квадратных скобках указаны необязательные элементы): if булево выражение then последовательность операторов [elif булево выражение then последовательность операторов] [else последовательность операторов] end if: Семантика этого оператора следующая: если верно (true ) булево выражение после ключевого слова if, то выполняется последовательность выражений после ключевого слова then до первого встретившегося elif, else или end if if.. Если значение выражения после if неверно (false или FAIL FAIL), ), то проверяется на истинность булево выражение после ключевого слова elif (если оно задано) и в случае истинности выполняются операторы после ключевого слова then then.. Если ни одно из булевых условий не истинно, то выполняются операторы блока else (в случае его задания). Блоков elif может быть сколько угодно, тогда как блок else всегда только один. Для реализации в программе возможности альтернативного вы бора оператор if используется с несколькими блоками elif elif.. Синтаксис Maple позволяет использовать вложенные конструкции if if.. Организовать ветвление можно также с помощью операции тернарного условия, которая имеет следующий синтаксис: `if` (условие, операнд 1, операнд 2) Семантика ее такова: вычисляется значение параметра «условие», который должен быть булевым выражением, и если он равен true, то результат операции будет «операнд 1», иначе — «операнд 2».

1.3.3. Операторы цикла Для организации повторяющихся вычислений в Maple предусмотрены две формы операторов цикла: for-from и for-in for-in.. Общий синтаксис оператора for-from: [for имя][ имя][from from выражение][ выражение][by by выражение][ выражение][to to выражение] [while булево_выражение] do последовательность_операторов end do: В блоке for задается имя переменной цикла, блоки from и to определяют соответственно начальное и конечное значение диапазо17

на изменения переменной цикла, а в блоке by задается шаг ее изменения (может быть отрицательным). Если задан блок while while,, то одновременно с проверкой значения переменной цикла проверяется истинность булева выражения в этом блоке, и цикл также завершает свою работу, если его значение оказывается равным false или FAIL FAIL.. Если в конструкции не задан какой-либо из блоков, то его параметр по умолчанию принимает значение: for фиктивная переменная from 1 by 1 to infinity while true Прервать выполнение цикла может один из следующих операторов: break, return, quit quit,, а также возникновение ошибки. Синтаксис оператора цикла for-in имеет вид: for имя in объект [while булево выражение] do последовательность операторов end do: Переменная цикла, определяемая в блоке for-in, последовательно принимает значения операндов объекта. Например, следующим образом можно организовать сложение выражений из списка: > s:= s:=1: 1: for z in [a*x, b*y, c] do s:=s*z end do: Для прекращения вычислений на текущем шаге и переключения цикла на выполнение следующего используется оператор next.

1.3.4. Процедуры Процедура в Maple, как и в других языках программирования, позволяет выделить код в одну связанную единицу, с тем чтобы в дальнейшем простым обращением к ее имени инициировать выполнение всех содержащихся в ней операторов. Определение процедуры имеет следующий общий синтаксис: proc([ ([список список формальных параметров]) [local список локальных переменных;] [global список глобальных переменных;] [options список опций;] [description строка описаний;] 18

последовательность операторов end proc: Имя процедуре задается обычной операцией присваивания, например: > v:=proc(x,y) (x^ x^2+ 2+y^ y^2)^(1/2) 2)^(1/2) end proc: Вызов созданной процедуры осуществляется с помощью оператора вызова функции, в котором задается имя процедуры, а в скобках определяются фактические переменные, которые заменяют в теле процедуры все формальные параметры. Так, для созданной выше процедуры: > v( v(2,5); 2,5); 29 Обычно процедура возвращает значение последнего вычисленного в ней оператора. Задать процедуру, тело которой состоит из одного выражения или одного оператора if if,, можно с помощью специальной нотации «->» (функция-отображение). В качестве примера рассмотрим процедуру создания кусочноне прерывной функции вида 3

xx + 8, 7 + 2xx, fx() = 11− co cos( s(xx), 3 xx ,

при ≤ − 1; при − 1< ≤ 2; при 2< ≤ 4; при > 4

> f:=x->piecewise(xpiecewise(x