АЛЕЙНИКОВ
ПРАКТИЧЕСКОЕ
ИСПОЛЬЗОВАНИЕ ПАКЕТА Mathcad
ПРИ РЕШЕНИИ ЗАДАЧ
Учебное пособие
Москва – 2002
УДК 531 ПРЕДИСЛОВИЕ
ББК 22.2
А 45 Система Mathcad — современный программный про-
дукт, который может оказать существенную помощь сту-
И.А. Алейников. Практическое использование пакета Mathcad дентам, инженерам и всем тем, кто выполняет какие-либо
при решении задач: Учебное пособие. — М.: Российский госу-
расчёты. Основное достоинство этой системы заключается
дарственный открытый технический университет путей сообще-
в отсутствии необходимости пользователю осваивать осно-
ния Министерства путей сообщения Российской Федерации,
вы программирования, так как Mathcad предельно прибли-
2002, 114 с.
жен к обычному математическому языку. Поэтому на ре-
Учебное пособие подготовлено в помощь студентам всех
шение поставленных задач затрачивается незначительное
специальностей, инженерам, аспирантам, использующим при
время.
решении задач весьма популярный программный продукт фир-
“Система Mathcad содержит текстовый редактор, мощ-
мы MathSoft — математический пакет Mathcad. Его возможно-
ный вычислитель и очень простой в применении графичес-
сти иллюстрируются на примерах при решении широкого клас-
кий процессор. Это позволяет готовить документы, по виду
са задач.
напоминающие статьи или разделы из книг. ... Вычислитель
системы содержит множество математических функций —
Р е ц е н з е н т — заведующий кафедрой информатики и при-
от всем известных элементарных до весьма специфичес-
кладной математики Московского государственного строи-
тельного университета, доктор технических наук, профессор
ких...”. Современные версии Mathcad дают пользователям
В.Н. СИДОРОВ
возможность производить символьные расчёты...” В этом
случае результатом вычисления выражения является дру-
Рекомендовано редакционно-издательским советом Российс- гое выражение. При этом желаемая форма этого второго
кого государственного открытого технического университета выражения может быть задана. Первоначальное выражение
путей сообщения Министерства путей сообщения Российской можно продифференцировать, проинтегрировать, разложить
Федерации, в качестве учебного пособия для студентов. на множители, в ряд и так далее...”.
Возможность производить практически любые операции
с действительными и комплексными числами, большой на-
бор векторных и матричных операций делают Mathcad не-
заменимым инструментом в руках студентов всех специ-
альностей при выполнении контрольных работ, курсовых и
дипломных проектов.
Данное пособие не является подробным руководством
для пользователей системы Mathcad. Перед ним была по-
ISBN 5-7473-0163-2 Российский государственный открытый ставлена задача показать, как начать с ней работу, научить
технический университет путей сообщения азам, знание которых позволит пользователю легко, быстро
Министерства путей сообщения и уже самостоятельно овладеть основными премудростями
Российской Федерации, 2002 программного продукта.
2 3
В книге приведено большое число полезных, на наш двойным щелчком на пиктограмме . Для просмотра ка-
взгляд, программ, разработанных автором. Для удобства
кого-либо документа достаточно щелкнуть кнопкой мыши
их использования, а также для повышения эффективности
изучения интегрированного пакета Mathcad было разрабо- на нужном документе , и т.д. и он раскроется в правой
тано электронное учебное пособие, которое может, по жела- части экрана. Большинство документов книги снабжено
нию пользователя, реализоваться вместе с книгой. ссылками Далее. Á Назад, для более удобного перемеще-
Для работы электронного пособия необходимы следующие ния между документами пособия. Все ссылки такого плана
минимальные системные требования: IBM PC совместимый также снабжены всплывающими подсказками для облегче-
персональный компьютер, Pentium 100 или выше, 16 Мб опе- ния работы пользователя с электронной книгой.
ративной памяти (рекомендуется 64 Мб), видеографический В четвертой главе рассмотрены практические примеры с
адаптер, поддерживающий режим 1024 × 768 × 65536 цветов возможностью редактирования в системе Mathcad (это
(hi-color), 75 МБ свободного пространства на жестком диске, можно сделать при условии если у вас на компьютере уста-
CD-ROM Drive 8x speed или выше, мышь, Microsoft Internet новлена система Mathcad). Документы такого рода снабже-
Explorer 4.0 или выше, Mathcad версии 7.0 или выше. Опера- ны следующей пиктограммой .
ционная система: Windows 95, 98, Me, XP, NT, 2000.
Учебное пособие состоит из четырех глав.
Для запуска электронной книги необходимо запустить на
Первая посвящена началам работы с популярным про-
выполнение файл “Учебное пособие”, который расположен
граммным пакетом Mathcad.
в корневом каталоге компакт диска. После запуска пособия
Вторая содержит информацию о некоторых численных
следует обратить внимание на то, что окно браузера рас-
методах, которые наиболее часто применяются в инженер-
крылось на полный экран, если этого не произошло, то не-
ных расчетах.
обходимо сделать это вручную, нажав на кнопку “Развер-
Третья глава даст читателю представление о простом и
нуть”, расположенную в правом верхнем углу браузера.
весьма эффективном методе решения задач многокритери-
При невыполнении этого условия, а так же при разрешении
альной оптимизации. На взгляд автора это очень важно для
экрана менее чем 1024 × 768, работа с электронной книгой
широкого круга специалистов.
будет невозможна.
В четвертой главе дано решение в Mathcad большого
Далее появляется заглавная страница электронной книги,
числа практических задач.
которая содержит ссылки для перехода непосредственно к мате-
риалам учебного пособия. Для перехода необходимо навести
курсор на текст ссылки, который всегда подчеркнут линией, а
так же отмечается присутствием всплывающей подсказки и
щелкнуть клавишей мыши один раз.
Электронная книга состоит из 4-х глав, каждая из кото-
рых включена в отдельный узел, для более быстрого поиска
необходимого материала. Каждый узел раскрывается или
однократным щелчком мыши непосредственно на узле или
4 5
1. ОСНОВЫ РАБОТЫ С MATHCAD
10 11
Create Surface Plot [Ctrl-2] — создание поверхности;
Create Contour Plot [Ctrl-5] — создание карты линий
уровня;
Create 3D Scatter Plot — создание трёхмерной гистограммы;
Create Vector Field Plot — создание векторного поля на
плоскости;
Create 3D Bar Chart — создание изображения совокупно-
сти столбиков в трёхмерном пространстве;
Create Picture** — создание области для импорта рисунка;
X-Y Plot Format … — задание формата двухмерного гра-
фика;
Polar Plot Format … — задание формата полярного гра-
фика;
3D Plot Format … — задание формата трехмерного гра-
фика;
Рис. 1.5
Picture Format**… — задание характеристик области для
импорта рисунка.
Меню Symbolic — символьные вычисления (рис. 1.7):
Evaluate Symbolically [Shift-F9] — вычисление выражения
в символьном виде;
Сomplex Evaluation — преобразование выражения в ком-
плексном виде;
Floating Point Evaluation — численное вычисление выра-
жения;
Simplify — упрощение выделенного выражения;
Expand Expression — разложение по степеням;
Factor Expression — разложение на множители;
Сollect on Subexpression — разложение по подвыраже-
нию;
Polynomical Coefficients — нахождение коэффициентов
выражения, записанного как полином, относительно выде-
ленной переменной;
Differintiate on Variable — дифференцирование выраже-
ния по выделенной переменной;
Integrate on Variable — интегрирование выражения по
Рис. 1.6 выделенной переменной;
12 13
Solve for Variable — определение выделенной перемен-
ной, входящей в выражение;
Substitute for Variable — замена переменной, содержащей-
ся в ClipBoard, вместо какой-либо переменной в выражении
всюду, где она встречается;
Expand to Series — разложение в ряд Тэйлора по выделен-
ной переменной;
Convert to Partial Fraction — разложение на элементар-
ные дроби;
Transpose Matrix — транспонирование матрицы;
Invert Matrix — инвертирование матрицы;
Determinant of Matrix — вычисление определителя мат-
рицы;
Fourier Transform — преобразование Фурье относитель-
но выделенной переменной;
Inverse Fourier Transform — обратное преобразование Рис. 1.7
Фурье относительно выделенной переменной;
Z Transform** — вычисление Z — преобразований;
Inverce Z Transform** — вычисление обратного Z — пре-
образования;
Derivation Format ... — задание расположения результата
относительно искомого выражения;
Derive in place — замещение исходного выражения ре-
зультатом его символьного преобразования.
Меню Window — окно (рис. 1.8):
Cascade — расположение документов друг под другом,
при этом видны их заголовки;
Tile Horizontal/Vertical — горизонтальное/вертикальное
расположение окон без перекрытия;
Arrange Icons — выравнивание пиктограмм документов;
Zoom … — изменение масштаба изображения документа;
Refresh [Ctrl-R] — обновление экрана;
Create … — создание анимационного клипа;
Playback — запуск существующего анимационного клипа;
Hide Palette — снятие панели символов;
Hide Tool Bar — снятие верхней панели инструментов; Рис. 1.8
14 15
Hide Font Bar — снятие панели шрифтов;
Background Color … — изменение цвета фона;
Text Color … — изменение цвета шрифта в текстовых
областях;
Equation Color … — изменение цвета формул;
Highlight Color … — изменение цвета подсвеченных вы-
ражений;
Annotation Color … — изменение цвета аннотаций к
Электронным Книгам.
Меню Books — книги (рис. 1.9):
Open Book … — открытие Электронной Книги;
History … — перечисление всех просмотренных разделов;
Search Book … — поиск по всем разделам Электронной
книги;
Annotate Book — сохранение аннотированной копии Рис. 1.9
Электронной Книги;
Annotate Options 4 — опции аннотирования...
Меню Help — Помощь (рис. 1.10):
Index ... [F1] — демонстрация всех тем Help;
Keyboard ... — демонстрация тем по функциональным
клавишам;
Using Help ... — информация о том, как пользоваться
Help.
Quick Sheets ... — быстрые подсказки;
Technical Support ... — техническая поддержка;
About Mathcad ... — информация о версии Mathcad.
Вернёмся к главному меню (см. рис. 1.1).
Под строкой меню находится полоса кнопок, раскрыва-
ющая палитру символов : общие арифметические операто-
ры; знаки отношения; различные двух — и трёхмерные гра-
фики; матричные и векторные операции; производные, ин-
тегралы, пределы, ряды и произведения; программные
структуры; греческие буквы.
Далее располагается панель инструментов, содержащая
кнопки, которые позволяют с помощью мыши создавать
документы эффективнее, чем с помощью клавиатуры. Рис. 1.10
16 17
Догадаться о назначении этих кнопок сравнительно лег- рументов или в Save As … меню File. Далее требуется набрать
ко. Например, щелчок мышью по кнопке, на которой изоб- имя документа, которое после щелчка по кнопке “Ok”, появля-
ражён принтер, инициализирует функцию печати, а щелчок ется в строке заголовка вместо [Untitled:1]. В нашем случае
по кнопке с изображением дискеты, инициализирует сохра- это “Mydoc1.mcd”. В будущем для открытия этого документа
нение документа... требуется щелкнуть на Open … меню File. Далее выбрать из
Под панелью инструментов располагается панель шрифтов. списка документов “Mydoc1.mcd”, пометить его щелчком, по-
Она содержит шаблоны выбора и кнопки, используемые для за- сле чего “Ok”. Теперь можно вновь работать с этим докумен-
дания характеристик шрифтов в уравнениях и тексте. том: продолжать его, вносить изменения и т.д.
1.2. Создание простейших документов Если Вы хотите начать работу с новым документом, то
нажмите New из меню File. Перед Вами откроется новый
В строке заголовка основного меню (см. рис. 1.1) имеется
документ [Untitled:2].
запись [Untitled:1] — “без имени: 1”. Это открыт новый
Mathcad отображает формулы в точности в том виде,
документ, которому пока не присвоено имя.
как их печатают в книгах. Система сама подбирает разме-
После щелчка в любом месте этого документа, имеется в виду
ры для дробных черт, скобок, математических символов,
большое белое поле ввода, там появляется небольшой крестик.
чтобы они выглядели так, как их обычно пишут в физико-
Вся программа, введенная пользователем, будет размещена в
математической, технической литературе.
рабочем документе, начиная с места расположения крестика.
После ввода оператора, например “+”, “–” и т.п.,
Напечатаем:
Mathcad показывает небольшой прямоугольник — поле вво-
a:10 — здесь переменной “a” присваивается значение 10.
да, которое содержит место для ввода выражений, чисел.
Вы видите, что в документе набралось:
Выражения на экране можно редактировать, устанавливая
a:=10. в нужном месте указатель и печатая новые символы, циф-
Знак равенства после набора “:” появляется автомати- ры или операторы, многие из которых могут быть набраны
чески. Далее набираем: с помощью палитры символов, упомянутой ранее.
b:5 — переменной “b” присваивается значение 5.
c:a+b — переменной “c” присваивается значение “a+b”. 1.3. Ввод текста в документ
c= — узнаем чему равно “c”. Для того, чтобы ввести текст, надо щелкнуть по Create
На экране появляется: Тext Region или Create Text Paragraph из меню Text.
c=15. Mathcad заменит курсор-крестик на вертикальную линию,
Можно было бы ранее набрать: называемую маркером ввода. Символы вводятся за ним.
Маркер ввода окружен рамкой, обозначающей поле ввода,
a+b=
которое автоматически расширяется по мере необходимос-
На экране появляется:
ти. Для ввода новой строки следует нажать клавишу [Enter].
a+b=15.
Представим себе, что пользователь решил сохранить 1.4. Итерационные вычисления
этот расчет на диске в файле “Mydoc1”. В Mathcad есть специальный тип переменных — дискрет-
Для этого необходимо щелкнуть на “дискете” в панели инст- ные аргументы. Такие переменные принимают целые значе-
18 19
ния. Mathcad вычисляет заданное выражение столько раз, необходимо вычислить y при различных x, то можно просто
сколько значений содержит дискретный аргумент. набрать y(0)= или y(10)= и т.п.
Рассмотрим пример. Пусть пользователю необходимо Например,
вычислить функцию y=10+x2 при аргументе, принимающем y(0)=0.
значения 0, 1, … ,10. Это задание выполняется так: В Mathcad имеется весьма большое число встроенных
j:0;10 — задание дискретного аргумента. функций. Эти функции можно просто набирать с клавиату-
y[j:10+j^2 — вычисление функции при фиксированном ры, но можно воспользоваться меню. При этом необходимо
аргументе. щелкнуть по Math, далее по Choose Function … .
В результате набора “;” на экране появляется “..”. Для Перед пользователем появляется диалоговое окно с прокру-
ввода нижнего индекса используется квадратная скобка — чивающимся списком названий функций. Теперь следует дваж-
“[”. Если набрать: ды щелкнуть по имени функции, которую требуется вставить.
y= ,
то перед пользователем появится вектор значений y — вер-
1.6. Построение формул и редактирование
тикальная таблица значений y с одним столбцом. документа
Редактор формул Mathсad строит математические выра-
1.5. Задание функций жения, собирая отдельные его части, используя правила
Использование функций при разработке документов по- старшинства операций и некоторые другие правила, кото-
зволяет существенно упростить труд пользователя, сделать рые упрощают ввод знаменателей, показателей степени и
программу более наглядной. Рассмотрим такой пример. выражений в радикалах. Для этого в Mathcad имеется осо-
Пусть в формулу, по которой придется производить повто- бый маркер ввода. Рассмотрим, для примера, как набирает-
ряющиеся вычисления входит одно и тоже выражение: ся выражение:
5
x 2 + 2 ⋅ sin x + + ( x 2 + 2 ⋅ sin x ) 3 . 2 ⋅ z − 3 ⋅ b3
[x 2
+ 2 ⋅ sin x ]
2 (1.5.1)
.
a + z3 − 8
Этим выражением в данном случае является:
Набираем:
x 2 + 2 ⋅ sin x . 2 ⋅ z − 3 ⋅ b^ 3 .
В подобных ситуациях пользователь может задать функ- Пока мы печатали символы подряд, согласно правилам
цию: старшинства операций. Теперь нам надо имеющееся выраже-
y( x ) := x 2 + 2 ⋅ sin x . ние сделать числителем. Для этого надо использовать выделя-
ющую рамку. Чтобы она появилась, следует нажать клавишу
Теперь в Mathcad (1.5.1) примет вид:
[-](пробел). Последующие нажатия на [-] увеличивают рамку,
5 и она охватит целиком все необходимое пространство.
y( x ) + + ( y( x ))3 .
( y( x )) 2
Далее нажимаем клавишу [/] для появления на экране
Следует помнить, что определение функции должно пред- дробной черты. Теперь печатаем:
шествовать ее использованию. Теперь, если пользователю
a + z^ 3 .
20 21
Нажимаем несколько раз [-] пока рамка не охватит z3, 1.7. Введение в графику Mathcad
после чего набираем: Построения графиков функции y(x) или поверхностей
-8. f(x,y) проводятся с помощью соответствующих меню и ба-
Теперь все выражение набрано. зируются на умении задавать функции и дискретные аргу-
Основные потребности в редактировании формул можно менты. Эти вопросы уже рассматривались в разделах 1.4 и
удовлетворить, если уметь изменять буквы и числа, а так- 1.5. Примеры построения графиков приведены в докумен-
же изменять или вставлять операторы. тах №№ 1.1* и 1.2.
Для замены буквы или числа надо щелкнуть мышью в
1.8. Некоторые возможности символьной
месте, где один из этих элементов формулы располагается.
Теперь маркер ввода оказывается в нужном месте. При математики Mathcad
необходимости маркер ввода можно перемещать с помощью При использовании символьной математики, результатом
клавиш [®], [¬]. При наборе букв и чисел они будут распо- вычисления выражения является другое выражение. В до-
лагаться в том месте, где и маркер ввода. Нажатие клави- кументе № 1.3 приведены примеры символьных вычис-
ши [BkSp] удаляет один символ слева от маркера. лений. ∞
1
Чтобы научиться заменять операторы, определим наивысший Для символьного вычисления выражения ∑ n 2 следует
n =1
оператор в выражении. Для примера рассмотрим формулу: обвести выражение и в меню Symbolic щелкнуть по
( a + b )⋅( c + d ) . Evaluate, а после этого по Evaluate Symbolically. В резуль-
π2
Здесь наивысшим является оператор умножения, так как ис- тате получается . Для записи этого результата в виде
6
пользует все компоненты в выражении и в нем нельзя изменить числа с плавающей запятой следует щелкнуть по Floating
π2
что-нибудь, не изменив результат операции умножения. Point Evaluation, предварительно поместив в рамку.
6
При замене оператора главным является расположение 3
(a + b)
Для символьного упрощения выражения
выделяющей рамки таким образом, чтобы нужный опера- a 2 + 2 ab + b 2
тор оказался наивысшим в выделенном выражении. следует обвести выражение и щелкнуть по Simplify. В ре-
В качестве примера изменим на «плюс» знак «минус» в зультате получается a + b .
числителе ранее рассмотренного выражения: Для разложения выражения ( a + b)( a + b) по степеням сле-
2 ⋅ z − 3 ⋅ b3 дует, обведя его, щелкнуть по Expand Expression. В резуль-
. тате получим a 2 + 2ab + b 2 .
a + z3 − 8 Для разложения на множители используетcя пункт меню
Установим выделяющую рамку на числителе: Symbolic — Factor Expression.
Для дифференцирования выражения по переменной сле-
2 ⋅ z − 3 ⋅ b3 дует, пометив ее, щелкнуть по пункту Differentiate on
.
a + z3 − 8
Теперь нажимаем клавишу [Del], удаляя, при этом, наи- * Mathcad — документы (Mathcad-программы), приведенные в тексте
высший оператор. Остается нажать на клавишу [+]. Знак книги, выделяются рамкой и снабжаются следующими обозначениями:
«минус» в числителе при этом изменяется на «плюс». ♦ — начало документа; — продолжение документа; — конец документа.
♦
22 23
Variable. Аналогично поступают при интегрировании выра-
? Документ-N1.1 Построение графика функции Y=Y(X)
жений — пункт меню Integrate on Variable. Пример a)
Для решения уравнения относительно переменной следу-
Для построения графика следует:
ет записать его, используя символьный знак равенства 2
[Ctrl]+[=]. Далее, пометив переменную, необходимо щелк- y( x) x
3
-задать соответствующую функцию;
нуть на Solve on Variable.
i 1 .. 100 -определить дискретную переменную X , принимающую
В примере: sin( x ) = cos(2 x ) xi 0.01 .i значения аргумента в желаемом диапазоне;
выми словами. После того, как набрано Find(x,y), следует 0 -дважды щёлкнув на графи-
0 0.25 0.5 0.75 1 ке, задать требуемый формат.
нажать [Ctrl]+[⋅]. x
i
of Matrix. 1.1
0 1.57 3.14 4.71 6.28
x
i
¦
24 25
Документ-N1.3 Введение в символьную математику
1) Символьные преобразования
∞
1
1. 2
Выражение- 2 результат- π числовой вид- 1.6449341
n=1 n 6
100000
1
Числовая проверка- = 1.645
2
n=1 n
2) Упрощение выражения
3
(a b)
Выражение- результат- a b
2 2
a 2 .a .b b
3) Разложение по степеням
2 2
Выражение- (a b ) .( a b) результат- a 2 .a .b b
4) Разложение на множители
2 2 2
Выражение- a 2 .a . b b результат- (a b)
5) Дифференцирование по переменной
6) Интегрирование по переменной
1.
π
6
результат-
1.
π
2
26 27
1.9. Программирование
Документ-N1.4 Символьные действия над матрицами Возможность программирования в Mathcad стала предо-
Задание матрицы ставляться пользователю, начиная лишь с шестой версии.
Как и любое выражение в Mathcad, программа возвра-
a b 0
b c 5
щает некоторый результат. Главное различие между про-
3 0 d граммой и выражением в том, что программа может ис-
Для транспонирования: выделяем матрицу; входим в меню
пользовать практически любое число операторов, а выра-
Symbolics; щёлкаем по Matrix; щёлкаем по Transpose; в резу- жение содержит лишь один. Таким образом, программа
льтате получаем
может рассматриваться, как составное выражение.
a b 3 Рассмотрим простую программу, которая находит наи-
b c 0 меньшее и наибольшее расстояния из расстояний от начала
0 5 d отсчета до каждой из трех точек A, B и C. Координаты этих
Осуществим обращение полученной матрицы. Для этого вы-
точек равны, соответственно:
деляем матрицу, входим в меню Symbolics; щёлкаем по Matrix;
щёлкаем по Invert; в результате получаем X A = A0 ; YA = A1 ; Z A = A2 ;
YB = B0 ; YB = B1 ; Z B = B2 ;
d ( b .d 15 ) c
c. 3.
a .c . d
2
b .d 15 .b a .c .d
2
b .d 15 .b a . c .d
2
b .d 15 .b X C = C0 ; YC = C1 ; Z C = C2 .
d d b
b.
2
a.
2
3.
2
Текст программы имеет вид:
a .c .d b .d 15 .b a .c . d b .d 15 .b a .c . d b .d 15 .b
2
b a a .c b
5. 5.
a .c . d b d
2.
15 .b a . c .d
2.
b d 15 .b a .c . d b d
2.
15 .b r0 ← A02 + A12 + A22
r1 ← B02 + B12 + B22
R(A, B, C ) := r2 ← C02 + C12 + C22
Для нахождения определителя: выделяем матрицу , входим
в меню Symbolics; щёлкаем по Matrix; щёлкаем по Determi-
min (r )
nant; в результате получаем
a . c .d
2
b .d 15 .b max(r ).
Того же эффекта можно добиться, выделив выражение
определителя матрицы, и щелкнув по Evaluate в меню Sy- Здесь на вход программы подается три вектора A, B, C,
mbolics
элементами которых являются координаты трех точек.
a b 3
b c 0
Если теперь написать
0 5 d
R (A, B, C) = ,
в результате получаем 2
то мы получим вектор, первым элементом которого являет-
a .c .d b .d 15 .b
ся наименьшее, вторым — наибольшее из искомых рассто-
яний. Эта программа и примеры ее использования приведе-
ны в документе (док. 1.5).
28 29
Посмотрев на программу, легко догадаться, что r0, r1, r2 —
расстояния от начала отсчета до точек A, B и C, соответствен-
Документ N 1.5 Написание простейшей программы
но. Аналогом уже знакомого пользователю знака присваивания
Текст программы: “:=”, в программе является — “ ← ”. В четвертой строке запи-
2 2 2
сан вектор, содержащий два элемента: min(r) и max(r).
R( A , B , C ) r0 A0 A1 A2
Функции min( ) и max( ) — стандартные функции
r1 B0
2
B1
2
B2
2
Mathcad. Легко догадаться, что функция min( ) использует
2 2 2
в качестве аргумента вектор, а возвращает значение его
r2 C0 C1 C2
наименьшего элемента. Функция max( ) возвращает значе-
min ( r )
max ( r )
ние наибольшего элемента вектора, использованного в ка-
честве аргумента (см. док. 1.5). В Mathcad-программе мож-
Исходные данные:
но, аналогично min( ), max( ) использовать любые встроен-
2 1 3 ные функции, а также написанные пользователем.
A 1 B 2 C 2
3 7 3
Рассмотрим, как нужно отделять друг от друга операто-
ры и как применять локальный оператор присваивания
Использование пограммы:
“ ← ” при наборе программы.
3.742
R( A , B , C ) = В начале откроем панель программирования. Для этого
7.348
щелкнем по кнопке “программирование” в панели управле-
Другой вариант текста программы:
ния. Теперь начинаем создавать программу (пользовательс-
кую Mathcad-функцию): R (A, B, C).
2
2
Набираем
R1 ( A , B , C ) r0 A
i= 0
i
R (A, B, C):= .
2 Теперь нажимаем на панели программирования кнопку
r1 B
i
2
“Add Line”. Появляется вертикальный столбец с двумя полями
i= 0 ввода для занесения операторов, из которых будет состоять про-
2
2
грамма. Таких полей можно добавить, с помощью щелчка по
r2 Ci
“Add Line”, столько, сколько требуется пользователю... Теперь
i= 0
min ( r ) переходим в поле ввода с помощью мышки или нажатием на кла-
max ( r ) вишу [Tab]. Набираем r0. Нажимаем кнопку “ ← ” на панели про-
граммирования. Вводим справа от “ ← ” A02 + A12 + A22 . После
Использование пограммы:
этого с помощью мышки переходим ко второй строке. Набира-
R1 ( A , B , C ) =
3.742 ем ее аналогично первой. Добавляем поле ввода, щелкнув по
7.348
“Add Line”. Так же пишем третью строку. Щелкнув по
“Add Line”, создаем поле для четвертой строки. Далее выбира-
ем матрицы из меню “математика” или нажимаем [Ctrl] M. По-
является диалоговое окно (рис. 1.11)
30 31
Insert Matrix В диалоговом окне вво-
OK
дим 2 строки (Rows) и Документ N 1.6
Rows 2
один столбец (Columns).
Текст программы:
Columns 1 Insert Щелкаем по “Insert”. Те-
перь в программе, в чет-
Delete y( x, a , b ) 0 if x b
вертой строке, появляется 0 if x a b
форма для вектора. В поле
Cansel sin π .x b otherwise
ввода верхнего элемента a
вводим min(r), а в нижнее
max(r). Теперь программа Вместо "otherwise" можно использовать
Рис. 1.11
готова к использованию. соответствующее логическое выражение
Как мы убедились (см. док. 1.5), в качестве результата
y1( x, a , b ) 0 if x b
действия программы, на экран может выдаваться вектор.
0 if x a b
Программа также может возвращать число или матрицу. x b
sin π . if b < x< a b
Все зависит от того, что задал пользователь в качестве a
вывода.
При написании программы, при необходимости, можно Построение графиков
Построение графиков с использованием
с использованием
применять условные операторы. Познакомимся на примере функций у(x, y(x,a,b)
функций a, b) y1(x, a, b)
y1(x,a,b)
с тем, как это можно сделать. Пусть требуется задать ку- 1
1
сочную функцию:
πx
y ( x) = sin + b при b≤ x≤a+b
a
0 при x > a + b. 0.6
y( x , 1 , 2 )
y (x, a, b ):= .
После этого нажимаем “Add Line”. Переходим в первое 0 0
4 2 0 2 4
поле ввода. Щелкаем по кнопке “if” на панели программи- 5 x 5
довольно простые программы с их использованием. В результате действия первой В результате действия второй
программы находим число сла- программы находим вектор,
Пример. Задано целое число a. Будем последовательно гаемых, при котором сумма бо- элементами которого являют-
прибавлять к a слагаемые, причем каждое последующее льше 10^5 ся искомые суммы. Программы
слагаемое на целое положительное число h больше преды- отличаются только выводом
(смотри последнюю строку)
дущего. Первое слагаемое равняется d ( a << 10 5 ; h << 10 5 ).
1) Определить число слагаемых n, при котором сумма Sn
s ( 30, 200, 5 ) = 502 S s1 ( 30, 200, 5 )
первый раз станет больше 105.
2) Построить график зависимости S=S(n).
Построение графика:
Решение данного примера выполнено с помощью цикла
“While” и приведено в документе (док. 1.7). n 0 .. 501
Рассмотрим программы этого документа. Слева, как и
ранее, стоят функции S (a, h, d) и S1 (a, h, d). Здесь a, h, 1 10
5
d — аргументы функции.
В первом поле ввода локальной целочисленной перемен- 8 10
4
В дальнейшем, если в каком-либо документе нам понадо- Результат действия программы s(n)
бится массив q, то набрав
7.797 9.968
q:= READPRN (“MyFile”), s( 2) =
6.115 2.662
38 39
Разделим отрезок [a; b] точками a = x0 , x1 , x2 , …, xn = b
2. ФУНКЦИИ MATHCAD, ЧАСТО на n равных частей длины
ИСПОЛЬЗУЮЩИХСЯ В РАСЧЕТАХ
b−a
h= .
2.1. Понятие о численных методах n
Не всегда в качестве результата решения задачи удается Обозначим теперь y 0 , y1 , y 2 , …, y n −1 , y n значения фун-
получить удобную приближенную или точную формулу. В кции f (x ) в точках x0 , x1 , x2 , …, xn , т.е. y 0 = f (x0 ),
этом случае пытаются найти численный ответ. С этой це- y1 = f (x1 ), …, y n = f (xn ) .
лью разработаны эффективные численные методы, многие [ ]
Заменим кривую f (x ) на a; b вписанной ломаной (рис. 2.2).
из которых широко используются в математическом пакете
Mathcad.
Общее, наглядное представление о численном решении
задачи можно получить на примере нахождения определен-
ного интеграла.
Пусть на отрезке [a; b]задана непрерывная функция
y = f (x ). Требуется вычислить определенный интеграл:
b
Ф = ∫ f (x )dx .
a
1 for j ∈ 1 .. n
Ф = ∫ x dx .
2 xj h xj 1
0 n
f x0 f xn
h. f xj
В Mathcad имеется встроенная функция, позволяющая 2
j= 1
вычислять определенный интеграл. Для того, чтобы выз- В качестве примера найдем интеграл функции x^2 на интервале от
вать эту функцию следует щелкнуть по кнопке, открываю- a=0.1 до b=0.9
1. 3 1. 3
щей палитру производных, интегралов, пределов… . После F( a , b )
3
b
3
a - точное решение примера;
точности. n
2.2. Интегрирование обыкновенных
дифференциальных уравнений в MATHCAD
В Mathcad встроен мощный аппарат для интегрирования
С дифференциальными уравнениями мы сталкиваемся на обыкновенных дифференциальных уравнений и их систем.
каждом шагу, обучаясь в учебных заведениях, в инженер- Рассмотрим, по традиции на простых примерах, некото-
ной и научной работе. рые, наиболее употребляемые функции из этого аппарата.
42 43
Пример. Проинтегрировать обыкновенное дифференци-
dy
альное уравнение − 0,3 y + 5t ⋅ e −8t + 5 sin 3t = 0 , на интерва- Документ-N 2.2 Интегрирование обыкновенных
dt дифференциальных уравнений
ле t ∈ [0;10] при условии y (0 ) = 2,5 .
Проинтегрировать обыкновенное дифференциальное
Решение данного примера приведено в документе уравнение y'-0.3y+5te^(-8t)+5sin(3t)=0 на интервале
изменения t от 0 до 10 при yo =2.5
(док. 2.2). Для интегрирования дифференциального уравне-
ния используется функция rkfixed( ), реализующая наиболее Задаём начальные условия y0 2.5
распространенный метод Рунге-Кутты четвертого порядка. Задаём правую часть дифференциального уравнения
Приемы работы с этой функцией подробно рассматривают-
ся в том же документе. Здесь же приводятся примеры реше- D( t , y ) 0.3 .y 5 . t .e
8 .t
5 .sin ( 3 .t )
( )
xr h, n, z , p, D , как и rkfixed( ), реализующая метод Рун-
столбца и сто строк. В первом столбце содержатся точки
переменной t, а во втором искомой функции y.
ге-Кутты четвертого порядка. Список ее аргументов: h —
шаг интегрирования; n — число шагов; z — вектор началь- Строим график функции y=y(t).
ных условий; p — вектор параметров; D — вектор правых j 0 .. 99
частей дифференциальных уравнений. Принципиальным
различием между rkfixed( ) и xr( ) является вектор парамет- 15
Mathcad-функции интерполяции определяют кривую, Проведём эксперимент. Будем брать различное число
точно проходящую через заданные точки. При этом точки точек, в которых ищется решение. Сравним соответствующие графики.
ция) или отрезками кубического полинома (кубическая
сплайн-интерполяция).
44 45
Z1 rkfixed ( y , 0 , 10 , 10 , D ) j 0 .. 9 Z2 rkfixed ( y , 0 , 10 , 30 , D ) k 0 .. 29 Используем для решения этой же задачи функцию
Bulstoer(y,t o ,tk,n,D), имеющую тот же список пара-
15 20
метров. Она может быть использована в тех слу-
10 чаях, когда решение является гладкой функцией.
10
Bulstoer( ) несколько точнее, чем rkfixed( ). Срав-
Z1 Z2
j,1 5 k,1 ним результаты, полученные с помощью этих фун-
0
0 кций.
5 10 y1
0 5 10 0 5 10 0
Z1 Z2 y D( t , y )
j,0 k,0 0.5 0.9.y 1 4 .y 0 3 .sin ( 2 .t ) ZB Bulstoer ( y , 0 , 10, 30, D ) i 0 .. 29
Z3 rkfixed ( y , 0 , 10 , 70 , D ) l 0 .. 69 Z4 rkfixed ( y , 0 , 10 , 300 , D ) m 0 .. 299
4
20 20
10 10
Z3 Z4 2
l,1 m ,1
0 0
Z
i,2
10 10 0
0 5 10 0 5 10 ZB
Z3 Z4 i,2
l,0 m ,0
0 y1
y D( t , y )
0.5 0.9 .y 1 4 .y 0 3 .sin ( 2 .t ) Z rkfixed ( y , 0 , 10 , 30 , D ) i 0 .. 29
2
4 4
1
2 2
Z
i,1
Z 0 Z 0
i,2 i,2 0
ZB
i,1
2 2
1
4 4
0 5 10 0 5 10
Z Z
i,0 i,0
2
0 2 4 6 8 10
Z
i,0
46 47
Линейная интерполяция выполняется при помощи функ-
ции linterp(X, Y, x). Аргументы X, Y — векторы исходных
Документ N2.3 Программа, реализующая метод Рунге-Кутты
данных. В X содержатся вещественные значения, отсорти-
xr(h,n,z,p,D)
h - шаг интегрирования; n - число шагов; рованные по возрастанию... Пример линейной интерполяции
Z - zвектор
вектор
- начальных условий; приведен в документе (док. 2.4). В этом же документе при-
уравнений; веден пример кубической сплайн-интерполяции. Чтобы
p - вектор параметров; провести кубический сплайн через набор точек необходимо
D - вектор правых частей дифференциальны
D создать векторы X, Y, содержащие координаты этих точек,
уравнений. затем вычислить вектор VS, элементами которого являются
вторые производные интерполяционной кривой в рассмат-
риваемых точках. Вектор VS определяют с помощью одной
xr ( h , n , z , p , D ) x z
из трех встроенных Mathcad-функций: cspline(X, Y);
y z pspline(X, Y); lspline(X, Y)... После определения вектора VS
t 0 находят интерполирующую кривую с помощью функции
for j ∈ 1 .. n interp(X, Y, x) (см. док. 2.4). Отметим, что слово сплайн при-
шло из английского языка. Оно переводится как гибкая
k1 h. D( x , t , p )
линейка. Процесс интерполяции с помощью сплайна можно
k1 h представить следующим образом. В узлах интерполяции,
k2 h. D x ,t ,p
2 2 заданных, векторами X, Y, зажимают гибкую линейку. Ли-
k2 h ния, образованная между крайними точками и изобразит
k3 h. D x ,t ,p
2 2 интерполирующую кривую.
k4 h. D( x k3 , t h, p) 2.4. Регрессия
k1 2 . k2 2 . k3 k4
x x Функции регрессии создают кривую или поверхность,
6
которые наилучшим образом аппроксимируют исходные
t t h данные. В отличии от функций интерполяции, функции рег-
y augment( y , x ) рессии не требуют, чтобы аппроксимирующая кривая или
for i ∈ 0 .. n поверхность проходили через точки исходных данных.
Линейная регрессия. Как и раньше полагаем, что коорди-
ti h. i
наты исходных точек — являются элементами векторов X
rez
T
stack t , y
и Y. Аппроксимирующая прямая строится с помощью фун-
кций slope(X, Y) и intercept(X, Y)
y (x ) = slope (X , Y ) ⋅ x + int ercept (X , Y ).
Пример, иллюстрирующий линейную регрессию, приве-
ден в документе (док. 2.5).
48 49
Документ-N 2.5 Примеры решения задач регрессии
Документ-N 2.4 Примеры решения задач интерполяции
Линейная регрессия
Линейная интерполяция
Координаты исходных точек:
Координаты исходных точек: X (0 2 3 4 5 6 ) Y ( 8 1.9 0.85 4 6.72 9.5 ) i 0 .. 50
T T
X X Y Y Xi i Yi 5 .i rnd ( 30 ) 10
20 300
0 2 4 6
X ,x
i
Кубическая интерполяция
250
Координаты исходных точек: X (0 1 2 3 4 5 6 7 )
T T Y ( 2 3.3 6.05 11 19 29 38 55 )
X X Y Y
Осуществляем VS cspline ( X , Y) 200
интерполяцию:
y ( x) interp ( VS , X , Y, x)
На графике показаны заданные точки YYi =Y(X i ) Y
i
и результирующая линия y=y(x) y X 150
i
i 0 .. 7
60 100
40
Y
i
50
y( x )
20
0 0
0 2 4 6 0 10 20 30 40 50
X ,x X
i i
50 51
Полиноминальная регрессия:
Полиноминальная регрессия. При полиноминальной рег-
рессии можно использовать Mathcad-функции: loess(X, Y, S);
Координаты исходных точек:
interp(VS, X, Y, x). С помощью функции loess(X, Y, S) вы-
i 0 .. 50 числяют вектор VS=loess(X, Y, S), требуемый функцией
Xi i
interp(VS, X, Y, x), с которой читатель уже встречался в
разделе, посвященном вопросам интерполяции. Функция
3
Yi
( i)
rnd ( 100) 10 loess(X, Y, S), кроме векторов X, Y, содержащих координа-
300
ты аппроксимируемых точек, требует в качестве третьего
Локальное приближение: параметра константу S. Ее рекомендуемое значение —
VS loess ( X , Y, 0.75) S=0,75... Аппроксимирующая кривая определяется следую-
Результат полиноминальной регрессии: щим образом:
y ( x) interp ( VS, X , Y, x) y (x ) = interp(VS , X , Y , x ) .
На графике показаны заданные точки iY=Y(Xi ) Пример, иллюстрирующий использование функций полино-
и результирующая линия y=y(x) минальной регрессии, содержится в документе (см. док. 2.5).
500 2.5. Алгоритм решения систем из n линейных
однородных алгебраических уравнений, содержащих
n неизвестных
400 Рассмотрим систему n линейных однородных, алгебраи-
ческих уравнений:
300
a11 x1 + a12 x2 + ... + a1n xn = 0;
Y
i a 21 x1 + a 22 x2 + ... + a2 n xn = 0;
y X
i
... ... ... ... ( 2.1)
an1 x1 + an 2 x2 + ... + ann xn = 0.
200
Матрицу коэффициентов
100
52 53
будем называть матрицей системы (2.1). eigenvec(A, λ) — возвращает собственный вектор, соот-
Система (2.1) всегда имеет тривиальное решение: ветствующий собственному значению λ матрицы A.
x1 = x2 = ... = xn = 0. Нам, используя эти функции, необходимо определить собст-
венные числа матрицы A. Если среди них нет нулевого, то сле-
Для того, чтобы она имела нетривиальное решение, как
довательно система имеет лишь тривиальное решение.
известно, необходимо и достаточно, чтобы определитель
Если же собственное значение, равное нулю, имеется, то мы
матрицы системы равнялся нулю, т.е.
определяем соответствующий ему собственный вектор, являю-
A = 0. (2.2) щийся одним из решений однородной системы (2.1). Отметим,
Это условие равносильно следующему что если все элементы этого вектора умножить на любое число,
то новый вектор также будет решением системы (2.1).
a11 − λ a12 ... a1n Данный алгоритм реализован в виде Mathcad-функции
ODNOR(A) (док. 2.6), хранящейся в файле ODNOR.mcd. Аргу-
a21 a22 − λ ... a2 n
=0 ментом данной функции является матрица системы. ODNOR
... ... ... ...
(A) возвращает вектор одного из решений системы уравне-
an1 an 2 ... a nn −λ ний (2.1), а если условие (2.2) не выполняется, то функция воз-
вращает тривиальное решение. Примеры использования функ-
при λ = 0 .
ции ODNOR ( ) приведены в документе (док.2.7).
Число λ называется собственным числом матрицы А.
Матрице А соответствует n различных λ. Каждому из этих Решение систем линейных неоднородных
собственных чисел λi (i = 1,2,..., n ) соответствует свой вектор алгебраических уравнений
решений уравнения (2.1) Для численного решения систем линейных неоднородных
алгебраических уравнений в Mathcad имеются больше воз-
x1 (λi ) можности, которые иллюстрируются документом (док. 2.8).
(λ i ) В этом же документе приведена авторская Mathcad-функ-
x
x = 2
(λ i )
ция KRAMER(A, C) (здесь: A — матрица системы; C —
... , вектор правых частей), а также встроенные Mathcad-фун-
(λ i )
x n кии и на простых примерах показан принцип их действия.
называемый собственным вектором. Для нахождения соб- 2.6. Решение одного уравнения с одним неизвестным
ственных чисел и собственных векторов в Mathcad имеют- и нахождение корней полинома
ся эффективные функции: В Mathcad имеется встроенная функция root( ). Рассмот-
eigenvals(A) — возвращает вектор, содержащий соб- рим ее применение на простейшем примере. Пусть требует-
ственные значения матрицы A; ся найти решение простейшего уравнения
eigenvecs(A) — возвращает матрицу, j-й столбец кото-
2x − 5 = 0 .
рой, является собственным вектором, соответствующим
Очевидно, что
j-му собственному значению, полученному в результате
действия eigenvals(A); x = 2,5 .
54 55
Документ-N 2.6 Решение системы однородных линейных
алгебраических уравнений Документ-N 2.7 Примеры решения систем однородных
линейных алгебраических уравнений
Функция ODNOR в качестве аргумента требует
матрицу NxN системы N линейных однородных Решить систему однородных линейных алгебраических
алгебраических уравнений, а возвращает вектор уравнений
одного из решений. Если определитель матрицы 22.5x-5z=0;
системы не равен нулю, то функция возвращает 4x+6y-1z=0;
вектор, элементы которого равны нулю (тривиа- 9x-2z=0.
льное решение)
Матрица системы
0.217
Этот же результат мы бы получили, используя root( ). Функ- ODNOR ( A ) = 0.018
ция ищет пересечение линии, заданной уравнением y = 2 x − 5 , с 0.976
осью абсцисс. Аргументами root( ) являются функция y (x) и пе- Решить систему однородных линейных алгебраических
ременная, значение, которой ищется. Перед использованием root( уравнений
22.5x-5z=0;
) требуется задать начальное приближение x. Данная задача и 4x+6y-5z=0;
3x+ 9y-2z=0.
ряд других решены в документе (док. 2.9).
Для нахождения корней полинома вида Матрица системы
22.5 0 5
n
∑a x
i =0
i
i A 4
3
6
9
5
2
Решение системы
можно эффективно использовать функцию polyroots(V). В каче- 0
ODNOR ( A ) = 0
стве аргумента она использует вектор коэффициентов полинома 0
V = 1 A = 652.5
... ,
an
а возвращает все вещественные и комплексные корни.
56 57
Документ-N2.8 Решение систем алгебраических Документ-N 2.9 Примеры решения одного уравнения
неоднородных уравнений и нахождения корней полинома
Функция KRAMER(A,C) возвращает вектор решений системы Найти решение уравнения 2x-5=0
линейных алгебраических уравнений; A - матрица системы;
C - вектор правых частей. Зададим начальное приближение
KRAMER ( A , C ) n rows ( C )
D A x 0
END if ( ORIGIN 0,n 1,n ) и используем функцию root( )
for i ∈ ORIGIN .. END
B A root ( 2 . x 5 , x ) = 2.5
B< >
i
C Иная форма записи
B
ki y( x ) 2.x 5
D
k
root ( y ( x ) , x ) = 2.5
В качестве примера решим систему уравнений:
8x-3y+2z=9; 3y+5x=-7; -x+9y+7z=0. Найти решение уравнения 2x-sin(0.5x)+3=0
Запишем матрицу системы: Запишем вектор правых частей: y( x ) 2.x sin ( 0.5 . x ) 3
x 0
8 3 2 9
A 0 3 5 C 7 root ( y ( x ) , x ) = 1.908
1 9 7 0 Для нахождения корней полинома требуется сформировать
Решение с помощью функции KRAMER(A,C): X KRAMER ( A , C ) вектор коэффициентов полинома V. После этого можно ис-
2.86
пользовать функцию polyroots(V). Функция возвращает иско-
X = 2.637 - вектор решений. мые вещественные и комплексные корни.
2.982 Найти корни полинома 3x^3-5x^2+9=0
2.86
Решение с помощью функции lsolve(A,C): lsolve ( A , C ) = 2.637 Сформируем вектор коэффициентов полинома
2.982
9
2.86
0
1.
Решение матричным методом: A C = 2.637 V
5
2.982
3
Решение с помощью функции Find():
x 0 y 0 z 0 -начальные значения Найдём корни полинома
Given
8 .x 3 .y 2 .z 9 3 .y 5 .z 7 x 9 .y 7 .z 0 2.86 1.051
Find ( x , y , z ) = 2.637 polyroots ( V ) = 1.359 1.005i
2.982
1.359 + 1.005i
58 59
Учитывая, что α 2 = 2π − α 1 , объемы конусов определим
3. ВВЕДЕНИЕ В МЕТОДИКУ ВЫБОРА по формулам:
ОПТИМАЛЬНЫХ РЕШЕНИЙ
1 R3 2 α2
Крупный ученый-механик академик И.И. Артоболевский V1 = ⋅ ⋅ α1 ⋅ 1 − 1 2 ;
3 4π 4π
считал, что будущего инженера необходимо учить методам
выбора лучшего из множества возможных решений техни- 1 R3 (2π − α 1 )
2
⋅ (2π − α 1 ) ⋅ 1 −
2
V2 = ⋅ .
ческих, экономических, управленческих и т.п. задач. 3 4π 4π 2
В этом разделе даются основные понятия проблемы мно- Теперь надо выбрать значение угла α 1 , при котором
гокритериальной оптимизации и введение в достаточно про- объем
стой, но эффективный метод, позволяющий инженеру-иссле- 1 R3 α2 (2π − α )2
V = V (α 1 ) = V1 + V2 = ⋅ α 2 1 − 2 + (2π − α ) ⋅ 1 −
2
дователю в автоматизированном режиме осуществлять по- ⋅ (3.1)
3 4π 4π 4π 2
иск рациональных решений сравнительно сложных вопросов.
будет максимальным. В этом выражении вместо α 1 записа-
3.1. Простейшая иллюстрация использования методиT но α .
ки выбора оптимального решения Таким образом, задача сводится к нахождению максиму-
Рассмотрим круглый лист жести радиуса R (рис.3.1), ма функции V = V (α ) . На угол можно наложить ограниче-
который надо разрезать на два сектора, полученные секто- ния: 0 < α ≤ π . В этих границах мы найдем α , которому
ры свернуть в конусы, а швы сварить. Необходимо, чтобы будет соответствовать максимальный объем V. Второй
углы раскройки α 1 и α 2 обеспечили максимальный суммар- угол, в связи с симметрией круга:
ный объем конусов. α 2 = 2π − α 1
Многие, посмотрев на условие задачи, предполагают что:
α1 = α 2 = π ,
но на самом деле, это не верное предположение.
Данная задача решена двумя способами в документе
№ 3.1. В этом документе сначала строится график функции
О α1 V = V (α ) . Анализ графика убеждает нас, что в интерва-
ле α ∈ [1,9;2,2] имеется максимум.
Рассмотрим первый способ.
Дифференцируем символьно V (α ) по α и находим корни
R полученной функции на интервале α ∈ [1,9;2,2] . Для нахож-
дение корней используется функция root ( ).
Теперь второй способ.
Этот метод основан на методе сеток или методе перебо-
ра. Подробнее о том, почему метод носит название метода
Рис. 3.1 сеток, будет сказано позднее.
60 61
Второй способ определения угла, соответствующего максимальному
объёму
Документ 3.1 Определение максимального объёма
конусов Программа, вычисляющая значения объёмов для углов от x0 до xf
Радиус заготовки R 1 в N узлах с равномерным шагом.Возвращает вектор, элементами
которого являются - интересующий нас угол и соответствующий ему
Суммарный объём в функции угла объём
3 2 2
1 . R . 2. α 2 ( 2 .π α) MaxA ( x0, xf, N ) v0 V( x0)
V( α ) α 1 ( 2 .π α) . 1
3 4 .π 4 .π
2
4 .π
2
for j ∈ 1 .. N
Зависимость объёма в функции угла xf x0 .
xj x0 j
N
0.458
vj V xj
xj
0.456
vj
V ( α ) 0.454 break if v j < v j 1
xj
0.452
2.0466193
MaxA ( 0.1, π , 300) =
0.45 0.45663933
1.5 2 2.5 3
α
Сравним результаты, полученные двумя способами:
Первый способ определения угла, соответствующего максимальному
V1 V( αmax) V2 V( 2.0466193)
объёму
V1 = 0.45663862 V2 = 0.45663933
Символьно дифференцируем объём по углу и получаем
2 3 2
Исследуем влияние числа N на точность определения максимального
3
1 .R . . α 1. α ( 2 .π α) объёма
D( α ) α 4 ( 2 .π α ). 4 ...
12 π 2 2 2
π 2 π
α . 2 j 0 .. 40
4 π
2
π
3 Nj 2 j .3 <j >
1. ( 2 .π α) vv MaxA 0.1, π , Nj
+
2 2
4
( 2 .π α) . 2
π Зависимость максимального объёма в функции числа N j
2
π
0.458
С помощью функции root( ) находим корень v( v(α )=0
α 0.1 0.456
vv
αmax root ( D ( α ) , α ) 1,j
0.454
αmax = 2.02249902 - угол, соответствующий максимальному объёму
0.452
0 5 10 15 20 25 30 35 40
j
62 63
Разобьем исследуемый интервал α н ≤ α ≤ α к (здесь α н = 0,1; из критериев хуже третьего и пятого: 11,2>9; 8,1>8. Четвер-
α k = π ) одинаковыми отрезками, длиной h, на N равных частей. тый вариант также хуже третьего и пятого по обоим крите-
В узлах вычисляем значения объемов. Самое большое из полу- риям. Остальные варианты по одному из критериев лучше
ченных значений приближенно принимается за максимальное. друг друга, но по другому хуже. Варианты: 1; 3; 5 называ-
Точность полученного решения, конечно же, зависит от числа N. ются недоминируемыми или паретовскими (по имени учено-
Угол α в теории оптимизации называется параметром го-экономиста Парето).
оптимизации. Объем — критерий качества исследуемой ма- Для выделения недоминируемых решений из общего мас-
тематической модели (3.1). Параметры выбираются из ус- сива была разработана авторская Mathcad-функция
ловия максимального улучшения критериев качества. MyPar(Q,N,n,par). Параметрами данной функции являются:
В данной задаче имеется только один параметр и только Q — массив критериев качества, размерностью N × n (j-й
один критерий качества. Большинство же практических за- столбец массива Q представляет собой вектор критериев
дач требует улучшения нескольких параметров, по несколь- качества, имеющий n элементов, соответствующий j-му
ким критериям качества. Часто параметров и критериев набору параметров из массива параметров); N — число
бывает очень много. вариантов параметров; n — размерность пространства кри-
териев качества; par=–10, если мы стремимся уменьшить
3.2. Многокритериальные задачи значения критериев (минимизация) и par=10, если стремим-
3.2.1. Недоминируемые решения ся их увеличить (максимизация). Данная функция, вместе
со вспомогательным Comp1( ) и Comp Par( ), представлена
Рассмотрим элементарный пример. в документе (док. 3.2), хранящемся в файле (MyPareto0).
Пусть качество системы характеризуется двумя крите- Документ (док. 3.3) содержит примеры, иллюстрирующие
риями качества q1 и q2. По математической модели было использование функции MyPar( ).
рассчитано 5 различных вариантов параметров и соответ- После того, как найден массив недоминируемых реше-
ствующие этим вариантам критерии были занесены в таб- ний, перед исследователем стоит задача выбора из этого
лицу 3.1. массива одного наиболее интересного. Для удобства этой
Если мы хотим уменьшить каждый из критериев, то 2 и процедуры осуществляют визуализацию приближенной обо-
4 варианты можно отбросить. Второй вариант по каждому лочки Парето. Если критериев качества, характеризующих
систему — два, то строят компромиссную кривую, пред-
Т а б л и ц а 3.1 ставляющую собой зависимость значений одного критерия
Номер в функции значений второго. Такие компромиссные кривые,
1 2 3 4 5 в качестве примера, построены в документе (см. док. 3.2).
варианта
Если критериев качества больше, чем два, то для визуали-
зации приближенной оболочки Парето целесообразно стро-
q1 12,6 11,2 9 14 9,5
ить точечные графики зависимостей каждого из критериев,
в функциях номеров паретовских точек. Графики строятся
Критерии
q2 7,5 8,1 8 8,3 7,6 строго один под другим. В этом случае на одной вертикали
располагается один из недоминируемых векторов качества.
64 65
Имея такие графики, пользователю существенно проще
находить “интересные” решения. С примером такого подхо- Документ N3.2 Выделение оболочки Эджворта-Парето
при минимизации или максимизации по n
да мы познакомимся позднее. критериям
Отметим здесь, что процесс выбора пользователем наи-
более “интересного” или наиболее “рационального” реше- Функция сравнения точки Р с j-й точкой множества
ния является, чаще всего, субъективным. возможных решений, содержащегося в массиве Q
размерности n. Функция возвращает: -1, если точки
После определения наиболее интересного решения, тре- совпадают; 0, если точка Р хуже; 1, если Р не хуже
буется найти соответствующий ему вектор параметров. par<0 - задается при минимизации
par>0 - задается при максимизации
Для этих целей служит функция NumPar( ), имеющая тот
же список параметров, что и MyPar( ). Comp1 ( P , Q , j , n , par ) for k ∈ 1 .. n
NumPar( ) возвращает вектор номеров паретовских то- lk if Pk Qk , j , 100 , 100
чек в массиве параметров системы (см. док. 3.2).
Rez1 l
3.2.2. Элементарные сведения о методе сеток. return 1 if Rez1 n. 100
for k ∈ 1 .. n
Алгоритм многокритериальной оптимизации можно уп-
lk if P k Qk , j , 0 , 1 if par < 0
рощенно представить следующими пунктами:
а) Разработка математической модели исследуемой сис- lk if P k Qk , j , 0 , 1 otherwise
темы. Под математической моделью здесь подразумевается Rez1 l
компьютерная программа, с помощью которой по варианту return 0 if Rez1 0
параметров определяется соответствующий ему вариант return 1 otherwise
критериев качества.
б) Задание матрицы параметров. В этой матрице каждый Функция, определяющая принадлежность точки
столбец представляет один из вариантов параметров. Бу- Р из массива Q размерности nxN оболочке недо-
менируемых решений. Возвращает: 10, если Р
дем считать, что таких вариантов — N, а параметров, ха- принадлежит оболочке Парето; -10, если нет
рактеризующих систему — n.
в) Расчет по математической модели матрицы критериев CompPar ( P , Q , n , N , par ) j 1
му интегральному, с помощью весовых коэффициентов.
66 67
Основная функция пользователя выделения использовании первого способа находят самое большое из
эффективных точек из N точек массива кри- значений q ~ (максимизация) или самое наименьшее (мини-
териев Q размерности Nxn мизация)… .Отметим, что задание весовых коэффициентов
MyPar ( Q , N , n , par ) i 1
является, как правило, субъективным.
for j ∈ 1 .. N
Второй способ состоит в графическом изображении обо-
< j>
лочки Парето, аналогично тому, как это сделано в докумен-
P Q те 3.3 и выборе подходящего варианта по графикам. Следует
< i>
D P if CompPar ( P , Q , n , N , par ) 10 отметить, что последнее время исследователи отдают пред-
i i 1 if CompPar ( P , Q , n , N , par ) 10 почтение второму способу выполнения пункта (д).
D Пункт (б) является центральным пунктом рассматривае-
мого алгоритма, так как исследователь может проанализи-
Функция, возвращающая номера эффективных точек ровать (перебрать) только конечное число вариантов, но в
из N точек массива критериев Q размерности Nxn
то же время он должен получить достаточно полное пред-
NumPar ( Q , N , n , par ) i 1 ставление о поведении анализируемой системы при измене-
for j ∈ 1 .. N 1
нии ее параметров.
< j>
Для осуществления качественного перебора используют
P Q сетки — точки, равномерно разбросанные в области поис-
Numi j if CompPar ( P , Q , n , N , par ) 10 ка. Теорией таких сеток занимается специальный раздел
i i 1 if CompPar ( P , Q , n , N , par ) 10 математики — “теория равномерно распределенных пос-
Num ледовательностей точек”.
Рассмотрим более подробно вопрос нахождения матрицы па-
раметров. Пусть качество системы зависит от двух парамет-
ров. Зададим матрицу, содержащую 100 вариантов. Простей-
ший способ задания состоит в использовании формул:
Например, если система характеризуется критериями каче- q1〈 i 〉 = q1∗ + ( q1∗∗ − q1∗ ) ⋅ rnd (1);
ства: q1 ; q2 ;....; q p , то комплексный критерий можно записать (3.2)
q 2〈 i 〉 = q 2∗ + ( q 2∗∗ − q 2∗ ) ⋅ rnd (2),
в виде где i — номер варианта, i = 1,2,…,100;
p
q~ = с1 ⋅ q1 + с2 ⋅ q 2 + .... + с p ⋅ q p = ∑ cν ⋅ qν , q1∗ , q 2∗ — минимально возможные значения первого и вто-
ν =1 рого параметров, соответственно;
где cν — весовые коэффициенты (сν ≥ 0) ; q1∗∗ , q 2∗∗ — максимально возможные значения первого и
p
второго параметров, соответственно.
∑c p
=1. С функцией rnd ( ) мы встречались ранее (см. док. 1.9). Здесь с
ν =1 ее помощью получена случайная сетка из 100 вариантов пара-
Весовые коэффициенты назначаются исследователем в метров (матрица q, размерностью 2 × 100). Аналогично (3.2)
зависимости от значимости того или иного критерия. При можно получить массив любой размерности (n × N),
68 69
Документ N3.3 Примеры использования функций,
q1〈 i 〉 = q1∗ + (q1∗∗ − q1* ) ⋅ rnd (1);
предназначенных для построения приб-
лижённой оболочки Парето q2〈 i 〉 = q 2∗ + (q2∗∗ − q 2∗ ) ⋅ rnd (1);
Ссылка на функции: MyPar( ),NumPar( ) ..............................................
(3.3)
Reference:C:\File Mathcad\MyPareto0.mcd qn〈 i 〉 = q n∗ + (qn∗∗ − q n∗ ) ⋅ rnd (1);
Построение массива, из которого будут выделены
недоминируемые элементы i = 1,2,..., N .
i 1 .. 300
Кроме случайных существует и множество других типов се-
i
q1 , i
3
rnd ( 20) ток. Чтобы не усложнять изложение покажем здесь только ПТ-сет-
1 ки, считающиеся в настоящее время, наиболее качественными.
q2 , i
q
1,i
rnd ( 50) Массив, содержащий координаты точек ПТ-сеток, можно за-
0.2
дать, используя авторскую Mathcad-функцию Ptg(n, N), требую-
щую в качестве параметров n — число элементов в каждом на-
q
2, i 0.1
боре параметров; N — число анализируемых параметров. Функ-
ция Ptg( ) находится в документе (док. 3.4), хранящемся в файле
0
0 20 40 60
q
1, i
80 100 120
(Alpt 1023). Максимальные значения параметров: n=8; N=1023.
Минимизация Максимизация Если эти ограничения не удовлетворяют пользователя, то сле-
Q1 MyPar ( q , 300, 2 , 10) Q MyPar ( q , 300, 2 , 10) дует пользоваться функцией с тем же именем Ptg(n, N), содержа-
i 1 .. 30 j 1 .. 28 щейся в документе (док. 3.5)(Alpt10Λ6). Здесь ограничения на па-
Компромиссные кривые при:
раметры: n=51 и N=106.
минимизации максимизации
Имея ПТ-сетку, пользователь по (3.3) рассчитывает мас-
0.03 0.15
сив параметров, заменяя rnd(1) на Qi, j, где
0.02 0.1 Q:=Ptg(n, N).
Q1 Q
2, j 2, i
0.01 0.05 Рассмотрим пример решения оптимизационной задачи
(док. 3.6). Анализируется три параметра x, y, z оптимизиру-
0 0
0 50
Q1
100 150 0 50
Q
100 150
емой системы. Причем на них наложены ограничения:
1,j 1,i
Ф2 = [11x + 6 y + 7 z − 8] ;
2
Ф3 = [9 x + 3 y + 4 z − 11] .
2
70 71
Документ N3.4 Генератор П -сетки. Генератор позволяет
получать сетки из N точек в n-мерном ку- Документ N3.5 Генератор П -сетки. Генератор позволяет
бе. Пользователю необходимо ввести N и получать сетки из N точек в n-мерном ку-
n. Данный генератор имеет ограничения бе. Пользователю необходимо ввести N и
n=8 и N=1023. q - массив координат точек n. Данный генератор имеет ограничения
сетки. n=51 и N=1000000. q - массив координат
точек сетки.
Матрица направляющих
Считывание матрицы
числителей:
направляющихчислителей:
1 1 1 1 1 1 1 1 1 1 NR READPRN( "Anapr" )
1 3 5 15 17 51 85 255 257 771
1 1 7 11 13 61 67 79 465 721 Вспомогательные функции:
1 3 7 5 7 43 49 147 439 1013
NR d( f ) f floor( f )
1 1 5 3 15 51 125 141 177 759
1 3 1 1 9 59 25 89 321 835
ln ( i )
1 1 3 7 31 47 109 173 181 949 m( i ) 1 floor
ln ( 2 )
1 3 3 9 9 57 43 43 225 113
m( i ) m( i )
Вспомогательные функции: k 1.
d 0.5. floor( 2 . d ( i . 2 ) ) . floor 2 . d NRj , l . 2
l k 1 l
q( i , j ) 2
k= 1 l= k
d( f ) f floor( f )
Ptg ( n , N ) EN if ( ORIGIN 0 , N 1, N)
m( i ) m( i )
k 1. l . 2k 1 l En if ( ORIGIN 0 , n 1, n)
q( i , j ) 2 d 0.5. floor( 2 . d ( i . 2 ) ) . floor 2 . d NRj , l
for i ∈ ORIGIN.. EN
k = ORIGIN l= k
for j ∈ ORIGIN.. En
mass i , j q( i , j )
ПТ-геннератор, генерирует массив точек ПТ-сетки,
размерностью nxN mass
Ptg ( n , N ) EN if ( ORIGIN 0 , N 1, N)
En if ( ORIGIN 0 , n 1, n)
for i ∈ ORIGIN .. EN
for j ∈ ORIGIN .. En
mass i , j q( i , j )
mass
72 73
Визуализация приближённой оболочки Парето
Документ N3.6 Пример решения оптимизационной j 1 .. 8
задачи
Первый критерий
Ссылка на функции: MyPar( ),NumPar( )
400
Reference:C:\File Mathcad\MyPareto0.mcd
Par
Ссылка на генератор ПТ-сетки 1 , j 200
Reference:C:\File Mathcad\ALPT1023.mcd
0
1 2 3 4 5 6 7 8
Функции, определяющие три критерия качества системы j
(математическая модель системы)
Второй критерий
2
Φ 1( x , y , z ) ( 4 .x 5 .y 2 .z 35 )
2 1
Φ 2( x , y , z ) ( 11 .x 6 .y 7 .z 8)
2
Φ 3( x , y , z ) ( 9 .x 3 .y 4 .z 11 )
Par
2 , j 0.5
Получение ПТ-сетки, размерностью 3x1000
Q Ptg ( 3 , 1000 )
0
1 2 3 4 5 6 7 8
Задание матрицы параметров по ПТ-сетке, c учётом ограничений j
на пространство параметров
Третий критерий
i 1 .. 1000
qi ,1 Q i , 1 .( 5 0) 0 qi ,2 Q i , 2 .( 5 0) 0 qi ,3 Q i , 3 .( 0 10 ) 10
Kr 1 , i Φ 1 qi ,1 , qi ,2 , qi ,3 Kr 2 , i Φ 2 qi ,1 , qi ,2 , qi ,3 Kr 3 , i Φ 3 qi ,1 , qi ,2 , qi ,3
0
Минимизация 1 2 3 4 5 6 7 8
j
Par MyPar ( Kr , 1000 , 3 , 10 )
Находим координаты точки в массиве параметров.
Определение номеров паретовских точек в матрице параметров
Здесь "наиболее интересной" принята Паретовская
NPar NumPar ( Kr , 1000 , 3 , 10 ) точка с номером 5.
q 529 , 1 = 2.661
T -номера
NPar = 1 81 169 454 529 553 653 814 8 паретовских точек q 529 , 2 = 3.921
q 529
,3
= 6.396
74 75
Требуется найти значения x, y, z, соответствующие одно-
временной минимизации критериев Ф1, Ф2 и Ф3. Решение
4. ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ СИСТЕМЫ
данного примера приведено в документе (см.док. 3.6). MATHCAD ПРИ РЕШЕНИИ ИНЖЕНЕРНЫХ
Конечно же, при решении данной задачи, можно было ЗАДАЧ
взять не 1000, а например, 106 точек сетки. Решение стало
бы, скорей всего, существенно более точным. Имеются и 4.1. Определение углов наклона балки
другие подходы к уточнению решения. Не будем на них при равновесии
останавливаться, т.к. это предмет для специализированных
курсов. Да, мы и не ставили перед собой задачи оценивать Однородная балка AB длиной L, опирается на негладкую
точность исследования приближенной оболочки Парето для горизонтальную плоскость, а точкой D — на гладкую вер-
рассмотренной задачи. Основной целью этого примера бу- тикальную опору высотой а (рис. 4.1).
дем считать — изучение алгоритма нахождения массива Коэффициент трения между балкой и плоскостью равен f.
недоминируемых решений и приемов использования соот- Определить углы наклона балки, при которых она будет
ветствующих Mathcad-функций. находиться в равновесии.
а
α
А
Рис. 4.1
Решение.
На основании аксиомы освобождаемости от связей, рас-
смотрим балку AB как свободное твердое тело, заменив
действие горизонтальной плоскости и вертикальной опоры
соответствующими реакциями N , Fтр и N 1 . Здесь N , N1 —
нормальные реакции плоскости и вертикальной опоры, со-
ответственно. Fтр — сила трения скольжения. Приложим к
балке вес G в ее средине — точке C. Расстояние АD обо-
значим d (АD=d) (рис. 4.2).
76 77
y или
L ⋅ sin α ⋅ cosα + f ⋅ cos 2 α ⋅ (L − 2d ) − 2 ⋅ f ⋅ d ⋅ sin 2 α ≤ 0. (4.3)
Учтем, что d ∈ ]a; L] , а угол α определяется из выражения:
a
α = arcsin
d
d N1 Теперь задача сведена к нахождению корней уравнения
С
G Z (d ) = L ⋅ sin α ⋅ cosα + f ⋅ cos 2 α (L − 2d ) − 2 ⋅ f ⋅ d ⋅ sin 2 α = 0
N Д и его графическому анализу на интересующем нас интерва-
ле изменения d.
α Решение с использованием Mathcad приведено в доку-
E
А менте (док. 4.1). Оно состоит в построении графиков функ-
Fтр X ций Z=Z(d) и α = α (d ). Там где Z (d ) ≤ 0 — равновесие.
Значения корней уравнения Z(d)=0 определяется с помо-
Рис. 4.2 щью mathcad-функции root ( ).
Для решения поставленной задачи достаточно написать 4.2. Определение усилий в опорных стержнях
два уравнения равновесия: пространственной конструкции
∑ Fix = 0; Fтр − N1 ⋅ sin α = 0; Однородная невесомая прямоугольная плита удержива-
ется в горизонтальном положении шестью невесомыми стер-
L L
∑ m = − N ⋅ 2 ⋅ cosα + N ⋅ d ⋅ sin α − N
iE ⋅ − d ⋅ cos 2 α = 0 . (4.1)
1
2
1
жнями (рис. 4.3). В точке A на плиту действует сила P и
2 пара сил с моментом M.
Умножив левую и правую части второго уравнения по- Определить усилие в стержнях. Толщиной плиты пренеб-
лученной системы на коэффициент трения скольжения f, речь.
приведем (4.1) к виду: Дано: P=50 кН; a=1 м; b=5 м; с=5,5 м; d=1 м; P // Ox ;
Fтр = N1 ⋅ sin α ; M=1 кНм.
d sin 2 α d
Решение.
f ⋅ N = 2⋅ f ⋅ ⋅
L cosα
⋅ N1 − f ⋅ 1 − 2 ⋅ ⋅ N1 ⋅ cosα .
L
(4.2) Мысленно отбросим связи-стержни и заменим их дей-
Согласно закону Кулона (при равновесии Fтр ≤ f ⋅ N ), ствие шестью реакциями: S1 , S 2 , S 3 , S 4 , S 5 , S 6 . Под дей-
из (4.2) получим: ствием силы P , пары сил с моментом M и S1 , S 2 , …, S 6
d sin α
2
d плита находится в равновесии (рис. 4.4). Для упрощения запи-
sin α ≤ 2 ⋅ f ⋅ ⋅ − f ⋅ 1 − 2 ⋅ ⋅ cosα
L cosα L сей введем углы: a, β, γ, θ (см. рис. 4.4) и вычислим их функции:
78 79
Z
Документ -N 4.1 Определение углов наклона балки
Исходные данные:
6 d
f 0.1 - коэффициент трения скольжения;
L 1 -длина балки; B E
a 0.1 -высота опоры;
2 M
a
α(d) asin -функция угла наклона балки;
d A 3 D 5 4 c
Функция, позволяющая определить углы наклона балки : P 1 O
2 2
Y
Z( d ) L .sin ( 2 .α ( d ) ) 2 .f .d .cos ( α ( d ) ) .( L 2 .d ) 2 .f .d .sin ( α ( d ) )
b
График функции Z=Z(d) График функции α =α (d)
a
2 X
0.2
1.5 Рис. 4.3
Z( d ) α( d ) 1
0
0.5 Z
0.2
0.6 0.8 1 0
0.5 1
d
d
d 5 - начальное приближение;
D root ( Z ( d ) , d ) - корень;
β M γ S6
asin
a
= 0.1 -минимально возможный угол; π
-максимально возможный угол; P S3
L 2 S2 θ S4 Y
α O
Углы, соответствующие корням: S1 S5
Угол, соответствующий корню
D
asin = 1.521
L
X
Рис. 4.4
80 81
c b
sin α = ; cos α = Документ-N 4.2 Определение усилий в опорных стержнях
2 2 2 2
c +b c +b пространственной конструкции
c a -геометрические размеры;
sinθ = ; cos θ = a 1 b 5 c 5.5 d 1
2 2 2 2
a +c a +c P 50000 - заданная сила; Mom 1000 - момент пары.
a +b +d a + b2 + d 2
2
a
2
b
2
a
2
b
2
a
2
b
2
d
2
a
2
b
2
d
2
0 0 a a .u 1 a . u 7 c .u 5 .u 8
∑ y = S ⋅ cos θ − S ⋅ cos γ ⋅ sin β = 0 ;
0 - матрица коэффициентов уравнений
3 6 равновесия;
b . u 1 0 0 0 b .u 1 b . u 7 c . u 6 .u 8
∑M
0
y =S 1 ⋅ sin α ⋅ b + S 5 ⋅ sin α ⋅ b + S 6 ⋅ (sin γ ⋅ b + cos γ ⋅ cos β ⋅ c ) + P ⋅ c = 0; C
0
- вектор свободных членов уравнений равновесия;
∑M
P .c
z = S 5 ⋅ cos α ⋅ a + M = 0 . (4.3) Mom
руднительным.
82 83
4.3. Исследование кулачкового механизма ρ r
= , (4.5)
Определить перемещение ролика толкателя кулачкового sin γ sinψ
механизма, изображенного на схеме (рис. 4.5), в функции
π
угла поворота кулачка. Контуром кулачка является эллипс, γ = −ψ − µ . (4.5)
уравнение которого задается зависимостью: 2
x2 y2
+ =1,
a 2 b2
где Z N P
a=0,04 м; b=0,035 м . µ
Эллипс вращается вокруг одного из полюсов. O1
Изобразить контур кулачка в полярных координатах ρ=ρ(ϕ)
и определить крутящий момент, приложенный к кулачку, по уси- γ
лию в толкателе. Это усилие задано зависимостью: r A
R = 10 ⋅ ( z + r ) ,
5 2
ψ ρ
где z — перемещение ролика толкателя;
r=0,02 м — радиус ролика толкателя. O2 х
Решение. ϕ O
В полярных координатах уравнение эллипса имеет вид:
b2
ρ= .
a + a 2 − b 2 ⋅ cos ϕ
Рис. 4.5
Угол между вектором ρ ( ϕ ) и касательной к контуру в
Учитывая (4.4) и (4.5), получим:
точке контакта кулачка и ролика толкателя (рис. 4.5) мож-
но определить по формуле: ρ
ψ = arctg + tgµ .
r ⋅ cos µ
dρ Теперь вычисляем перемещение ролика толкателя:
dϕ
µ = arccos z = OO1 − r − ρ ( 0 ) . (4.6)
dρ
2
. (4.4)
+ ρ 2
dϕ Расстояние OO1 найдем по теореме косинусов:
Рассмотрим ∆ OAO1 и запишем два соотношения, выра- π
жающие теорему синусов и тот факт, что сумма углов в OO1 = r 2 + ρ 2 − 2 ⋅ r ⋅ ρ ⋅ cos + µ .
2
треугольнике равна π :
84 85
Тогда (4.6) перепишем в виде:
π
z = r 2 + ρ 2 − 2 ⋅ r ⋅ ρ ⋅ cos + µ − r − ρ ( 0 ) . Документ- N4.3
2 Определение перемещения толкателя и крутящего момента,
приложенного к кулачку
Крутящий момент, приложенный к кулачку:
Геометрические параметры:
R
M кр = ⋅ ρ ⋅ cos µ . b
2
a
2
b
2
выражением: cos ( µ ( φ ) )
ψ( φ ) asin r .
A A +V
⋅ (1 − e λt ) , t ≤ T ; 2 .r .ρ ( φ ) .sin( µ ( φ ) )
2 2
ρ(φ )
C⋅ ⋅ r
B B +V Построение графиков: j 0 .. 359
F = π
xj j .
180
B A +V
⋅ (1 − e λT ), t ≥ T ,
π
2 .r .ρ xj .cos
2 2
zj r ρ xj µ xj r ρ ( 0)
C⋅ ⋅ θj ψ xj 2
A B +V
yj ρ xj
где V — скорость поезда;
A, B, C, λ — постоянные; Контур кулачка в полярных Угол отклонения
точки контакта от
T — время, за которое давление воздуха в тормозных координатах
вертикали
цилиндрах достигает максимального значения. 0.2
90
112.5 67.5
Кроме того: 135
0.06
0.05 45 0.13
0.04
m — масса поезда; 157.5 0.03 22.5 0.067
0.02
α — крутизна спуска в радианах; y
j
0.01 θj 0
180 0 0
g — 9,81 м/с2. 0.067
202.5 337.5
λ=0,1 с-1; T=20 с; α=0,001; V0=20 м/с; g=9,81 м/с2.
86 87
Решение.
Перемещение ролика толкателя
Запишем дифференциальное уравнение движения поезда,
0.04 рассматривая его, как материальную точку, в соответ-
0.0333
0.0267
ствии со схемой (рис. 4.6).
z
m&y& = − F + mg ⋅ sin α .
j 0.02
0.0133
0.0067
0 Учитывая, что угол a весьма мал и при этом sin α ≈ α ,
0 1.57 3.14 4.71 6.28
x
j получим
Задание усилия в толкателе: m&y& = − F + mg ⋅ α . (4.7)
Rj 105 . zj r 2 Уравнение (4.7) перепишем в виде системы двух диффе-
ренциальных уравнений первого порядка:
Усилие в толкателе в функции угла поворота
y& = V ;
400
& F (4.8)
300
V = − + g ⋅ a.
R
j 200 m
100
Решение задачи, основанное наиспользовании, уже извес-
0
0 1.57 3.14 4.71 6.28 тной из второго раздела, функции rkfixed( ), приведено в
x
j документе 4.4.
Вычисление крутящего момента:
Rj
Mkrj .ρ x .cos µ x Х
j j
sin ψ xj µ xj
4.25 α G
Mkr 0
j
Y
4.25
Рис. 4.6
8.5
0 1.05 2.09 3.14 4.19 5.24 6.28
x
j
88 89
4.5. Определение усилий в сочленениях
Документ N-4.4 шатунноTкривошипного механизма однорядной
Торможение поезда поршневой машины
Исходные данные:
6 Отсек однорядной поршневой машины изображен на схеме
m 5 .10 a 360 λ 0.1 v0 20 b 72
6
(рис. 4.7). Система состоит из кривошипа OA, шатуна AB и пор-
T 20 α 0.001 c 6 .10 g 9.81
шня B. Для определения усилий, действующих в сочленениях
0
-вектор начальных условий.
шатунно-кривошипного механизма, рассмотрим схему (рис. 4.8).
y
v0 Данная механическая система имеет одну степень свободы. В
Задание силы сопротивления: качестве обобщенной координаты выбирается угол ϕ .
p ( v)
b a
c. .
v Дифференциальное уравнение движения поршня:
a b v
f( v , t ) if T t > 0 , p ( v) . 1 e
λ .t
, p ( v) . 1 e
λ .T mп ⋅ &y& = Fг − Yв , (4.9)
y1 где mп — масса поршня;
D( t , y) f y1 , t -вектор первых производных. Fг — сила давления рабочего тела, действующего на поршень;
g.sin( α ) Yв — вертикальная составляющая силы взаимодействия
m
поршня с шатуном;
Численное интегрирование с помощью функции rkfixed: &y& — ускорение поршня в направляющих.
Z rkfixed( y , 0 , 29 , 300 , D)
n 0 .. 299 X O1
Fг
Зависимость пути от Зависимость скорости Fг
времени от времени
B
Xв Fст
400 25
Yв
300 18.75
X в′
C
Z Z
Yв′ Y
n , 1 200 n, 2 12.5
β
100 6.25 A C
L1
Mн
XА
0 0
0 7.22 14.45 21.67 28.9 0 7.5 15 22.5 30 YА ϕ
Z
n,0
Z
n,0 O
X ′А
Mн O
Y′
где
cos ϕ
P3 ( ϕ ) = λ ; P5 ( ϕ ) = P3 ( ϕ )( L − L1 ) ⋅ cos β ;
cos β
cos 2 ϕ
P6 ( ϕ ) = ( L − L1 ) ⋅ ( P4 ( ϕ ) ⋅ cos β − λ3 ⋅ ⋅ sin ϕ );
sin ϕ 2 cos ϕ 2
cos 2 β
P4 ( ϕ ) = λ λ ⋅ cos 2 β − 1 ;
cos β P7 ( ϕ ) = λ ( L − L1 ) ⋅ P3 ( ϕ ) ⋅ sin ϕ ;
cos 2 ϕ
R P8 ( ϕ ) = λ( L − L1 ) ⋅ ( P4 ( ϕ ) ⋅ sin ϕ + λ ⋅ ).
λ= . cos β
L
Запишем систему уравнений движения шатуна: Запишем уравнение вращательного движения кривошипа:
J оϕ&& = X A ⋅ R ⋅ cos ϕ + Y A ⋅ R ⋅ sin ϕ − M н , (4.16)
92 93
где Jо — момент инерции коленчатого вала относительно оси
вращения;
Mн — часть нагрузочного момента, приходящегося на один Документ- N4.5 Расчет крутящего момента, приложенного
к кривошипу коленчатого вала рядного дизеля
кривошип.
Задание индикаторной диаграммы:
Запишем систему обыкновенных дифференциальных
уравнений второго порядка, состоящих из (4.12), (4.15),
7.1
0
9.1
(4.16) в виде системы алгебраических уравнений, неизвест- 20
7.2
..
ными в которой являются ϕ (t), XB, YB, XA, YA:
40
3.5
60
1.9
(4.17) 80
1.4
100
(i)
a11 ϕ&& + YB( i ) = C1( i ) ; 120
0.7
0.55
a ϕ&& − X
(i) (i)
+X (i)
=C ; (i) 140
21 B A 2 0.3
160
-вектор углов поворота p1 0.2 -вектор давлений
f1
a ϕ&& − Y
(i)
31
(i)
B +Y (i)
A =C (i)
3 ; 180
200
вала 0.2 рабочего тела
0.2
(i)
a 41 ϕ&& + a 42
(i)
⋅ X B( i ) + a 43
(i)
⋅ YB( i ) + a 44
(i)
⋅ X A( i ) + a 45
(i)
⋅ Y A( i ) = C4( i ) ; 220
0.2
240
∑a ϕ&& + ∑ ( a
(i) (i) (i) (i) (i) 0.22
51 54 ⋅X A +a 55 ⋅Y A ) = C5 , 260
0.3
280
i i 0.6
300
1
320
где индекс “i” показывает соответствие переменной i-му моменту 340
2
времени; 360
7.1
94 95
Функции угла поворота:
z10 γ k Js . z4 γ k . w z11 γ k l1 ) . λ . sin γ k
2
(l
β(α ) asin( λ . sin( α ) )
ms . z8 γ k . w
2
cos ( α ) 0 0 1
z3( α ) λ.
cos ( β ( α ) ) .
y1k
sin( α ) . λ cos ( α ) ms . z6 γ k . w
2 2 2
z4( α ) λ. 1 1 0
r . sin ( α ) . ( 1 z3( α ) )
1
z1( α ) cos ( β ( α ) ) cos ( β ( α ) )
2
m . z2 γ k . w Pressure γ k
2
0 0 1
λ . cos ( α )
2
z2( α ) l. λ . z4( α ) . sin ( α ) cos ( α )
cos ( β ( α ) ) z10 γ k l1 . λ . sin γ k Js . z4 γ k . w l1 ) . λ . sin γ k
2
(l
z5( α ) z3( α ) . ( l l1 ) . cos ( β ( α ) )
ms . z8 γ k . w
2
0 1 1
λ . cos ( α ) .
3 2
z6( α ) (l l1 ) . z4( α ) . cos ( β ( α ) ) sin( α ) y2k
ms . z6 γ k . w
2
cos ( β ( α ) )
2
1 0 0
z7( α ) λ . ( l1 l ) . z3( α ) . sin( α )
m . z2 γ k . w Pressure γ k
2
0 0 1
λ . cos ( α )
2
z8( α ) λ . ( l1 l ) . z4( α ) . sin( α )
cos ( β ( α ) ) z10 γ k l1 . λ . sin γ k z11 γ k Js . z4 γ k . w
2
l1 l l1
z9( α ) ( λ . sin ( α ) ) z10( α )
z11( α ) ms . z8 γ k . w
2 2
1 0 1 0
z9( α ) z9( α )
Вычисление усилий и крутящего момента в функции угла y3k
ms . z6 γ k . w
2
поворота: 1 0 1
ms . z8 γ k . w
2 yk y1k
1 0 1
Mk . l1. cos γ . l1 . sin γ -крутящий момент.
yk k k
xk xk
ms . z6 γ k . w
2
0 1 0
5 6
2.510 2.910
m . z2 γ k . w Pressure γ k
2
0 0 1
5
1.6310 2.18106
p 7.5104
p1 6
1.4710
k k
5
4 7.5110
1.2510
5 3.5104
1 10
0 1.563.134.696.26
0 1.573.144.71
6.28
γ
γ k
k
96 97
5
3 106
6
1.63105 2.26106 G1
p2 4
9.510 p3 1.51
10
6
k k
4 5
1
2
2.7510 7.6510
4 4
4 10 2 10
G
0 1.563.134.696.26 0 1.563.134.696.26
γ γ
k k
5
5 10
X Fy 4
3.25105
3
M 1.5105
k
4
2.510
2 105
Рис. 4.9
0 1.57 3.14 4.71 6.28
γ
k Обычно считают, что эксцентриковый вибратор генери-
Разложение крутящего момента в ряд Фурье рует вынуждающую силу:
Интерполяция крутящего момента кубическими сплайнами: P = P0 cos ω t ,
IS1 cspline ( γ , M )
где
Momkr( θ ) interp( IS1 , γ , M , θ )
ν 1.. 8 -задание числа гармоник Фурье
P0 = mi ⋅ ω 2 ⋅ l ;
Вычисление коэффициентов :
mi — неуравновешенная масса;
l — длина стержня;
2. π 2. π
1. ω — угловая скорость вала двигателя.
Momkr( θ ) . sin ( ν . θ ) d θ Bcν
1.
Asν Momkr( θ ) . cos ( ν . θ ) d θ
π π
При этом предполагается, что значение ω наперед задано
0 0
Asν
Амплитуды: Garmν Asν
2
Bcν
2
Фазы: Fazν atan и не зависит от процесса колебаний упругой системы, на
Bcν
которой установлен вибратор.
2 105
1.1 В действительности это не так, и если используется двига-
1.5105 0.45
тель, обладающий небольшой мощностью, то процесс колеба-
Garm 1 105 Faz
ний упругой системы заметно влияет на величину ω и последняя
ν ν 0.2
также колеблется около некоторого среднего значения. Вслед-
5 104 0.85
ствие взаимного влияния колебаний конструкции и угловой ско-
0
1 2 3 4 5 6 7 8
1.5
1 2 3 4 5 6 7 8
рости вращения вала двигателя его работа в некотором диапа-
ν ν
зоне угловых скоростей становится неустойчивой. Этот эффект
носит имя Зоммерфельда — известного физика, впервые наблю-
давшего в 1904 г. неустойчивость на экспериментальной уста-
новке (рис. 4.10).
98 99
невесомого стержня; M — крутящий момент, приложенный
к валу; µ — коэффициент вязкого сопротивления вертикаль-
A ному движению корпуса; µ2 — коэффициент вязкого сопро-
тивления вращению вала.
Решение.
Запишем дифференциальные уравнения движения систе-
мы (см. рис. 4.9). Она имеет две степени свободы. За обоб-
щенные координаты выбираем угол поворота вала двига-
ω теля — ϕ и вертикальное перемещение корпуса — x.
ωp По теореме о движении центра масс:
1
Рис. 4.10 dVc
( m + m1 ) ⋅ = − µx& − cx + ( m + m1 ) g , (4.18)
dt
На графике (см. рис. 4.10) изображена зависимость где Vc — скорость центра масс системы.
100 101
Величина M0 зависит от рабочего напряжения. С помо- Примем для примера, следующие данные:
щью реостата можно изменить характеристику двигате-
M=9 кг; m1=1 кг; J=0,1 кН/м; l=0,05 м; µ=0,05; b=0,05; µ2=0,05.
ля — на графике это отразится смещением ее параллельно
самой себе (рис. 4.11). Компьютерное решение задачи, использующее уже изве-
стную авторскую Mathcad-функцию xr( ) (см. док. 2.3), ил-
M
люстрируется документом №4.6, в котором строится зави-
симость угловой скорости вала в функции составляющей
момента — Мо. При Мо ∈ [14 Нм, 16 Нм] проявляется эф-
фект Зоммерфельда. Увеличение крутящего момента (до-
полнительный приток энергии) не увеличивает угловой ско-
рости. При этом растет амплитуда колебаний двигателя.
4.7. Попадание ракетой в неподвижную цель
ω Самолет пролетает параллельно земле со скоростью V0 и
находится в данный момент времени в начале неподвижной
Рис. 4.11
системы отсчета XOY (рис. 4.12). В точке O1(x1,y1) нахо-
дится неподвижная цель. Требуется определить начальную
С учетом (4.22), обозначая
горизонтальную скорость Vr ракеты относительно самоле-
µ1 = b + µ 2 , та, необходимую для попадания в цель. Масса ракеты — m.
преобразуем (4.21) к виду: На ракету действуют постоянная ветровая нагрузка F ,
направленная в сторону, противоположную движению раке-
J ⋅ ϕ&& = M 0 − µ 1 ⋅ ϕ& + m1 ⋅ l ⋅ &x& ⋅ sin ϕ − m1 ⋅ g ⋅ l ⋅ sin ϕ . (4.23)
ты, а также сила вязкого сопротивления воздуха R = − µV .
Уравнения (4.20) и (4.23) представляют собой систему
дифференциальных уравнений движения конструкции, изоб- O υ0 υr y1 Y
раженной на схеме (см. рис. 4.9). Интегрировать эти урав-
нения будем численно, методом Рунге-Кутты. С этой целью
записывается система четырех дифференциальных уравне-
ний первого порядка:
Rx
dV
= f 1 ( x ,ϕ , x& ,ϕ& ,ϕ& 2 ) F A
dt Ry
dω
= f 2 ( x ,ϕ , x& ,ϕ& ,ϕ& 2 )
dt G O(x1,y1)
dx
=V (4.24)
dt
td
dϕ
ω
=ω
dt Рис. 4.12
102 103
Функция, возвращающая среднюю угловую скорость,
соответствующую моменту Mo
Документ-N4.6 Моделирование эффекта Зоммерфельда
ω ( Mo , N ) v xr( 0.02, N , y , Mo , D )
Исходные данные: N
for i ∈ .. N 1
m 9 m1 1 J 0.1 2
µ
vv i v4 , i
c 9000 b 0.4 0.05
L 0.05 g 9.81 2 . vv
N
Функции, необходимые при вычислении производных:
Нахождение зависимости угловой скорости
m1.L . 1 . µ .v 2 в функции момента Ω=Ω(Mo )
f( φ ) sin ( φ ) ψ ( x, φ , v , ω ) g c .x m1.L.ω .cos ( φ )
m m1 m m1
J 1 j 0 .. 22
q( φ ) p ( φ , ω , Mo ) g .( Mo (b µ ) .ω )
m1.L.sin ( φ ) m1.L.sin ( φ )
Mo j 10 0.5.j
Вектор начальных условий
Ωj ω Mo j , 400
0.07
Построение графика зависимости угловой
0.01 скорости в функции момента Ω=Ω(Mo )
y
0
29 50
y2
y3 40
f y 1 .p y 1 , y 3 , Mo q y 1 .ψ y 0 , y 1 , y 2 , y 3
D( y , t , Mo )
f y1 q y1
Ω 35
j
ψ y0 , y1 , y2 , y3 p y 1 , y 3 , Mo
f y1 q y1
30
104 105
Решение. Учитывая, что mg > µV x , отбросим знак модуля. После
Изобразим ракету в промежуточном положении — точке достижения скорости V x = mg / µ , она будет оставаться
A и приложим силы, действующие на нее: постоянной. Используя начальные условия — {t = 0 ;V x = 0},
найдем постоянную интегрирования
F — сила ветра;
R x = µ ⋅ V x , R y = µ ⋅ V y — вертикальная и горизонтальная m
С1 = − ln( mg )
составляющие силы сопротивления воздуха, соответственно; µ
G — сила тяжести. и подставим в (4.26).
Запишем дифференциальное уравнение движения ракеты После преобразований получаем:
dV m mg − µV x
m = F + Rx + R y + G − ⋅ ln =t.
dt µ mg
и, спроектировав его на оси координат, получим систему Выражаем скорость:
дифференциальных уравнений движения:
µ
mg − t
dV Vx = 1 − e m .
m x = G − Rx µ
dt
dV y , Учитывая, что
m
dt
= −F − Ry
dx
Vx = ,
или dt
dV x
получим
m = mg − µV x µ
dt dx mg − t
= 1 − e m .
dV y . (4.25) dt µ
m
dt
= − F − µV y
Разделяя переменные и интегрируя
Проинтегрируем первое уравнение в системе (4.25). Для µ
этого перепишем его, разделяя переменные, в виде mg − t
∫ dx = ∫ 1 − e m dt ,
µ
m d ( mg − µV x )
− ⋅ = dt .
µ mg − µV x получаем:
Интегрируя µ
mg m2 g − t
m d ( mg − µV x ) x= ⋅ t + 2 e m + C2 . (4.27)
µ µ
µ ∫ mg − µV x
− ⋅ = ∫ dt ,
По начальным условиям — {t=0; x=0}, находим:
получаем
m2g
m
− ln mg − µV x = t + C1 .
C2 = − .
µ
(4.26) µ2
106 107
Подставим полученный результат в (4.27). Зависимость Решение этой задачи показано в документе №4.7. Так же
абсциссы от времени: в нем продемонстрированы некоторые возможности анима-
ции mathcad. После вычислений и запуска анимационного
mg m − m t
µ
клипа ракета перемещается по плоской траектории на экра-
x= ⋅ t + e − 1 . (4.28)
µ µ не и попадает в цель. В этом документе так же даны пояс-
нения к вопросу о том, как создаются анимационные
Аналогично поступим со вторым уравнением в (4.25). клипы.
Последовательно интегрируя и находя постоянные интег-
рирования, получим скорость:
µ
F − t F
V y = + V0 + Vr e m −
µ µ
и зависимость ординаты от времени:
µ
m F − t F
y = + V0 + Vr ⋅ 1 − e − ⋅ t .
m
(4.29)
µ µ µ
Далее предлагается следующий алгоритм решения урав-
нений (4.28) и (4.29).
Запишем функцию
mg m − m t
µ
φ( t ) = ⋅ t + e − 1 − x .
µ µ
Нас интересует момент времени t1, в который x достига-
ет значения x1. В этом случае:
φ( t ) = 0 . (4.30)
Уравнение (4.30) решается при помощи функции root( ),
которая читателю уже известна из второго раздела.
Выразим из (4.29) начальную относительную скорость Vr
и, подставляя в полученное выражение — t1 и y1, определяем
µy 1 + Ft 1 F
Vr = − − V0
µ
− t µ
m 1 − e m . (4.31)
108 109
ЛИТЕРАТУРА
Документ-N4.7 Некоторые возможности анимации mathcad
Стрельба по цели 1. Mathcad 6.0 Plus. Финансовые, инженерные и научные расчеты
Исходные данные:
в среде Windows 95. /Перевод с англ. — М.: Информационно-
v0 100 m 1000 x0 44 y0 5000 µ 0.01 F 100 g 9.81
-издательский дом “Филинъ”, 1996. — 712 с.
µ.
t 2. О ч к о в В.Ф. Mathcad 6.0 для студентов и инженеров. — М.:
m.g . m. m
p ( t) t e 1 x0 ТОО фирма “КомпьютерПресс”, 1996. — 230 с.
µ µ
3. Руководство по применению системы Mathcad. Дьяконов В.П. —
t 0
Смоленск: Государственный научный центр по компьютерным и
T root( p ( t ) , t ) -время полёта ракеты.
информационным технологиям “Кит”. Смоленский филиал МЭИ,
µ .y0 F .T F 1992. — 114 с.
v1 v0 -вычисление начальной скорости.
µ.
T µ 4. П е р ш и ц Ю.И., Ш и ш к о Д.Ф. Теоретическая механика.
m. 1 e
m Методические указания к решению второй основной задачи
динамики материальной точки. — М.: ВЗИИТ, 1988.
Функции, определяющие перемещение ракеты:
5. Теоретическая механика. Часть II. Использование ЭВМ в зада-
µ.
t
µ.
t
чах динамики: Учебное пособие /И.А. Алейников, С.Г. Мелик-
g m. m m. F m F. джанов, Российский государственный открытый технический
Gor( t ) m. . t e 1 Ver( t ) v0 v1 . 1 e t
µ µ µ µ µ университет путей сообщения. — М.: 1995. — 28 с.
Положение цели: Движение ракеты: Начальное поло- 6. Введение в теорию механических колебаний. Пановко Я.Г. —
FRAME
жение ракеты: М.: Наука, 1971. — 240 с.
gg x0 xx Gor nx Gor( 0 )
10
7. П а н о в к о Я.Г., Г у б а н о в а И.И. Устойчивость и колеба-
FRAME
ния упругих систем. — М.: Наука, 1979. — 384 с.
vv y0 yy Ver ny Ver( 0 )
10
8. О ч к о в В.Ф. Mathcad 7 Pro для студентов и инженеров. — М.:
Компьютер Пресс, 1998. — 384 с.
9. О ч к о в В.Ф. Советы пользователям Mathcad — М.: Изд-во
МЭИ, 2001. — 196 с.
Стрельба по
Для создания анимационного клипа в
10. А л е й н и к о в И.А., Ларченков А.М., Умаров А.С. Использо-
цели mathcad следует: вание пакета Mathcad+ при решении задач теоретической ме-
-обвести область, которая должна попасть ханики. — М.: РГОТУПС, 1998. — 70 с.
в клип, пунктирной линией;
-выбрать Animation из меню Window;
11. Х е р х а г е р М., П а р т о л л ь Х. Mathcad 2000. Полное ру-
gg
-задать нижние и верхние границы для ководство. — М.: BHV, 2000. — 415 с.
xx переменной FRAME, предназначенной 12. С о б о л ь И.М., С т а т н и к о в Р.Б. Выбор оптимальных па-
специально для создания анимаций;
nx
-щёлкните по Сreate...;
раметров в задачах со многими критериями. — М.: Наука,
-для воспроизведения анимации, нажмите 1981. — 107 с.
на кнопку со стрелкой в нижнем левом уг- 13. С о б о л ь И.М. Точки, равномерно заполняющие многомер-
0 1275 2550 3825 5100
лу окна, обведённого ранее пунктиром.
vv , yy , ny ный куб.— М.: Знание, 1985. — 32 с.
14. С о б о л ь И.М., Статников Р.Б. Наилучшие решения — где их
искать.— М.: Знание, 1982. — 75 с.
110 111
4. ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ СИСТЕМЫ
MATHCAD ПРИ РЕШЕНИИ ИНЖЕНЕРНЫХ
ЗАДАЧ ................................................................................77
ОГЛАВЛЕНИЕ 4.1. Определение углов наклона балки при равновесии ....... 77
4.2. Определение усилий в опорных стержнях
пространственной конструкции ..................................... 79
ПРЕДИСЛОВИЕ ........................................................................... 3 4.3. Исследование кулачкового механизма ......................... 84
1. ОСНОВЫ РАБОТЫ С MATHCAD ....................................... 6 4.4. Торможение поезда ......................................................... 86
1.1. Меню системы ................................................................... 6 4.5. Определение усилий в сочленениях шатунно-
1.2. Создание простейших документов ................................ 18 кривошипного механизма однорядной поршневой
1.3. Ввод текста в документ ................................................. 19 машины ............................................................................. 91
1.4. Итерационные вычисления ............................................. 19 4.6. Колебания двигателя, установленного
1.5. Задание функций ............................................................. 20 на упругом основании .................................................... 94
1.6. Построение формул и редактирование документа ...... 21 4.7. Попадание ракетой в неподвижную цель .................. 103
1.7. Введение в графику Mathcad ........................................ 23
ЛИТЕРАТУРА ........................................................................... 111
1.8. Некоторые возможности символьной
математики Mathcad ....................................................... 23
1.9. Программирование ......................................................... 29
1.10. Запись результатов расчетов в файл .......................... 38
2. ФУНКЦИИ MATHCAD, ЧАСТО
ИСПОЛЬЗУЮЩИХСЯ В РАСЧЕТАХ ..................................... 40
2.1. Понятие о численных методах ...................................... 40
2.2. Интегрирование обыкновенных дифференциальных
уравнений в Mathcad ...................................................... 42
2.3. Интерполяция .................................................................. 44
2.4. Регрессия .......................................................................... 49
2.5. Алгоритм решения систем из n линейных
однородных алгебраических уравнений,
содержащих n неизвестных ............................................ 53
2.6. Решение одного уравнения с одним неизвестным
и нахождение корней полинома ..................................... 55
3. ВВЕДЕНИЕ В МЕТОДИКУ ВЫБОРА
ОПТИМАЛЬНЫХ РЕШЕНИЙ ................................................ 60
3.1. Простейшая иллюстрация использования методики
выбора оптимального решения ...................................... 60
3.2. Многокритериальные задачи ......................................... 64
3.2.1. Недоминируемые решения ................................... 64
3.2.2. Элементарные сведения о методе сеток ............. 66
112 113
Учебное издание
ЛР № 020307 от 28.11.91