М. У. Рыбников Е.К. уч.З №2089 Применение...

39
М . У. Рыбников Е.К. уч.З №2089 Применение математическ 11 зо9 ого пакета н|'04Часть 2 ■НП 11111 ||||||||||||Н |||||| ,№НИ„ и МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ (МИИТ) Кафедра «Электрическая тяга» Е.К. РЫБНИКОВ, С.В. ВОЛОДИН Утверждено редакционно издательским советом университета ПРИМЕНЕНИЕ МАТЕМАТИЧЕСКОГО ПАКЕТА ПРОГРАММ MATHCAD ДЛЯ ИНЖЕНЕРНЫХ РАСЧЁТОВ МЕТОДИЧЕСКИЕ УКАЗАНИЯ к лабораторным работам по дисциплине «ИНФОРМАТИКА» Часть II для студентов I курса специальности «Электрический транспорт (железнодорожный транспорт)» Москва - 2004

Upload: hatuyen

Post on 22-May-2018

254 views

Category:

Documents


3 download

TRANSCRIPT

М. У. Рыбников Е.К. уч.З№2089 Применение математическ

11 зо9 ого пакета н|'04Часть 2

■ Н П 11111| | | | | | | | | | | | Н | | | | | | ,№НИ„и

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ (МИИТ)

Кафедра «Электрическая тяга»

Е.К. РЫБНИКОВ, С.В. ВОЛОДИН

Утверждено редакционно­

издательским советом университета

ПРИМЕНЕНИЕ МАТЕМАТИЧЕСКОГО ПАКЕТА ПРОГРАММ MATHCAD ДЛЯ ИНЖЕНЕРНЫХ РАСЧЁТОВ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам по дисциплине

«ИНФОРМАТИКА»

Часть II

для студентов I курса специальности «Электрический транспорт (железнодорожный транспорт)»

Москва - 2004

УДК 681.3.06

Р93

Рыбников Е.К., Володин С.В. Применение математического пакета программ MathCad для инженерных расчётов: Методические указания к лабораторным работам по дисциплине «Информатика». Часть И. - М.: МИИТ, 2004. - 38 с.

В методических указаниях приведены основы работы с пакетом MathCad. Даны примеры и программы для инженерных расчётов. Рассказано о наиболее часто употребляемых операторах и последовательности построения вычислений.

© Московский государственный университет путей сообщения (МИИТ), 2004

Введение

Математический пакет программ MathCad - это математический редактор, позволяющий осуществлять математические расчёты различной степени сложности: от простых арифметических вычислений, до сложных инженерных расчётов.

Простота использования MathCad заключается в использовании метода реального представления математического документа, т.е. то, что видно на экране будет использовано для расчётов и получено в окончательном документе при печати его на принтере.

В MathCad математические выражения представляют собой обычные формулы и уравнения. Для их вычисления не надо писать программы, как, например, в Turbo BASIC, что значительно облегчает работу с программой.

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

Работа в программе аналогична работе в формульном редакторе программы Word.

Начало работы с MathCad

Для запуска MathCad необходимо найти ярлычок, изображённый на рис. 1. Обычное расположение этого ярлычка находится по пути Пуск-^Программы-^MathSoft Apps-^MathCad. Данный ярлычок может быть выведен на рабочий стол.

После запуска программы на экране монитора появляется рабочий экран MathCad (рис. 2), который представляет собой стандартный рабочий экран программ-приложений операционной системы Windows. Основными элементами экрана программы являются:

- заголовок окна приложения (/), содержащий управляющие кнопки приложения;

ШЧй! . Mathcad 11 Enterprise

EditionРис. 1. Ярлычок

программы

- 3 -

C\Mathcad [Без названия:!]

- главное меню программы-приложения (2), содержащее все доступные в приложении команды;

- панели инструментов программы-приложения (5), кнопки быстрого доступа до наиболее часто используемых команд;

- рабочая область (4), в которой непосредственно создаётся документ;- строка состояния (5), которая выводит режим работы программы-

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

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

^ - указатель - стандартный вид курсора;Н— курсор ввода - определяет на рабочем листе верхний левый угол

вводимого блока;_| - курсор редактирования формулы - определяет направление и

зависимость элементов формулы;| - знакоместо - элемент выражения, требующий заполнения.

- 4 -

Работа с документамиПри работе с MathCad используются

те же принципы, что и при работе со всеми остальными программами-приложениями в операционной системе Windows. Так при работе с документом пользуются командами главного меню (рис. 3):

Файл 4 Новый - для создания нового документа MathCad;

Файл 4 Открыть - для открытия уже созданного документа;

Файл 4 Закрыть - для закрытия текущего документа;

Файл 4 Сохранить - для сохранения текущего документа;

Файл Сохранить как - для создания копии текущего документа.

Следует обратить внимание на то, что осуществляются только с тем документом, используется программой, т.е. является рабочим. Поскольку MathCad, как и любая другая программа Windows, является многозадачной, следует быть внимательным при одновременной работе с большим количеством документов.

Правка Вид Вставить Форма

О Новый... Ctri-fN

С Ё О ткры ть... СЫ+О

Закрыть

У Сохранить ОгИ-5

Сохранить Как...

Сохранить как Web-CTpanwy...Параметры странны ... Предварительный просмотр

П ечать... Ctrl+P

Передать...

Выход

Рис. 3. Команды меню Файл

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

Запись математических выраженийВвод выражения в MathCad достаточно прост. Для этого необходимо

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

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

На самом деле не все выражения являются простыми и требуют применения более сложных режимов вычисления.

Для ввода таких выражений в MathCad можно воспользоваться несколькими способами. Самый простой - использовать панели инструментов, доступные в MathCad. Так для ввода выражений в программе предусмотрена специальная панель инструментов Математика (рис. 4), которая содержит девять управляющих кнопок. Под каждой кнопкой скрывается

- 5 -

Матема., Q<1

В $ Н 1ЕЕЩЗ

! sin cos tan In tog ( n! i 1*1 Г " Г e* $ ( ) x* xyn 7 8 9 /

<7 4 5 6 x

+ 1 2 3 + == - 0 - =

©4©йШЗ \ x" 1*1ЙЙ tf‘ Пт ».л i ' ! Sx5 Jg g

н а ш= a a

-* •-» fx

if *̂ ,i%

C i t X ? 4

Символы Н Н Ш-> Modifiers

float complex assumesolve simplify substitutefactor expand coeffscollect series parfracfcurier laplace ztrans

invfourier inviapiace jnvztransnT -> (I-1- .

Програмгафование §§I Add Line <—

i if otherwisefor while

i break contmue; return on error

a 0 у 8 s f>? 0 i * X f»» 5 о к P оГ О Ф X Y й)А В Г Л Е ZН 0 I К Л МК - О П Р Г т Y Ф X Т Q

Рис. 4. Панели инструментов, открываемые с панели Математика

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

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

Если данная панель не представлена в рабочем окне MathCad, то её можно вывести с использованием команд главного меню Вид •♦Панели инструментовт>Математика (рис. 5).

6 -

V Строка Состояния

Заголовок и Нижний Колонтитул..

Границы

Средства Управления

v Ресурсы

Обновить

Йасштабцювание...

: iV Арифиетикасы+* ;Йасштабцювание...

V Графики

V Матрицы

.'V Вычисления

Матаналю

V Булево

v Программ рос а тс

* Греческий алфавит

v Символы

Модификаторы

Рис. 5. Команда главного меню Панели инструментов

Структура документаВесь документ MathCad представляет собой набор блоков, в которых

введены данные. Такие блоки подразделяются на два типа:- текстовые блоки, в которых введены пояснения, описания и т.д.;- блоки формул - блоки, содержащие выражения для расчёта.Такие блоки как, например, блоки построения графиков (вывода

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

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

Ввод математических выраженийПри выборе места на листе документа, куда будет вводиться выражение

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

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

- 7 -

а)

sin| - я I = 0.707

б)

а := 5

Ъ := 10

с := а + b с= 15

Рис. 6. Ввод математических выражений

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

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

Рассмотрим последовательность ввода для сложного выраженияsin(3x + 0.5x) Зх

у = — ------------- + ----- .cos(0.5x-3x) 0.5х

Для того чтобы ввести данное математическое выражение в MathCad необходимо осуществить следующую последовательность, действий: «у», ~ , sin, 3 , х , <сс», «пробел», + , 0 , ‘ , 4 5 , х , «х», «пробел», «пробел»,

У COS 0 • С у — Q ■ : ^«пробел», «пробел», , , , ' , , , «х», «пробел», , , ,

4- 3 х«х», «пробел», «пробел», «пробел», «пробел», «пробел», , , , «х»,«пробел», f , 0 . ' , 5 , х , «х». Здесь в кавычках указаны действия,вводимые с клавиатуры, а остальные действия вводятся с панели инструментов Арифметика. Как видно в последовательности несколько раз присутствует клавиша «пробел». Дело в том, что при написании выражения курсор редактирования следует за последним введённым элементом формулы. Но иногда возникают моменты, когда курсор должен охватывать не последний элемент, а, например, целое выражение. Дтя изменения внешнего вида курсора редактирования и предназначено использование пробела при написании формулы. Рассмотрим простой пример неправильного написания формулы

- 8 -

(рис. 7). При вводе дроби —— в знаменателе дроби стоит сумма, если не

отнести знак дроби к сумме, то получится совсем другой результат (рис. 7, б). Фактически использование клавиши пробел заменяет использование скобок при написании математических выражений (рис. 7, в). Использование же скобок в MathCad, так же как и в арифметике, повышает приоритет действия.

Ввод текстаВ MathCad наиболее часто используются блоки формул, но для

составления пояснительной записки в ней необходимо использовать пояснения, замечания и т.д. Таким образом, необходимо осуществлять ввод текстовых блоков. Если в MathCad начать вводить символы, то программа расценит это как ввод имени переменной и соответственно присвоит этому блоку статус формулы. Для того, чтобы в документе корректно вводился текстовой блок необходимо использовать специальную команду главного меню Вставить •♦Текстовая область или ввести с клавиатуры символ кавычек (рис. 8).

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

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

Операторы присваиванияНа рис. 6 видно, что при использовании

различных режимов расчётов в MathCad знаки равенства различны. Дело в том, что во втором случае (рис. 6, б) до вывода результата, где используется знак равенства, осуществляются

Е Д Д О тж а т Ингтпунднты С »

Графики ►

[:::] Матрица... Ctrf+M#0 Функция... СМ+€

£д»*«ы Измерения... сы+иРисунок СЫ+ТОбластьРазрыв Страницы

Текстовая Область * :j

Компонент.,,

Данные ►

Элемент ►

£«5ъект...

Ссылка...

Г-'-ВЯЗе;. ..

Рис.8. Команда Текстовая область

- 9 -

присваивания исходных данных и выражения переменным. Фактически знак := является оператором присваивания. Рассмотрим возможные варианты использования операторов присваивания в MathCad:

- оператор присваивания, осуществляет присваивание переменной ■ числовых значений или математически) выражения;

“ - оператор глобального присваивания, позволяет осуществлятьприсваивание в любом месте программы;

- выразить символически;- оператор локального присваивания, осуществляет присваивание

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

Программирование.Помимо этих операторов присваивания существует ещё два символа

равенства, которые используются для:= - определения равенства величин (знак отношения);

- вывода результата.

Понятие переменнойВ MathCad как и в любом другом математическом процессоре

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

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

- простая переменная - характеризуется единственным числовымх := 2

выражением, пример ввода ;- дискретная переменная - переменная, изменяющаяся на

определённом интервале с определённым шагом, пример вводах := 0,0.1.. 10 _

- 10-

- функциональная переменная - переменная, принимающая свои значения на основе аргумента, пример вводах := 0,0.1.. 4 п , у(х) := sin(x)

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

х«- 12документ, например ;- индексированная переменная - переменная, используемая при

определении матриц, характеризуется индексом - целымaj := 10

положительным числом, пример ввода ;- глобальная переменная - содержит только одно числовое значение,

действие этой переменной распространяется на весь документ, т.е. независимо от того, где определена глобальная переменная, она может использоваться в любом месте документа, пример ввода переменнойconst = 3.142

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

переменной используется командах := 5.4..-5с панели инструментов

Матрицы. При использовании вданном случае двух точекпрограмма выведет сообщение об 5ошибке. После запятой в 4дискретной переменной Оуказывается не шаг переменной, аследующее значение, т.е. начальное 2значение плюс шаг. Это особенно 1важно знать, когда вычисления посуществляются с отрицательнымшагом. На рис. 9. представлены -1 у := 5,-1 ..-5правильный (а) и неправильный (б) -2ввод дискретной переменной с -3 У =шагом -1. В дискретнойпеременной, изменяющейся с -4 ьшагом 1 указывать следующее -5 -1значение необязательно. а) б)

Рис. 9. Ввод дискретной переменной

- 11-

При вводе функциональной переменной в скобках обязательно должно указываться имя переменной являющейся аргументом функции - это может быть простая или дискретная переменная. Допускается использование функциональной переменной по нескольким аргументам, напримерt(x,y,z) := sm(x) + sin(y) + sin(z)

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

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

применив команду = с панели инструментов Арифметика или Вычисления.При решении простого выражения ответом будет являться числовое

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

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

у = 0.909Рис. 10. Решение

функции

У := sir< 2)

- 12-

х := 0,0.1.. 4-я

у(х) := sin(x)

УО0 =о"

о Т

0.1990.2960.3890.4790.5650.6440.7170.7830.8410.8910.9320.9640.9850.997

х := 0 ,0.1.. 4-я

у(х) := sin(x)

Рис. 11. Вычисление функции sin х Рис. 12. Табличная форма результатов

а )

х:= 10

у(х) := sm(x)

у(х) = -0.544

у(х) := sin(x)

у(10) = -0.544б)

Рис. 13. Вычисление функции

- 13-

Построение графиковПри расчётах, особенно значений функций, часто

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

качестве представления результата можно воспользоваться графическим модулем MathCad.

На панели инструментов Математика есть команда 'dll вызова панели Графики (рис. 14).

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

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

Пример использования данной команды для построения функции• —0 1 д:у = smx-e

приведён на рис. 16. Последовательность действий для построения графика состоит в вводе аргумента функции - переменной X , вводе рассчитываемой

Графики ®

Ф ^ щ

Рис. 14. Панель Г рафики

- 14-

х := 0 ,0.1.. 10 я

у(х) := sin(x) ■ е 0.1 х

Рис. 16. Использование графического метода

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

по одной переменной (рис. 17). Для этого необходимо в знакоместе, где вводится функция, поставить запятую, после чего в этом месте появится второе знакоместо для ввода дополнительной функции. Пример такого использования графического модуля показан на (рис. 18).

- 15-

у(х) := sin(x) з(х) := cos(x)

х := 0 ,0.01.. 4я

Параметры оформления графика в документе MathCad вызываются двойным щелчком по полю графика. Изменяемыми параметрами являются: наличие сетки, представление осей, представления линий графика и т.д. Панель параметров графика представлена на рис. 19.

Formatting Currently Selected X У Plot

О сиХ-Y \ След I Метки?; Умолчание

Gcb-XШргтЩ0 Линии Сет 0 Нумерация 0 Аетомааяг 0 Показать Метк 0Аетосетк< Размер сетки:

Ось-V.............П Логарифм.0 Линии Сет»0 Нумерация 0Аетом асш г Г~1 Показать Меткг 0 Аето сетка Размер сетки: ! 2

Стиль Оси..... ......0 Ограничь 0 Равные масил0Пересече О Нет

ОК Отмене Справка

Рис. 19. Панель параметров графика

- 16-

n :=20

i,:=Q.. n b. :=-1.5 + 0.15 i j:=0..n c. 1.5+ 0.15 j

f(b, c) := sin(b2 + c2)

M. . :=ffb.Jc.’j ij ч i v

Помимо построения двумерного графика пакет MathCad позволяет осуществлять построение трёхмерных графиков - графиков поверхности. Для этого значения функций, определяющие график поверхности необходимо перевести в матрицу, имя которой указывается при построении графика. Для вызова заготовки графика поверхности на панели Графики (рис. 14) необходимо выбрать команду Ш...

Пример построения графика поверхности представлен на рис. 20.

Программирование в MathCadВ MathCad содержатся конструкции, во многом подобные конструкциям,

содержащимся в языках программирования: условные операторы передачи

17-

х := 11

х := 11 i

а) ^ б)Рис. 21. Использование команды Add Line

ll

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

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

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

Для вставки в MathCad блока профаммы имеется специальная панель Программирование (рис. 4), которая содержит все операторы доступные для профаммирования. Вызывается панель Программирование нажатием на кнопку © панели Математика.

Блок профаммы в MathCad (фуппа операторов) обозначается сплошной вертикальной чертой, которая ставится слева от заключённых в профамму операторов. Для начала блока необходимо выбрать команду Add Line, после этого в документе появляется заготовка блока профаммы (рис. 21, а), при необходимости использования нескольких операторов в блоке профамм нужно применить команду несколько раз (рис. 21,6).

Оператор условного переходаВ процессе решения задачи встречаются случаи, когда необходимо

выполнять действие в зависимости от выполнения или невыполнения некоторого условия. Этого можно добиться с помощью операторов условного перехода If и Otherwise. Обе команды находится на панели Профаммирование (рис. 4).

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

Гб при \х\ > 2

/(X) [ V W при |х| < 2 ' где х - изменяется в интервале от -10 до 10.

- 18-

Значение функции при выполнении условия

Имя функции — ► | ,■= 11 i f | м ----- — Проверяемое условие

| | otherwise4 ___Значение функции при

невыполнении условияРис. 22. Параметры операторов условного перехода

Решение этой задачи в MathCad будет иметь вид, представленный на рис. 23.

Если необходимо под оператором условного перехода объединить несколько действий, то можно сформировать блок операторов с помощью применения команды Add Line, которая применяется в метке «Значение функции по умолчанию». В этом случае будет создан блок операторов второго уровня, выполнение которых будет осуществляться при выполнении условия (рис. 24). То же справедливо и для использования блока действий под оператором Otherwise.

х :=-10,-9.9„ 10

К*) := 0 if | х |>2

/ 2^ 4 - х otherwise

2

f(x)

1

' ■ П '0

__________ !__________-10 0 10

X

Рис. 23. Использование If для решения функции

- 19-

1 if 1 М — — — Проверяемое условие

1' 1

Действия, выполняемые при

1* /otherw ise

соблюдении условия

Р )

Действия, выполняемые при

I . / несоблюдении условия

Рис. 24. Использование блоков операторов

Для выполнения действия с одновременной проверкой нескольких независимых условий можно использовать оператор объединения Л! с панели инструментов Булево. Пример заготовки для такой формы записи представлен на рис. 25. Для проверки выполнения хотя бы одного условия используется оператор исключения Lv .

Операторы циклических вычисленийЦиклические вычисления в MathCad проводятся с помощью операторов For

и While, находящихся на панели инструментов Программирование.В MathCad имеется два типа цикла- если известно необходимое число операций, то применяется оператор

For - рис. 26;- если число циклов неизвестно или цикл управляется истинностью

некоторого условия, то применяется цикл While - рис. 27.Пример использования оператора For будет приведён ниже. Примером

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

Так же как и в других языках программирования в MathCad допускается использование вложенных циклов. Если в теле цикла необходимо объединить

I----- Проверяемое условие 1I (— Проверяемое условие 2т ▼

1 :* 1 if j| л ;i otherwise

Рис. 25. Использование оператора If по нескольким условиям

- 20 -

Г Имя переменной циклаДиапазон значений в котором

f изменяется переменная циклаI :■ for ( € 1

I ------Тело цикла

Рис. 26. Структура оператора For

I :■ whileГ Условие выполнения цикла

I

к Тело цикла

Рис. 27. Структура оператора While

m :=0..2500 Vm := 1 + sm(in)

t(V ,th) Ь 0

while V.<th j

i H + ij

t(V,1.98) =8

Рис. 28. Использование оператора While

несколько операторов, то используется команда Add Line.

Оператор BreakОператор Break используется для выхода из цикла или остановки

выполнения программы при выполнении некоторого условия. Пример использования оператора Break приведён на рис. 29. Решение предыдущей задачи в данном случае - это вывод номера элемента и его величины.

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

-21 -

m :=0.. 2500

Vm := 1 + sin(m)

t(V ,th)

break if max(V)<thwhile V.<th

J

j—j + 1 jV.J

к V, 1.98)81.989

Рис. 29. Использование оператора Break

Программа-константаПеременная при выполнении этой программы будет принимать

единственное значение (рис. 30).

Программа-переменная:В результате выполнения программы переменная у принимает значение,

зависящее от начального х (рис. 31).

for i e 1.. 64

return s if s>1012- i - 1 n —2

s— s + ns

s = 1.0995*1O12Рис. 30. Программа-константа

x :=9

у := VhT| if x<0

ex if 0<x<10•x

-0

sin(t)t

dt if x>10

y=8.103*103

Рис. 31. Программа-переменная

- 22 -

Программа-функция:Нахождение значения функции

осуществляется вне блокапрограммирования по явно заданным значениям аргументов г и h (рис. 32).

Работа с массивамиМассив - упорядоченная и

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

В то время как простые переменные содержат всего одно значение, массивы хранят много значений. Всего имеется три способа формирования массива:

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

вычисления элемента массива через его индекс);- считывание массива из файлов данных.Различают несколько типов матриц: одномерные (вектор), двумерные и

тензоры (многомерные или вложенные массивы).Организация массива в MathCad осуществляется с помощью команды

В ста ви ть^ Матрица (рис. 33), главного меню программы, или с помощью команды У , панели инструментов Матрицы. Напомним, что данная панель вызывается кнопкой У с панели инструментов Математика (рис. 4). При использовании команды вставки массива на экране появляется запрос о параметрах матрицы (рис. 34), в которой указывается количество строк и столбцов в создаваемой матрице. После подтверждения введённых значений командой Ok, в документе будет создана основа матрицы с количеством знакомест соответствующих количеству элементов матрицы (рис. 35). В этом же запросе осуществляют ввод параметров исправления матриц: удаления илидобавления строк или столбцов. Для этого

Формат Инструменты Он

Графики

i i iФункция... Ctri+E

^ Единицы Измерения... Ctrl-HJ

Рисунок Ctrl+T

Область

Разрьв Страницы

Текстовая Область *

I Компонент...

Данные

Элемент

О бъект...

Ссылка...

Рис. 33. Команда главного меню Матрица

V(r,h) := s— я г

V-1-s-h3

V(l,2) =2.094

Рис. 32. Программа-функция

- 23 -

используют кнопки Вставить и Удалить (рис. 34).Начало нумерации элементов массива начинается с нуля. Это определено

системной переменной ORIGIN, изменение данной переменной позволяет изменить номер первого элемента массива. При этом рекомендуется переменную ORIGIN определять оператором глобального присваивания. Это гарантирует одинаковое определение всех массивов во всём документе.

При работе с массивами элементы можно задавать или выводить как в целом, так и индивидуально, для этого используется команда х" с панели инструментов Матрицы. Если используется многомерный массив, то номер элемента массива указывается через запятую (рис. 36).

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

Помимо этого, индексированные переменные применяются при выводерезультатов из-под команды программирования Add Line. Пример такого использованияиндексированной переменойпредставлен на рис. 29.

Для изменения размера матрицы необходимо щёлкнуть на элементе массива и выбрать команду М на панели инструментов Матрицы. После появления запроса (рис. 34) необходимо в поля Строки или Столбцы ввести количество изменяемых параметров, далее для их

А0 , 0 :_25 A j 3 := 20

А =25 0 0 0

0 0 0 20

А 0 , 3 ~ °

Рис. 36. Ввод и вывод отдельных элементов матрицы

- 24-

добавления удаления необходимо нажать кнопку Вставить, для удаления - Удалить.

При работе с массивами можно использовать следующие действия:- умножение матрицы на скаляр;- умножение матрицы на матрицу;- деление элементов матрицы на скаляр;- сложение матриц;- увеличивает элемент матрицы на скаляр;- вычитание матриц;- уменьшение элементов матрицы на скаляр;- возведение матрицы в степень (степень п - целое число, если п -

меньше 0, то это степень обращённой матрицы);- обращение матрицы (возведение в степень -1);- транспонирование;- сортировка значений;- суммирование элементов.

Ввод числовых значений в таблицуДля ввода числовых значений матрицы-вектора необходимо задать

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

Сортировка элементов массиваПри обработке экспериментальных данных иногда существует

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

- sort(V) - для сортировки элементов вектора (матрицы-строки или матрицы- столбца);

- rsort(A,n) - для сортировки элементов матрицы А в порядке возрастания элементов строки п этой матрицы;

- csort(A,n) - для сортировки элементов матрицы А в порядке возрастания элементов столбца п этой матрицы;

i := 0.. 4

5101|

Рис. 37. Ввод значений в таблицу

- 25 -

Для того чтобы ввести функцию сортировки необходимо на панели инструментов Стандартная выбрать команду ** - Вставить функцию. После этого появится запрос со списком всех функций (рис. 38), которые встроены в MathCad. В списке функций, расположенных в алфавитном порядке (опция Всё), необходимо выбрать нужную функцию и нажать Ok. Далее в функции указываются параметры:

- для матрицы-вектора-рис. 39;- для двумерной матрицы - рис. 40.При сортировке данных в матрице-векторе (матрица-столбец или

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

Внимание! Если значение ORIGIN не изменено, матрицы будут пронумерованы, начиная с нулевого столбца и нулевой строки. Если необходимо отсортировать матрицу по первому столбцу, то в функцию csort необходимо ввести параметры (А,0).

Имя массива с Имя массива с^ отсортированными данными ^ отсортированными данными

jj :* SOrt(i) jj:* csort(*,i)

^ __Имя массива с А Номер столбцаисходными данными I сортировки

j___ Имя массива сисходными данными

Рис. 39. Параметры сортировки Рис. 40. Параметры сортировкиматрицы-вектора двумерной матрицы

- 26 -

И ' 1113 12

М :=(1 5 3 2 4) L:= 15 А := sort(L) А = 13

В := soit(M) 14 14

В = [ 1 2 3 4 5 ] 12 15

Рис. 41. Сортировка Рис. 42. Сортировкаматрицы-строки матрицы-столбца

1 12 13 17 1916 2 14 10 22

N := 15 11 3 8 2421 9 18 4 725 20 23 6 5

Р :=rsort(N, 3)17 19 12 13 110 22 2 14 16

Р = 8 24 11 3 154 7 9 18 216 5 20 23 25

Рис. 43. Сортировка матрицы по номеру строки

' 1 12 13 17 19’16 2 14 10 22

N := 15 И 3 8 2421 9 18 4 725 20 23 6 5

О :=csort(N,2)

15 11 3 8 24'1 12 13 17 19

О = 16 2 14 10 2221 9 18 4 725 20 23 6 5

Рис. 44. Сортировка матрицы по номеру столбца

Далее приведены примеры применения функции сортировки:- для матрицы-строки - на рис. 41;- для матрицы-столбца - на рис. 42;- для сортировки матрицы по номеру строки - на рис. 43;- для сортировки матрицы по номеру столбца - на рис. 44.

Решение линейной системы уравненийMathCad можно использовать при решении систем линейных уравнений.

Для этого необходимо применить функцию Isolve.Пусть задана система уравнений:

- 27-

3 2 -8 -3 23А := 4 - 5 6 В := -8 lsolve(A,B) = 44

-7 4 -1 -5 20Рис. 45. Решение системы уравнений с помощью команды Isolve

Зх + 2у - 8z + 3 = О - 4х - 5у + 6z + 8 = О .

-7 x + 4 y - z + 5 = 0Для решения заданной системы необходимо ввести две матрицы: матрицу

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

Далее введя функцию Isolve с указанием заданных параметров можно определить корни уравнения.

Существует также возможность решить систему линейных уравнений матричным методом (рис. 46).

3 00С-4 -3А := 4 -5 б В := -8

-7 4 -1. -5

Х:=А'1В Х =234420

П роверка:

В1 :=АХ В1 =-3-8

-5

Рис. 46. Решение системы уравнений матричным методом

- 28 -

Решение обыкновенных дифференциальных уравнений

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

- начальные условия;- набор точек, в которых нужно найти решение (интервал и число

точек);- само дифференциальное уравнение, записанное в виде равенства: в

левой части - первая производная, а в правой - члены уравнения, не содержащие производных.

Решение обыкновенного дифференциального уравнения первого порядка методом Рунге-Кутта

Пусть задано обыкновенное дифференциальное уравнение первого порядка:

представим его в виде

с начальными условиями:

Используем для решения метод Рунге-Кутты 4-го порядка. Для этого используется встроенная в MathCad функция rkfixed, с указанием параметров (рис. 47).

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

dy_dx

+ 3-у = 0,

<fy _ ,dx 3 ' У’

>'(0) = 4.

1

Граничные точки t интервала \ Вектор первых \ Г ” производных

Hf ts . l . l . l )rkfixed(^,

.4 4 Количество точекТ интервалаj_Матрица начальных

условийРис. 47. Параметры функции rkfixed

- 29 -

V = 4

D (x ,y ) := -3 y 0

2 :=tkfixed(y,0,4,100,D)

?<l> 2 I\‘|

.J...... ......\\ч

....;...... -....

1° ИiC.Q4j3.548|0.08 3.147[о.12 2.791•0.16 2.475|02 2.195! 0.24 1.947|038 1.7271032 1.53210.36 1.3580.4 1.205Q.44 1.0690.48 0.948

Рис. 48. Решение обыкновенного дифференциального уравнения

соответствующих значениях аргумента.На рис. 48 представлено решение дифференциального уравнения в

MathCad.

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

Пусть задана система дифференциальных уравнений первого порядка: х' (t) = n- х0 (t) - X, (0 - (х0 (О2 +Х ,(г)2)- х0 (О

х (0 = а •х, (0 + *о (0 - (*о (О2 + (О2 )• *1 (0 ’с начальными условиями:

х0(0) = 0 и х1(0) = 1.Для того чтобы решить систему дифференциальных уравнений первого

порядка, необходимо:- определить вектор, содержащий начальные значения для каждой

неизвестной функции;- определить функцию, возвращающую значение в виде вектора из п

элементов, которые содержат первые производные каждой из неизвестных функций;

- 30-

/I :=-Q2

D (t,x ) :=

2 :=rkfixed(x,0 ,20, 103,0 )

-oj- 0.5

•s )...... — ft\\

________ __

у '

2 =

0 0 10.2 - 0.162 0.80.4 - 0.273 0.6450.6 - 0.348 0.509

0.8 - 0.397 0.386

1 - 0.423 0.272

1 2 - 0.43 0.167

1.4 - 0.42 0.0721.6 - 0.396 -0.012

1.8 -036 -0.084

2 - 0.315 <ь

2.2 - 0.263 j -0.1912.4 - 0.207 -0.2262.6 - 0.149 -0348

2.8 - 0.092 (-0 358

_<2>

Рис. 49. Решение системы обыкновенных дифференциальных уравнений

- выбрать точки, в которых нужно найти приближённое решение;- передать эту информацию в функцию rkfixed.

Решение данной системы дифференциальных уравнений в MathCad будет иметь вид представленный на рис. 49.

Работа с файлами данныхMathCad может считывать файлы с данными, записанными:

регистрирующей аппаратурой, выводом данных из электронных таблиц, в столбец данных; набранные в текстовом редакторе, экспортированные из базы данных.

Данные в файле MathCad могут иметь любые форматы записи:- целое число: 3,2, -5;- число с плавающей запятой: 2.54,3.1415;- число в экспоненциальной форме: 4.51 е-5 ,34.1 е5.

В MathCad существует шесть функций для работы с файлами данных (рис. 50).

Основные из них - это:- READ (“имя файла, dat”) - считывает значение из файла данных.

Применяется для записи скалярных величин.

-31 -

V.:=READ("fp“)

- WRITE {“имя файла, dat”) - записывает значения в файл данных. Действителен при скалярной величине.

WRITE("fp") :=F(n,m)

- READPRN {“имя файла, dat”) - считывает структурированный файл данных. Возвращает матрицу. Каждая строка файла данных становится строкой матрицы. Обязательное условие - данных в стоках должно быть одинаковое количество.

:=READPRN("matx.datB)

- WRITEFRN {“имя файла, daf ) - записывает матрицу в файл данных. Каждая строка матрицы становится строкой в файле.

WRITEPRN("mati.dat") :=М

Примерами записи этих операторов в MathCad могут служить следующие случаи:

- запись значений функции в файл - рис. 51;- считывание значений функции из файла - рис 52;- запись матрицы в файл данных - рис. 53;- считывание матрицы из файла данных - рис. 54.

- 32-

х := 0 , — ..3 П 100

у(х) := sin(x)

WRITE( “ sin. dat") :=y(x)

3<x)

Рис. 51. Запись значений функции в файл

х := 0 ,!£ ..3 п 100

z(x) :=READ("sin.dat") Дх)0 0

0.094 0.0940.187 0.1870.279 0.2790.368 0.3680.454 0.4540.536 0.5360.613 0.613

Рис. 52. Считывание значений функции из файла

М :=3 2 34 5 6 7 8 9

WRITEPRN( "matr.dat") :=М Рис. 53. Запись значений

матрицы в файл

А . - READPRNC “matr.dat0)

А =3 2 34 5 6 7 8 9

Рис. 54. Считывание значений матрицы из файла

Работа с комплексными числамиКомплексное число в математике представляется в виде:

- алгебраической формы: z=Re(z)+Im(z)- показательной формы: z=re'e, где 0 - фаза; г - модуль комплексного

числа.

В MathCad комплексные числа заносятся в формате:z=a+bi,

где а и Ь - обычные числа.Вместо i в мнимом числе можно использовать j. При вводе комплексных

чисел нельзя использовать i или j сами по себе. Нужно всегда писать М или I/, в противном случае MathCad воспринимает i или/ как переменную. При вводе 1 i или lj MathCad скрывает ненужную 1.

- 33 -

г :=2 3 П

ТРис. 55. Задание характеристик комплексного числа

zl '=*[л И :=г-е* 8

zl =i z2 =-1.414+1.414iРис. 56. Определение комплексных переменных

zl + z2 = “1.414 +2.414i Re(z2) =-1.414

z ls2 = “1.414- 1.414i Im(z2) =1.414

й =-1.414- 1.4141 — = 1.414 + 1.4141zi

|z2 (=2 atg(z2) =2.356Рис. 57. Примеры действий с комплексными числами

В MathCad есть следующие специальные функции и операторы для работы с комплексными числами:

- Re(z) - вещественная часть;- Im(z) - мнимая часть;- arg(z) - угол в радианах между - ж и л - ;- jz| - модуль;

- Z — число, комплексно сопряжённое к z (для получения сопряжения необходимо набрать имя переменной комплексного числа и затем нажать кавычку “).

Далее приведены примеры записи и некоторых действий с комплексными числами:

- задание характеристик комплексного числа - рис. 55;- определение комплексных переменных - рис. 56;- примеры действий с комплексными числами - рис. 57.

Пример расчёта электрической цепи при синусоидальном напряжении

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

- 34-

Результаты расчётов представляются в виде векторов синусоидальных токов, протекающих по ветвям с резисторами Ru R2, R3. Вектора токов построены в полярной системе координат.

Дана электрическая цепь, состоящая из резисторов Ru R2, R3, ёмкости С и индуктивности L, и включённая на генератор синусоидальной эдс Е (рис. 58). Подобрать величину резистора R2 с целью осуществления работы цепи в режиме резонанса токов. Для этого в примере применён оператор глобального присваивания.

В такой электрической цепи при определённом соотношении между L и С возникает резонанс токов, характеризуемый нулевым сдвигом фаз между током /3 и питающем напряжением.

Ток ii протекает в цепи с резистором Rh i2 -в цепи с резистором /?2, 4 - в цепи с резистором R3.

Решение задачи в программе MathCad будет иметь следующий вид.

Исходные данные:

[[ := 30 R 3 := 70 r 2 = 100

:= 220 L := 0 .09

:= 50 о := 2 -х f

И з у с л о в и я р е з о н а н с а т о к о в п р и з а д а н н Ь й и н д у к т и в н о с т и о п р е д е л и м в е л и ч и н у ё м к о с т и

по ф о р м у л е

С : = ------ -̂----- С = 1 . 1 2 6 x 1 0 " 4

(2*-f)2L

- 35 -

К о м л е к с н ы е с о п р о т и в л е н и я в в е т в я х э л е к т р и ч е с к о й ц еп и :

•1Z j := R j + im - L Zn : * Rt — т -

о С

О б о з н а ч и м к о н ту р н ы е ток и ч е р е з Ц и 12 .

Н а о с н о в а н и и в т о р о г о з а к о н а К и р х г о ф а з а п и ш е м у р а в н е н и я р а в е н с т в а н а п р я ж е н и й :

z 1 - / 2 + j ? 3 - ( A + / 3 ) = s

23' Л +М Л +h ) = 8

В м а т р и ч н о й ф о р м е у р а в н е н и я и м е ю т в и д :

А-{1} = {Е)г д е {1 } - в е к т о р к о н ту р н ы х т о к о в ;

{Е} - вектор эдс;

А - м а т р и ц а к о м п л е к с н ы х с о п р о т и в л е н и й .

А :=R3 + R3>

Z2 + R3 R3 JE:=

Р е ш е н и е с и с т е м ы у р а в н е н и й в м а т р и ч н о й ф о р м е и м е е т в и д :

В е к т о р к о н ту р н ы х т о к о в и м е е т в и д :

I := А ' -Е 1 = 0.572 + 0.394iч 1.594 - 0.7271,,

З д е с ь А -1 - о б р а т н а я м а т р и ц а к о м п л е к с н ы х с о п р о т и в л е н и й .

Т о к и , п р о т е к а ю щ и е п о в е т в я м с р е з и с т о р а м и R 1 , R 2 и R 3 , и х м о д у л и и ф а з о в ы е углы р а в н ы :

Ч :=10,0

‘2 := ,о

+ 13 = 2.166 - 0.332i

argfij j-180i[ =0.695 ф1:= -----:-------' ‘ я

arg('i2)T8012 = 1.732 ф2 := ---- —-----‘ 1 Я

arg(i3)18013 =2.192 ф3 : = ---- :-------• • «

- 36-

И з м е н я я в е л и ч и н у р е з и с т о р а R 2 м о ж н о д о б и т ь с я р е з о н а н с а т о к о в , к о то р ы й в о з н и к а е т

п ри з н а ч е н и и ф а з о в о г о у г л а Фз=0.

Р е з у л ь т а т ы и з м е н е н и я в е л и ч и н ы Р 2 м о ж н о н а б л ю д а т ь н а в е к т о р н о й д и а г р а м м е ,

п о т р о е н н о й 8 п о л я р н о й с и с т е м е к о о р д и н а т .

N*М±ч

ф

I = 34.581

, = -24311

фз = -8.723

270♦3>*2’*1

СОДЕРЖАНИЕ

Введение....................... 3Начало работы с MathCad......................................................... 3Работа с документами............................................................................................... 5Запись математических выражений............. 5Структура документа................................................................................................ 7Ввод математических выражений........................................................................... 7Ввод текста.................................................................................................................9Операторы присваивания................................................................................... 9Понятие переменной................................................................................................10Вывод результатов...................................................................................................12Построение графиков...............................................................................................14Программирование в MathCad................................................................................17Оператор условного перехода.............. 18Операторы циклических вычислений................................................................... 20Оператор Break........................................................................................................ 21Программа-константа............................................................................................. 22Программа-переменная:......................................................................................... 22Программа-функция:.............................................................................................. 23Работа с массивами............................................................. 23Ввод числовых значений в таблицу...................................................................... 25Сортировка элементов массива.............................................................................. 25Решение линейной системы уравнений................................................................ 27Решение дифференциальных уравнений.............................................................. 29Работа с файлами данных....................................................................................... 31Работа с комплексными числами........................................................................... 33Пример расчёта электрической цепи при синусоидальном напряжении...........34

- 38-

Учебно-методическое издание

Рыбников Евгений Константинович, Володин Сергей Вячеславович

Применение математического пакета программ MathCad инженерных расчётов: Методические указания к лабораторным работам по дисциплине

«Информатика». Часть II

Подписано в печать -Z Z .H .O b . Уел. печ. л. -2 ,5 ,Заказ - Y34-.______

Формат бумаги 60x90Vi6 Тираж- a ? ^ экз. Изд. №Цена - / ?р у £. о 0к .

127994, ул. Образцова, 15. Типография МИИТа

- 39-