Как создать анимацию в mathcad

REDMOND

Иллюстрированный самоучитель по MathCAD 7

Анимация (или оживление) графиков – новая возможность, введенная в последние версии MathCAD. Раньше такую возможность обеспечивали системы MatLAB 4.0 и Mathematica 2.22. B MathCAD анимация используется более удачно тут привлечены стандартная технология создания анимационных файлов с расширением .avi и их воспроизведение с помощью программной системы Microsoft Video 1.1. Эта система предварительно должна быть установлена на ПК в составе операционной системы Windows 95.

Принцип анимации достаточно прост. В системе имеется встроенная переменная FRAME, принимающая целочисленные значения, по умолчанию – от 0 до 9 с шагом 1. Любая функция (см. рис. 4.4), график которой планируется наблюдать в развитии, должна быть функцией этой переменной, являющейся по существу просто номером текущего кадра. Диапазон изменения переменной FRAME задается в диалоговом окне команды Animation (см. ниже). Не следует пытаться присваивать FRAME иные значения.

При создании анимационных рисунков все кадры строятся с одинаковыми координатами углов и, следовательно, с одинаковыми размерами и положением на экране. Их вывод один за другим с заданной скоростью (по умолчанию – 0 кадров в секунду) и создает живую картинку. Анимация осуществляется путем просмотра созданной последовательности кадров с помощью специального проигрывателя.

Иллюстрированный самоучитель по MathCAD 7 › Управление обзором (View) › Анимация графиков (Animation)
Рис. 4.4. Начало подготовки к построению анимационного графика

Для создания последовательности кадров анимации исполняется команда Animation, что ведет к появлению на экране ее диалогового окна (оно видно на рис. 4.4 в нижнем правом углу). В окне можно задать три основных параметра анимации: начальное значение FRAME, конечное значение FRAME и частоту смены кадров.

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

С помощью кнопки Option можно выбрать тип сжатия видеофайлов и систему работы с ними. Кроме Microsoft Video 1.1 возможна работа и с рядом других видеосистем, разумеется, если они были проинсталлированы. Чем больше конечное значение FRAME и выше частота кадров, тем более плавно происходит считывание, но увеличивается объем AVI-файлов.

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

Используя клавишу Save As…, можно вызвать стандартное окно записи файлов на диск. В этом окне можно найти папку, в которую будет помещен записываемый файл. Файл записывается с расширением .avi, принятым для файлов программной видеосистемы Microsoft Video for Windows. До записи в файл кадры видеоролика хранятся в оперативной памяти ПК, что ограничивает их число.

Иллюстрированный самоучитель по MathCAD 7 › Управление обзором (View) › Анимация графиков (Animation)
Рис. 4.5. Просмотр анима-ционных кадров с помощью проигрывателя

При создании анимационных картинок надо отключить все опции автоматического масштабирования графиков и перейти к ручному заданию масштаба Автоматическое изменение масштаба подчас ведет к скачкообразному изменению размеров графика, хотя на деле он должен меняться без скачков, точнее говоря, с дискретностью, определяемой только изменением FRAME = 0, 1, 2, 3 и т. д.

Живые кинематические схемы в Mathcad Текст научной статьи по специальности «Математика»

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

Похожие темы научных работ по математике , автор научной работы — Очков Валерий Федорович

Live kinematic models in Mathcad

The paper considers creating animation of different kinematical devices in mathematical package Mathcad (steam engine, windscreen wipers, walking machine). Mathematical tools for solving algebraic equations and their systems are described.

Текст научной работы на тему «Живые кинематические схемы в Mathcad»

УДК 51-74 В.Ф. Очков

ВАК 05.13.00 РИНЦ 20.01.00

Живые кинематические схемы в Mathcad

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

Ключевые слова: Mathcad, кинематика, анимация, решение алгебраических уравнений и систем.

LIVE KINEMATIC MODELS IN MATHCAD

The paper considers creating animation of different kinematical devices in mathematical package Mathcad (steam engine, windscreen wipers, walking machine). Mathematical tools for solving algebraic equations and their systems are described.

Keywords: Mathcad, kinematic, animation, solving of system of algebraic equations.

Английский кузнец Томас Ньюкомен в 1705 г. построил паровую машину, которая использовалась для откачки воды из шахт. С этой машиной связана одна легенда. Мальчик Хэмфри Поттер в 1712 г. устроился учеником оператора такого насоса. Для осуществления рабочего цикла машины он должен был открывать клапан подачи пара в нижнем положении поршня, а клапан подачи воды -при полном поднятии поршня. Хэмфри Поттер придумал, как избавить себя от монотонной работы. Он с помощью палочек и веревочки соединил ручки кранов и шток паровой машины. Получилось некое подобие кулисного механизма. Теперь кранами управлял сам поршень, а мальчик мог играть с товарищами во дворе. Так был изобретен золотник паровой машины — устройство автоматического парораспределения.

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

Рис. 1. Mathcad-документ, рисующий паровую машину

Валерий Федорович Очков,

д.т.н., профессор Национального исследовательского университета «Московский энергетический институт» Тел.: 8 (495) 362-71-71 Эл. почта: ochkov@twt.mpei.ac.ru

Valery F Ochkov,

Doctor of Engineering Science, Professor, National research university "Moscow Power Engineering Institute" Tel.: 8 (495) 362-71-71 E-mail: ochkov@twt.mpei.ac.ru

кой программы Mathcad [1]. Об этом пойдет речь в данной статье.

На рис. 1 показан Mathcad-до-кумент, рисующий, а затем аними-рующий горизонтальную паровую машину, вернее, ее центральную часть, состоящую (см. слева направо) из маховика, шатуна, штока, цилиндра и поршня.

В начале расчета с помощью оператора присваивания (:=) задаются исходные данные: радиус маховика R, радиус окружности r, по которой будет вращаться левый конец шатуна, длина шатуна li, длина штока I2 и диаметр поршня D. После этого устанавливается угол поворота маховика 0. На рис. 1 эта величина задается двумя операторами 0 := FRAME° и 0 := 40°. При отладке программы будет работать второй оператор, который позволит вручную изменить угол поворота маховика в диапазоне от 0° до 360° и видеть, как меняется взаиморасположение частей паровой машины. При создании анимации (об этом будет подробно сказано ниже) оператор 0 := 40° нужно будет отключить или стереть совсем, чтобы заработал первый оператор 0 := FRAME°. Отключается оператор с помощью специального переключателя, появляющегося после нажатия правой кнопки мыши, когда курсор находится на данном операторе. У выключенного из расчета оператора справа появляется метка — черный квадратик с правой стороны. Системная переменная FRAME по умолчанию равна нулю, следовательно, угол 0 будет иметь нулевое значение. Но при создании анимации пакет Mathcad будет сам менять значение переменной FRAME (см. ниже), устанавливая разный угол поворота маховика: 0°, 1°, 2° и т.д. до 360°.

У нашей паровой машины четыре узловые точки, которые мы пронумеровали числами 0, 1, 2 и 3, первая из которых неподвижна. В эту точку мы поместим начало координат: yo := 0m xo := 0m. Переменные yo и Х0 — это не нулевые значения векторов y и x, а переменные с нижним индексом — переменные с именами y0 и x0, где нули (индексы) опущены чуть вниз. В среде Mathcad нижние индексы

переменных вводятся с помощью точки в имени переменной — y.0 и x.0. При уводе курсора от такого имени переменной точка пропадает, а индекс смещается вниз. Система координат у нас будет декартова. Но некоторые другие механические схемы (модель колебания маятника, например [2]) лучше «помещать» в полярную систему координат, которая также поддерживается в среде Mathcad. Правильный выбор начала и системы координат может существенно упростить решение задачи. Также очень важно определить узловые точки кинематической схемы и их нумерацию. Наша задача плоская, но в среде Mathcad есть и трехмерная графика, что позволяет реализовывать и объемные кинематические схемы с третьей координатой z.

Чтобы получить изображение паровой машины, нужно рассчитать координаты точек 1, 2 и 3 в зависимости от значения угла 0. Это делается в области Mathcad-доку-мента (см. рис. 1) с именем «Решение». Решение задачи заключено в область для того, чтобы ее можно было сворачивать и видеть рисунок паровой машины сразу после операторов задания угла поворота маховика 0. Это упрощает процесс отладки программы: не нужно будет менять значение 0, а потом прокручивать экран дисплея по вертикали, чтобы увидеть рисунок. Свертывается область командой из списка, выпадающего при нажатии правой кнопки мыши. Вставляется область в расчет командой из меню Вставка. Область можно также защитить (с паролем или без пароля) от редактирования.

Более-менее сложный расчет потребуется провести при определении ординаты точки 2 — значения переменной Х2: аналитически (символьно) решается уравнение длины шатуна. Это нелинейное уравнение, вытекающее из теоремы Пифагора, имеет два решения (корня) — шатун с заданными длиной li и координатами точки крепления на маховике (xi и yi) может находиться слева или справа от маховика. Оператор символьной математики solve, Х2 возвращает два решения в виде вектора. Первый элемент этого век-

Рис. 2. Форматирование графика — схемы паровой машины

тора мы возьмем в качестве решения нашей задачи — координаты Х2. Операторы li:= li, yi:=yi, xi:=xi и y2:=y2, записанные перед оператором solve, Х2, «глушат» численные значения переменных li, yi, xi и y2 для того, чтобы оператор solve, Х2 вернул выражения, а не численные значения выражений. Операторы символьной математики (на рис. 1 они прописаны на сером фоне) после их использования можно убрать из расчета. Но мы их оставили, чтобы пояснить его ход. По правде говоря, уравнение положения штока можно решить и в уме без привлечения компьютерной математики аналитических (символьных) преобразований. Но мы эти инструменты задействовали для того, чтобы показать, как символьная математика помогает решать задачи в среде пакета Mathcad.

Паровой цилиндр — это прямоугольник (замкнутая линия, состоящая из четырех отрезков прямых линий), который мы будем рисовать по его четырем вершинам. Векторы xc и yc будут хранить координаты этих вершин. Переменная Л — это значение «зазора» для цилиндра: на величину Л цилиндр будет больше крайних точек хода поршня, а диаметр цилиндра будет больше диаметра поршня на величину 2Л.

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

• Кривая 1. Окружность маховика паровой машины рисуется так. Задается переменная 01, хранящая не скалярное значение, а дискретные значения угла от 0° до 360° с шагом 1° (см. оператор в нижней части области Решение на рис. 1). На графике (рис. 2) строится так называемая параметрическая кривая с выражениями R•sin(01) на оси Y и R•cos(01) на оси X, что и позволяет нарисовать окружность с радиусом R. Если переменная 01 будет хранить дискретные данные не по всей окружности, а только по ее части (01 := 40°, 41°.. 90°, например), то будет нарисована не вся окружность, а только ее часть — дуга. Такие пунктирные дуги можно видеть на рис. 5 ниже.

• Кривая 2. Окружность движения точки крепления шатуна на маховике (точка 1) строится так же, как и окружность маховика, с той лишь разницей, что эта окружность меньшего размера и прорисована не сплошной толстой линией, а тонким пунктиром. Центры наших двух окружностей с радиусами R и г находятся в начале координат. Но если к выражениям R• sin(01) и R• cos(01) прибавить константы, то окружность будет рисоваться со смещением относительно начала координат. Если же к выражениям R• sin(01) и R• cos(01) прибавлять не константы, а величины, зависящие от переменной 0 (переменная анимации), то окружность будет двигаться. Так, например, можно анимировать катящееся колесо.

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

маховика при анимации. Мы ограничились четырьмя спицами (двумя диаметрами), но спиц можно нарисовать и больше. Спицы, как и другие отрезки прямых и ломаные линии, состоящие из отрезков прямых, рисуются заданием пары векторов, хранящих координаты точек: две точки для спиц и поршня, три точки для шатуна и штока поршня (точки 1, 2 и 3) и пять точек для парового цилиндра. Формирование пары векторов для цилиндра мы перенесли из области графика в область Решение, чтобы не загромождать график.

Размер графика нужно установить таким, чтобы маховик выглядел круглым (см. рис. 1; на рис. 2 маховик выглядит овальным из-за того, что пропорции графика несколько искажаются при его форматировании). Изменение размера графика ведется протяжкой мышкой его рамки. Кроме того, при создании анимации нужно зафиксировать разброс графика по его осям. По умолчанию пакет Mathcad сам устанавливает этот разброс, ориентируясь на максимальные и минимальные значения величин по осям абсцисс и ординат, которые могут меняться. Но в процессе создания анимации этот разброс должен быть зафиксирован: на концах графика мы записали -Я — Д и R + Д (ось X) и -Я — Д и Я + 11 + 12 + Д (ось Y), где Д — это некий зазор не только для цилиндра паровой машины (см. выше), но и для графика. Если разброс графика не зафиксировать, то анимация будет «кривая»: окружность будет деформироваться в эллипс и т.д.

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

Рис. 3. Создание анимации паровой машины

Решение, то можно видеть, как меняется положение поршня, штока, шатуна и маховика (это делается, повторяем, при отладке программы), но анимации не получится. Анимация возникнет, когда скорость смены кадров будет по крайней мере равна десяти кадрам в секунду. «Перелистывать» наш «блокнот» в среде Mathcad с изображениями паровой машины в разных фазах движения призваны специальные инструменты создания анимации (рис. 3).

Для создания анимации нужно, во-первых, передать управление независимой переменной анимации (у нас это переменная 9 — угол поворота маховика) системной переменной FRAME (счетчик кадров анимации). Это делается, повторяем, отключением оператора 9 := 40°. Во-вторых, необходимо вызвать диалоговое окно создания анимации (см. рис. 3) и установить в этом окне нужные параметры анимации, а в-третьих, протяжкой мышкой определить область анимации. На рис. 3 эта область отмечена пунктиром. При создании анимации она будет отображаться в окне Запись анимации. Теперь после нажатия кнопки Анимировать (см. рис. 3) пакет Mathcad будет сам через системную переменную FRAME менять значение угла поворота маховика паровой машины 9 и запоминать кадры анимации. По завершении создания анимации появится окно с анимацией (рис. 4). Эту анимацию можно запускать в среде Mathcad, а можно сохранить на диске в виде avi-файла и запускать уже без Mathcad в среде какого-либо проигрывателя (плеера) анимации Windows. Все! Паровая машина создана, а мы себя почувствовали неким «создателем», «творцом», который может вдох-

нуть жизнь в неподвижные виртуальные объекты.

Читатель может усложнить паровую машину — добавить к ней уже упоминавшийся легендарный золотник, который «мал да дорог». Но если это покажется слишком сложным, то можно сначала потренироваться на другой кинематической задаче — на задаче о движении дворников (стеклоочистителей) автомобиля. Паровую машину мы, повторяем, можем видеть только в музее или интернете, но с автомобильными дворниками мы сталкиваемся чуть ли не каждый день.

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

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

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

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

На рис. 5 помещен расчет с помощью пакета Mathcad узловых точек кинематической схемы автомобильных дворников (параллелограмм, одну из вершин которого «шевелит» кривошип) в зависимости от угла поворота электродвигателя. Сердцевиной расчета является определение координат точки 2. Здесь уже нужно будет решать

Рис. 4. Анимации паровой машины

Рис. 5. Задача о дворниках автомобиля

не одиночное уравнение, как это было в случае с паровой машиной (см. рис. 1), а систему двух нелинейных алгебраических уравнений. И решать эту систему мы будем не аналитически (символьно; можно попытаться решить и аналитически, но решение будет уж очень громоздким), а численно через блок Given-Find (Дано-Найти), встроенный в Mathcad (рис. 5). Численное решение системы уравнений требует первого приближения к решению, которое задается операторами Х2 := b и y2 := h. Тут очень важно задать правильное первое приближение, чтобы блок Given-Find выдавал «правильное» решение во всем диапазоне изменения угла 0 от 0° до 360°. Ведь опять же «шатун» дворника (линия 1-2) при ошибочном первом приближении может оказаться на «ошибочной» стороне от точки 5. В этом случае движение автомобильных дворников может сопровождаться «судорогами» -шатун будет появляться то справа, то слева от точки крепления. В принципе первое приближение к решению должно быть не константой, а переменной величиной, зависящей от переменной анимации 0.

Точка 6 лежит на прямой линии с точками 3 и 4. Тут приходится

сначала с помощью функции ко^е решать систему двух линейных алгебраических уравнений: уз = А + Вхз, У4 = А + ВХ4, и определять значения коэффициентов А и В, а затем решить еще одну систему двух уравнений, одно из которых нелинейно, и находить координаты точки 6. Когда координаты всех точек определены, легко создать анимацию движения дворников автомобиля по методике, описанной выше для паровой машины (см. рис. 2 и 3). У функции ко^е два аргумента — матрица коэффициентов при неизвестных и вектор свободных членов системы линейных алгебраических уравнений. Матрица коэффициентов может быть и неквадратной. Это бывает тогда, когда решаются недо-определенные или переопределенные системы линейных алгебраических уравнений.

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

движение превращалось в движение, похожее на движение ноги при ходьбе по ровной поверхности.

На рис. 6 показана кинематическая схема одной «ноги» стопоходящей машины Чебышева, траектория движения ее точки 5 и распечатка векторов х и у — координат ее шести узловых точек, две из которых (1 и 2) неподвижны относительно начала координат, лежащей на второй точке. Нумерация точек у нас опять же начинается с нуля и идет в таком порядке, чтобы «ногу» стопоходящей машины Чебышева можно было нарисовать, не отрывая карандаша от бумаги и не проводя одну линию дважды. Это позволяет рисовать на графике ломаную кривую с помощью пары векторов х и у. Отрезок прямой 2-3 совершает круговое движение вокруг точки 2. Координаты точки 0 можно найти, решив систему двух алгебраических уравнений, как мы это делали в задаче о дворниках автомобиля (см. рис. 5). Предлагаем читателю самому написать Mathcad-документ создания анимации движения «ноги Чебышева» по методикам, описанным выше. Расстояния между точками мы не указываем — их можно просто измерить, прикладывая линейку к

Рис. 6. Стопоходящая машина Чебышева

рис. 6. Наиболее сложно будет заставить Mathcad рисовать траекторию движения точки 5 (и точки 4 -линия 4-5 строго вертикальна). Есть разные способы рисования этой замкнутой пунктирной кривой. Можно, например, вручную протабулировать эту функцию: изменять значения угла 0 от 0° до 360° с шагом 10°, например, записывать в два вектора с 37 элементами — координатами точки 5, а затем нарисовать эти точки на графике, соединив их пунктиром. Точка 4 движется синхронно с точкой 5, точка 0 описывает дугу окружности, точка 3 совершает круговое движение, а точки 1 и 2 неподвижны. В данной задаче главное так подобрать длины рычагов, чтобы траектория движения точек 4 и 5 на некотором участке была наиболее близка горизонтальной линии, а вся стопоходящая машина (а у нее две пары таких ног, движущихся со сдвигом на 180°) передвигалась без ощутимых вертикальных колебаний.

У Чебышева было много последователей в плане создания стопоходящих машин, переводящих вращательное движение в плавное

горизонтальное. Наиболее знаменитым из них является датчанин Тео Янсен (Theo Jansen), который сконструировал и построил машину, схема которой показана на рис. 7. В этой машине также можно менять длины между точками (суставами «ноги»), чтобы перемещение опорной точки «стопы» было по возможности горизонтальным. У стопоходящей машины Янсена только точки 0 и 1 неподвижны, остальные находятся либо в круговом, либо в более сложном (см. пунктирные линии на рис. 7) движении. У Чебышева было также много и предшественников в плане создания стопоходящих машин, но он был первым, кто при конструировании таких механизмов стал использовать сложный математический аппарат. На рис. 6 показано устройство, «рисующее» некий сплюснутый с одного бока овал. Но математики доказали, что можно создать более сложное подобное механическое устройство, которое, например, может воспроизвести подпись любого человека.

На рис. 7 показаны две «ноги» Янсена, одна из которых двигается

с запаздыванием на 180°. Тео Янсен построил такую машину из дерева с десятком ног, которые приводятся в движение ветряным двигателем и «со скрипом», но двигаются по пляжу. Это видео можно скачать из интернета.

Данные и другие кинематические схемы собраны на сайте http://communities.ptc.com/groups/ kinematic-models-in-mathcad.

Несколько слов об этом сайте. Этот сайт создан и поддерживается компанией PTC (www.ptc. com) — владельцем пакета Mathcad. Часть этого сайта отдана сообществу (communities) пользователей пакета Mathcad для того, чтобы они могли общаться между собой, задавать вопросы, вести блоги, обмениваться полезной информацией и т.д. На этом сайте можно создавать так называемые группы (groups) по отдельным темам. Одна из таких «групп» имеет название, совпадающее с названием данной статьи. С этого же сайта можно скачать бесплатную пробную версию пакета Mathcad.

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

Рис. 7. Стопоходящая машина Янсена

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

рисунках статьи, но и под действием силы тяжести, силы инерции и других реальных физических сил. Так, в статье [2] описано, как можно моделировать и анимировать в среде Mathcad движение планет и их спутников под действием силы инерции и силы всемирного тяготения, а в статье [3] — движение маятника под действием той же силы инерции, силы земного притяжения, силы натяжения нити (жесткой

или эластичной) и силы сопротивления вязкой среды, где маятник качается.

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

и создание анимаций в Mathcad

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

а). Напишите программу для нахождения

1. суммы натуральных чисел от n до m. Значение m может
быть меньше n

2. произведения чисел от 1 до m. Шаг равен 0,1

3. первых n чисел из ряда Фибоначчи (ряд начинается с двух единиц,

каждое последующее число равно сумме двух предыдущих)

4. факториала числа n

5. суммы элементов случайной матрицы n x m

6. произведения диагональных элементов случайной матрицы n x m

7. суммы элементов строки i и столба j случайной матрицы n x m

8. объединения двух векторов в один

9. транспонированной матрицы

10. произведения первых n четных чисел

REDMOND

б). Выполните символьные вычисления

1. найдите число Пи с точностью до 40 знаков

2. упростите выражение

3. упростите выражение

4. найдите предел

5. интегрируйте выражение

6. дифференцируйте выражение

7. возведите в куб число

8. решите уравнение

9. при каких значениях A уравнение не имеет вещественных корней?

10. решите уравнение относительно

в. Постройте анимацию изменения значения:

1. функции на интервале от 0° до 180° с шагом 4°

2. функции на интервале от -1 до 1 с шагом 0,2

3. функции на интервале от -1 до 1 с шагом 0,1

4. функции на интервале от до с шагом 36°

5. функции на интервале от -2 до 2 с шагом 0,2

6. функции на интервале от до с шагом 8°

7. функции на интервале от -1 до 2 с шагом 0,1

8. функций и на интервале от 0° до 180° с шагом 2°

9. функции на интервале от до с шагом 6°

10. функции на интервале от до с шагом 18°

3.3. Теоретические сведения

3.3.1 Программирование в Mathсad:

При написании функций в Mathсad для организации циклов и условных переходов удобно использовать возможности из панели Programming. Mathсad предоставляет средства создания локальных переменных (), условных переходов (if,otherwise), стандартных циклов (for, while,

break, continue). Команда Add Line добавляет строки в программу.

Напишем программу нахождения вещественных корней квадратного уравнения:

Определим функцию, в поле ввода дадим команду Add Line:

Вертикальная черта объединяет строки программы. Выберем в панели Programmingзнак локального присваивания " "и запишем формулу для расчета дискриминанта. Знак присваивания ":=" внутри тела программы не используется.

Выберем в панели Programming условный оператор if. Обратите внимание, что операторы программирования можно вводить только с помощью панели Programming или используя клавиатурные сокращения. В правое поле введем знак сравнения – меньше из панели Boolean, а в левое знак локального присваивания "".

Заполним пустые поля.

Добавим еще одну строку в программу с помощью Add Line. Обратите внимание на, что в зависимости от положения курсора строка добавляется до или после выделенного фрагмента. Размер выделенного фрагмента можно менять нажимая на пробел.

Введем проверку на равенство дискриминанта нулю. На следующей строке используем оператор otherwise. Этот оператор используется совместно с одним или несколькими условными операторами if и указывает на выражение, которое будет исполняться если ни одно из условий не оказалось истинным.

Добавим внутрь otherwise еще одну строку и введем выражения для вычисления корней уравнения.

Строки программы выполняются последовательно и результатом является значение последнего выполненного оператора. Кроме того, с помощью оператора return можно прервать программу и указать какое значение нужно вернуть в качестве результата. Добавим оператор return во вторую строку программы и укажем в конце программы, какое значение мы хотим видеть результатом ее работы.

Проверим работу программы.

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

Оператор break прерывает выполнение цикла, оператор continue завершает выполнение текущей итерации внутри цикла.

3.3.2 Символьные вычисления в Mathcad:

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

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

учитывается все содержимое документа.

разложим на множители выражение

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

а при вычислении с помощью оператора factor из панели Symbolics учитывается значе- ние переменной х:

Приведем еще несколько примеров символьных вычислений:

упрощение выражения с помощью команды Simplify из меню Symbolics

упрощение выражения с помощью оператора ® из панели Symbolic

приведение подобных слагаемых:

Cимвольное интегрирование и дифференцирование выражения по выделенной переменной. Перед выполнением команды из меню Symbolics-Variable выделите переменную

by integration, yields

by differentiation, yields

решение уравнения относительно переменной y, с последующим представлением ответа в виде чисел с плавающей точкой с точностью до 5 знаков и демонстрацией промежуточного результата:

без промежуточного результата:

3.3.3 Создание анимаций в Mathcad: :

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

1. записываете выражения, зависящие от встроенной переменной FRAME

2. вызываете команду Animate. из меню View

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

4. после создания анимации командой Save As из окна Animate результат можно сохранить в отдельный файл формата avi.

В качестве примера рассмотрим процесс создания анимации работы кривошипно- шатунного механизма:

— угол поворота кривошипа зависит от значения переменной FRAME

— задаем длины кривошипа и шатуна

— записываем уравнения движения кривошипа и шатуна

— записываем уравнения для отрисовки ползуна (координаты зависят от положения шатуна) и направляющих:

— строим изображение кривошипно- шатунного механизма, фиксируем масштаб графика

— выводим значение угла поворота кривошипа и координаты звеньев кривошипно-шатунного механизма

На этом подготовительные операции закончены и мы вызываем команду

Animate. из меню View.

Выделяем фрагмент рабочего стола,изменения в котором мы будем отсле-

живать (график и значения переменных).

Задаем начальное и конечное значение переменной FRAME (в нашем случае это значение будет соответствовать углу поворота кривошипа).

Задаем скорость отбражения кадров и нажимаем Animate.

3.4. Порядок выполнения работы

– ознакомиться с теоретической частью, выполнить примеры и ответить на контрольные вопросы;

– получить задание у преподавателя;

– с помощью cправочной системы Mathcad выяснить назначение и формат

перечисленных в задании встроенных функций и операторов Mathcad;

– выполнить задание и составить отчет о работе.

3.5. Пример выполнения работы

а) Напишите программу для нахождения суммы целых чисел от n до m.

Значение m может быть меньше n

— если n > m, то меняем их местами

— округляем минимальное до ближайшего большего целого

— начальное значение суммы равно 0

— проверяем работу программы

б) Выполните символьные вычисления: найдите число Пи с точностью до 40 знаков .Отображаем с требуемой точностью:

в) Постройте анимацию изменения значения функции на интервале от 0 до 180° с шагом 4 градуса

— в параметрах команды Animate будем задавать FRAME от 0 до 45, поэтому

так как i изменяется от 0 до 45 с шагом 1, то значения угла — angle будет меняться от 0 до 180 с шагом 4. Отмечаем, что angle имеет размерность градусы, а не радианы. Фиксируем масштаб графика: ,

REDMOND

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *