Конспект занятий на тему: Решение задач в среде MathCad
Решение задач в среде MathCad
Тема 1. Общая характеристика системы MathCad.
Интерфейс MathCad
1.1. Общая характеристика и основные функции системы
Система MathCad - одна из самых мощных и эффективных систем математического направления, которая ориентирована на широкий круг пользователей и позволяет выполнять математические расчеты как в численном, так и в символьном виде. Причем, описание решения задач задается с помощью привычных математических формул и знаков.
Функциональный набор системы включает в себя:
- вычислительные функции (вычисление арифметических выражений, производных, интегралов, вычисление суммы и произведения, решение уравнений, неравенств и их систем, решение дифференциальных уравнений, обработка матриц, использование символьных преобразований и др.);
- графические функции (построение двухмерных графиков в различных системах координат, построение графиков поверхностей, векторных полей, трехмерных гистограмм, применение элементов анимации);
- функции программирования (создание программных модулей, состоящих из программных элементов, подобных конструкциям языков программирования);
- сервисные функции (ведение диалога с пользователем посредством меню, пиктограмм или команд, размещение на экране и редактирование математических, графических и текстовых конструкций, форматирование документа, печать документа и др.).
В настоящем практическом пособии рассматривается система MathCad 2001i Professional, но почти все приведенные здесь сведения можно успешно использовать при работе с другими версиями системы.
1.2 Интерфейс системы MathCad
После запуска системы на экране компьютера появляется заставка MathCad, а затем окно системы, показанное на рисунке 1.1.
Основное окно системы содержит следующие функциональные области:
- строка заголовка (первая строка, содержащая имя рабочего документа и стандартные кнопки управления окном);
- главное меню системы (вторая строка, включающая пункты иерархического меню, которое содержит полный набор команд работы с системой);
- панель инструментов «Стандартная» (третья строка, содержащая кнопки или пиктограммы, дублирующие наиболее важные пункты главного меню);
- панель инструментов «Форматирование» (четвертая строка, содержащая кнопки переключения вида, размера и стиля шрифтов, выравнивания текста и др.);
- наборная панель (пятая строка, содержащая набор кнопок для вывода на экран дополнительных окон с палитрами математических символов и операторов);
- окно набора и редактирования документа (основная часть окна системы).
Главное меню системы имеет иерархическую структуру, т.е каждый его пункт содержит дополнительное подменю. Для активизации любого пункта меню достаточно навести на него указатель мыши и щелкнуть ее левой клавишей. При этом на экран выводится ниспадающее подменю. В дальнейшем изложении команда подменю будет обозначаться следующим образом:
Команда главного меню – Команда соответствующего подменю.
Например, команда File – New означает, что сначала в главном меню системы активизируется пункт File, после чего в появившемся подменю выбирается пункт New
Работа с документами MathCad обычно не требует использования команд главного меню, так как основные из них дублируются кнопками на панелях инструментов.
Если одна из панелей инструментов отсутствует, вывести ее на экран можно с помощью команды главного меню View – Toolbars (Просмотр –Панели инструментов).
Сообщение о назначении кнопок, размещенных на панелях инструментов и на наборной панели, можно получить, установив указатель мыши на соответствующую пиктограмму.
На рисунке 1.2 приведены основные палитры математических символов и операторов, позволяющие вводить общепринятые математические знаки, операторы программирования, шаблоны графиков и т.д. в месте расположения курсора.
Окна с палитрами появляются в окне редактирования документа при активизации соответствующих пиктограмм. Любую палитру можно переместить в удобное место экрана, наведя указатель мыши на заголовок окна палитры и перетаскивая палитру при нажатой левой клавиши мыши. Если палитра больше не нужна, ее можно закрыть с помощью соответствующей системной кнопки в правом верхнем углу окна палитры.
Для вывода с помощью палитр необходимого объекта нужно поместить курсор ввода (красный крестик) в желаемое место окна редактирования и затем активизировать пиктограмму нужного объекта.
1.3 Основные приемы работы с файлами в системе MathCad
1.3.1 Создание нового документа
Сразу после запуска системы открывается окно редактирования для создания документа с именем Untitled:N, где N – порядковый номер документа (он начинается с 1) .
Если нужно создать еще один новый документ, используется команда главного меню
File – New (Файл – Новый)
или кнопка на панели инструментов «Стандартная».
При этом на экран выводится текущее окно нового документа и система переходит в режим редактирования.
1.3.2 Сохранение документа в файле на диске
Для записи документа на диск с использованием его текущего имени и учетом всех произведенных изменений используется команда главного меню
File – Save (Файл – Сохранить)
или кнопка на панели инструментов «Стандартная».
Если документ сохраняется в первый раз, на экран выводится диалоговое окно, показанное на рисунке 1.3.
В этом окне необходимо указать имя файла, в котором будет сохранен документ, выбрать папку для размещения этого файла и нажать кнопку Сохранить.
Для записи текущего документа на диск под другим именем используется команда меню
File – Save as (Файл – Сохранить как)
При этом на экран выводится окно сохранения файла, изображенное на рисунке 1.3. После ввода нового имени файла и нажатия кнопки Сохранить отредактированный документ записывается на диск под новым именем, а файл-оригинал остается неизмененным.
1.3.3 Открытие ранее созданного документа
Для загрузки ранее сохраненного документа в окно редактирования используется команда меню
File – Open (Файл – Открыть)
или кнопка на панели инструментов «Стандартная».
При исполнении этой команды появляется диалоговое окно открытия файла, в котором нужно указать требуемый файл и нажать кнопку Открыть. Для выбора папки, в которой размещается нужный файл, необходимо раскрыть список папок, щелкнув по кнопке со стрелкой справа от поля Папка.
1.3.4 Печать текущего документа
Для запуска печати текущего документа используется команда меню
File – Print (Файл – Печать)
или кнопка на панели инструментов «Стандартная».
При выполнении этой команды появляется диалоговое окно, показанное на рисунке 1.4. В этом окне нужно установить все необходимые параметры печати:
- выбрать тип принтера из списка, раскрывающегося после щелчка по кнопке со стрелкой рядом с полем Name;
- на панели Print Region выбрать часть документа, которую требуется напечатать: All – весь документ, Pages from N1 to N2 – часть документа со страницы N1 до страницы N2, Selection – выделенный фрагмент документа, Current Page – текущую страницу.
После нажатия кнопки OK будет произведена печать документа на выбранном принтере.
Перед печатью документа рекомендуется выполнить предварительный просмотр, чтобы убедиться, что все объекты документа удачно размещены на его страницах. Это можно сделать с помощью команды меню
File – Print Preview (Файл – Предварительный просмотр)
или с помощью кнопки на панели инструментов «Стандартная».
ТЕМА 2. Базовые вычисления в MathCad
2.1 Входной язык Mathcad
Документ системы MathCad строится из областей, которые делятся на вычислительные, графические, текстовые. Области создаются средствами формульного, текстового и графического редакторов системы.
Документ обрабатывается сверху вниз, а в пределах строки слева направо.
В вычислительных областях можно задавать данные, выражения, операторы и управляющие структуры.
Все данные системы можно разделить на простые и структурированные.
Простые данные представлены константами и переменными.
Структурированные данные представлены дискретными переменными, массивами и файлами.
Константы – элементы данных, хранящие некоторые значения, которые не могут быть изменены. В MathCad используются:
целые константы ( 123 -56 9000)
вещественные (4.6 -98.56 1.2·1013)
комплексные (5+2.3i 9.4 – 3i)
зарезервированные константы (e,
·, %);
строковые константы ("пример")
Переменные – поименованные объекты, имеющие некоторые значения, которые могут изменяться в процессе выполнения документа.
Имена переменных в системе MathCAD могут содержать любые латинские и греческие буквы, а также цифры, они должны начинаться только с буквы. Строчные и прописные буквы в именах различаются. Имена должны быть уникальными, т. е. они не должны совпадать с именами встроенных или определенных пользователем функций. Примеры имен переменных:
A f k21 sum
·
·5 F
Выражение – это совокупность данных, функций и математических объектов, связанных знаками операций. Выражения могут содержать скобки.
Операции, используемые в выражениях, можно разделить на арифметические и логические. Арифметические операции представлены в палитре арифметических операторов. Логические операции и операции отношения представлены в палитре логических операторов.
К базовым операторам системы относятся:
:= – оператор локального присваивания,
( – оператор глобального присваивания,
= – оператор вычисления и вывода.
Оператор локального присваивания (:=, набирается комбинацией клавиш Shift+:) распространяет свое действие на область документа, расположенную в строке и ниже места присваивания. Этот оператор выполняется так: данному, стоящему в левой части оператора присваивается вычисленное значение выражения, стоящего в правой части оператора.
Оператор глобального присваивания (() не зависит от места присвоения и распространяет свое действие на весь документ. Этот оператор выполняется точно так же, как и оператор локального присваивания.
Оператор вычисления и вывода (=) выводит вычисленное значение выражения, стоящего в его левой части, на экран.
Функция – выражение, согласно которому проводятся некоторые вычисления с ее аргументами и определяется числовое значение. Функция имеет имя и может иметь список параметров. Различают стандартные и пользовательские функции.
Система MathCAD содержит большое количество стандартных функций, которые делятся на математические, функции обработки векторов и матриц, статистические и т.д.
К основным математическим функциям относятся следующие:
- тригонометрические – sin(z), cos(z), tan(z), cot(z), csc(z), sec(z);
- обратные тригонометрические – asin(z), acos(z), atan(z);
- показательные и логарифмические – exp(z), ln(z), log(z).
Аргументы тригонометрических функций задается в радианах. Обратные тригонометрические функции возвращают результат в радианах.
Для работы с пользовательскими функциями нужно сначала задать вид функции (описать ее), а затем обращаться к ней нужное количество раз для вычисления результатов.
Общий вид описания функции следующий:
ИМЯ(СФП):=выражение
где ИМЯ – имя функции; СФП – список формальных параметров функции.
При обращении к функции формальные параметры заменяются на фактические, т.е. на выражения, имеющие числовые значения. Например,
z(m,n):=m2 + n2 - описание функции,
z(2,3) = 13 – обращение к функции.
В MathCAD существует понятие объекта, т.е. части области рабочего документа, над которой можно произвести действия редактирования и форматирования. Визуально объект выделяется синей рамкой, которая может быть расширена с использованием клавиши «пробел».
На рисунках 2.1.1, 2.1.2 приведены примеры констант, переменных и базовых операторов MathCad.
Рисунок 2.1.1 – Примеры констант и переменных
Рисунок 2.1.2 – Примеры базовых операторов
На рисунке 2.1.2 показано, что значение переменной d не может быть вычислено, т.к. значение переменной f определено в документе ниже и при вычислении переменной d считается неизвестным. Значение переменной y так же определено в документе ниже, чем оно используется при вычислении переменной z, но y определено с помощью оператора глобального присваивания, который распространяет свое действие на весь документ и, следовательно, ошибки при вычислении z не возникает.
Практическая часть темы 2
2.2 Вычисление арифметических выражений
Последовательность действий для вычисления простого арифметического выражения такова:
установить курсор в свободное место рабочего окна документа;
открыть палитру арифметических операторов;
используя кнопки палитры, набрать арифметическое выражение (имена переменных набираются с клавиатуры);
при наборе воспользоваться понятием объекта (см. краткие теоретические сведения темы 1);
с палитры инструментов или клавиатуры ввести оператор «=».
MathCad произведет вычисление арифметического выражения и выдаст результат в числовом виде.
Пример 1.1 Вычислить значение числового арифметического выражения 13 EMBED Equation.3 1415
Реализация в MathCad:
2.3 Вычисление арифметических выражений с использованием оператора присваивания (линейный алгоритм)
Последовательность действий для вычисления арифметического выражения с использованием оператора присваивания такова:
установить курсор в свободное место рабочего окна документа;
выделить в задаче исходные данные, например, a, b и поместить в эти переменные заданные числовые значения с помощью оператора «:=»;
с помощью этого же оператора поместить значение арифметического выражение в результирующую переменную, например, в y;
получить значение результирующей переменной в числовом виде с помощью оператора «=».
Пример 1.2 Вычислить значение функции 13 EMBED Equation.3 1415, при
13 EMBED Equation.3 1415.
Реализация в MathCad:
2.4 Создание пользовательских функций
Последовательность действий для нахождения значения функции в заданных точках такова:
установить курсор в свободное место рабочего окна документа;
с помощью оператора присваивания описать пользовательскую функцию с параметрами, например Z(x,y);
выделить в задаче исходные данные, например, x1, x2, y1, y2 и поместить в них заданные числовые значения с помощью оператора «:=»;
обратиться к описанной функции, подставив вместо параметров заданные переменные с конкретными числовыми значениями и вывести результат с помощью оператора «=».
Получить значение функции можно, подставив вместо формальных параметров конкретные числа, а не заранее заданные переменные.
Пример 1.3 Создать функцию 13 EMBED Equation.3 1415и вычислить ее значение в двух заданных точках (0.15, 1.01), (1.3,1.81).
Реализация в MathCad:
В этом примере параметры функции Z(x,y) задаются через переменные x1, y1 при первом обращении к функции, и через конкретные числа – при втором обращении к функции.
Тема 2. Обработка структурированных данных в MathCad
Краткие теоретические сведения
Дискретной называется переменная, содержащая несколько значений, изменяющихся от начального до конечного на величину постоянного шага. Дискретная переменная может быть задана двумя способами:
1) а := а1, а2 .. an
2) а := а1 .. an
где a – имя дискретной переменной,
a1 – ее начальное значение,
a2 – ее второе значение,
an – ее конечное значение.
Символ «..» набирается либо клавишей «;» на клавиатуре, либо кнопкой m..n – в палитре матриц.
Для первого способа задания дискретной переменной шаг ее изменения равен (а2 – а1). Для второго способа задания дискретных переменных значение а2 не указывается, шаг изменения дискретной переменной равен 1, если a1
an.
Примеры создания дискретных переменных приведены ниже.
x:= 2.. 7
Создается дискретная переменная х, значения которой изменяются от 2 до 7 с шагом 1.
y:= 2,2.3.. 7
Создается дискретная переменная y, значения которой изменяются от 2 до 7 с шагом 0.3.
z:= 9 .. 1
Создается дискретная переменная z, значения которой изменяются от 9 до 1 с шагом -1.
a:= 8,7.9.. 3
Создается дискретная переменная a, значения которой изменяются от 8 до 3 с шагом -0.1.
13 EMBED Equation.3 1415
Создается дискретная переменная b, значения которой изменяются от 0 до 2
· с шагом
·/10.
Дискретные переменные могут являться аргументами функций, тогда процесс вычисления значений функции приобретает циклический характер, и для каждого значения дискретной переменной вычисляется свое значение функции по заданной аналитической зависимости.
В системе MathCAD в основном используются массивы двух типов: одномерные (векторы) и двумерные (матрицы).
Каждый элемент вектора или матрицы имеет порядковый номер в массиве. Отсчет номеров начинается с того значения, которое содержится в системной переменной ORIGIN. По умолчанию эта переменная имеет значение 0, для изменения значения нужно задать, например,
ORIGIN:=1
Векторы и матрицы можно задавать различными способами: с помощью кнопки с изображением матриц на наборной панели математических инструментов; как переменную с индексами перечислением элементов массива с разделение запятой; с помощью аналитического выражения.
Массивы могут использоваться в выражениях целиком или поэлементно. Для обращения к элементам массивов нужно указать числовые значения индексов элементов в подстрочнике после имени массива. При выполнении расчетов можно обращаться к конкретной строке или столбцу матрицы с помощью верхнего индекса или нижних индексов.
На рисунке 2.2.1 приведены примеры создания массивов перечислением элементов (вектор R) и аналитически (вектор Z). Здесь же показано, как обратиться к элементу матрицы, ее столбцу или строке. Из рисунка видно, что после изменения значения переменной ORIGIN, значение элемента матрицы M2,1 тоже изменяется.
Рисунок 2.2.1 – Примеры создания массивов
Существует ряд операций над матрицами и векторами, а также встроенных векторных и матричных функций. Введем следующие обозначения: V – вектор, M – матрица. Основные операции с их назначением и правилами набора приведены в таблице 2.2.1.
Таблица 2.2.1. – Основные операции и функции для обработки массивов
Вид операции
Назначение
Набор
|М|
определитель матрицы
М-1
обращение матрицы
МТ
транспонирование матрицы
М< >
выделение столбца матрицы
13 EMBED Mathcad 1415
поэлементное умножение векторов
M
·V
умножение матрицы на вектор
Знак умножения набирается с палитры арифметических операторов
М1·М2
умножение двух матриц
V1
·V2
умножение двух векторов
max(M), min(M)
максимум, минимум матрицы
Стандартные функции набираются с клавиатуры или с использованием мастера функций
cols(M), rows(M)
число столбцов и строк матрицы
Практическая часть темы 2
2.1 Дискретные переменные, функции дискретных переменных
Определение и правила записи дискретных переменных описаны в кратких теоретических сведениях темы 2.
Последовательность действий для создания дискретной переменной такова:
1-й способ
установить курсор в свободное место рабочего окна документа;
с помощью оператора «:=» присвоить числовые значения переменным - xn (начальное значение дискретной переменной), xk (ее конечное значение) и dx (шаг изменения дискретной переменной);
задать имя дискретной переменной, например, х; задать оператор «:=»;
в качестве начального значения набрать xn;
через запятую ввести второе значение дискретной переменной xn+dx;
с помощью кнопки m..n или клавиши «;» задать знак диапазона дискретной переменной;
задать конечное значение дискретной переменной xk;
получить значение дискретной переменной в виде таблицы с помощью оператора «=».
2-й способ
установить курсор в свободное место рабочего окна документа;
задать имя дискретной переменной, например, х; задать оператор «:=»;
в качестве начального значения дискретной переменной набрать, например, 0.2;
через запятую в качестве второго значения дискретной переменной набрать, например, 0.3;
с помощью кнопки m..n или клавиши «;» задать признак дискретной переменной – «..»
задать конечное значение дискретной переменной, например, 1.5;
получить значение дискретной переменной в виде таблицы с помощью оператора «=».
Пример 2.1. А) Определить дискретную переменную x, которая изменяется от 0.2 до 1.5 с шагом 0.1.
Реализация в MathCad:
Б) Определить дискретную переменную y, которая изменяется от 3 до 8 с шагом 1.
Реализация в MathCad:
13 EMBED PBrush 1415
Пример 2.2. 1) Создать дискретную переменную х, изменяющуюся от 1 до 1.8 и вычислить значение функции дискретной переменной 13 EMBED Equation.3 1415. Значение шага выбрать так, чтобы переменная имела не менее 10-15 значений.
2) Создать одномерный массив (вектор) из любых чисел, подобранных самостоятельно из диапазона изменения дискретной переменной. Массив должен содержать не менее 10 чисел. Сформировать новый одномерный массив (вектор), содержащий значения функции от элементов исходного вектора.
Для решения первой части задания необходимо:
установить курсор в свободное место рабочего окна документа;
с помощью оператора присваивания описать пользовательскую функцию с параметром, например Z(x);
создать дискретную переменную x, как описано в примере 2.1;
получить значение дискретной переменной в виде таблицы с помощью оператора «=»;
получить значение функции от дискретной переменной в виде таблицы с помощью оператора «=».
Для решения второй части задания необходимо ввести следующие новые переменные для обозначения векторов: p – исходный вектор, содержащий 10 значений; w – результирующий вектор, полученный из исходного по функции Z.
Вектор p задается как переменная с индексом:
создать дискретную переменную, которая будет управлять номером элемента в массиве, например, i (переменная должна содержать столько значений, сколько чисел должен содержать массив);
создать переменную с индексом, например, pi, для перехода на нижний уровень при задании индекса используется кнопка xn на панели матриц;
с помощью оператора «:=» поместить в каждый элемент массива pi числовые значения, разделяя их запятыми; после задания первого числа и запятой курсор перемещается вниз, и массив принимает вид столбца таблицы, в который заносятся новые числа;
вывести полученный вектор p;
сформировать новый вектор w , присвоив переменной с индексом wi значение функции Z с элементом pi в качестве параметра;
вывести вычисленные значения вектора w с помощью оператора «=».
Реализация в MathCad:
2.2 Обработка матриц и векторов
Последовательность действий для создания массивов с числовыми значениями и выполнения операций над ними такова:
установить курсор в свободное место рабочего окна документа;
набрать имя массива;
после имени записать оператор «:=»;
открыть палитру матриц;
выбрать кнопку с изображением шаблона матрицы;
в появившемся окне размерности матрицы ввести целочисленные значения количества строк и столбцов матрицы;
заполнить полученный шаблон вектора или матрицы исходными данными;
последовательно набрать вычислительные области с нужными операциями над матрицами и векторами согласно таблице 2.2.1 теоретических сведений к теме 2.
Пример 2.3. Даны две матрицы
13 EMBED Equation.3 1415.
А) Создать вектор V1 из второго столбца матрицы А и вектор V2 из третьего столбца матрицы В.
Б) Вычислить 13 EMBED Equation.3 1415.
В) Вычислить 13 EMBED Equation.3 1415.
Г) Вычислить определители А и В.
Назначение переменной ORIGIN, рассматривается в кратких теоретических сведениях темы 2.
Реализация в MathCad:
Тема 3. Вычисление суммы, произведения, производной и интеграла в MathCad
Краткие теоретические сведения
Формульный редактор системы MathCad дает возможность вычислять значения сумм, произведений, производной и интегралов. Шаблоны этих операций находятся среди кнопок палитры математического анализа.
13 EMBED Mathcad 1415 13 EMBED Mathcad 1415 13 EMBED Mathcad 1415 13 EMBED Mathcad 1415 13 EMBED Mathcad 1415
Эти операции могут быть применены как к структурированным данным (дискретным переменным, массивам), так и к функциям.
Порядок вычисления суммы и произведения осуществляется следующим образом:
а) нажатием соответствующей кнопки палитры математических инструментов выводятся шаблоны операций суммы или произведения;
б) нижнее окно шаблона заполняется начальным значением дискретной переменной;
в) верхнее окно шаблона заполняется конечным значением дискретной переменной;
г) среднее окно шаблона заполняется любым выражением, которое включает в себя дискретную переменную.
Вычисление значений m-кратных (m
·1) и частных производных функций в заданных точках, осуществляется следующим образом:
а) нажатием соответствующей кнопки палитры математических инструментов вводится шаблон операции дифференцирования;
б) нижнее окно шаблона заполняется именем переменной дифференцирования;
в) среднее окно шаблона заполняется дифференцируемой функцией;
г) для вычисления m-кратной производной вводится необходимая степень, например 2.
Система MathCad позволяет вычислять как обычные m-кратные (m
·1) определенные интегралы, так и криволинейные интегралы. Последовательность выполнения расчетов при работе с операцией интегрирования имеет следующий вид:
а) нажатием соответствующей кнопки палитры математических инструментов вводится шаблон определенного интеграла;
б) в среднем окне шаблона задается вид подынтегральной функции, после символа d – имя переменной интегрирования;
в) в верхних и нижних окнах возле знака интеграла задаются верхний и нижний пределы интегрирования (действительные выражения).
Подынтегральная функция может быть как действительной, так и комплексной. В качестве пределов интегрирования, а также пределов подынтегрального выражения допускается использование дискретной переменной, в этом случае результатом вычислений является таблица интегралов.
Практическая часть темы 3
3.1. Вычисление суммы, произведения и определенного интеграла
Последовательность действий для вычисления суммы и произведения такова:
установить курсор в свободное место рабочего окна документа;
открыть палитру математического анализа;
выбрать нужную операцию: суммирование или произведение;
заполнить выделенные поля для ввода (см. краткие теоретические сведения темы 3);
получить искомое значение в числовом виде с помощью оператора «=».
Пример 3.1. Вычислить значения суммы 13 EMBED Equation.3 1415 и произведения 13 EMBED Equation.3 1415.
Реализация в MathCad:
3.2 Вычисление производных в точках
Последовательность действий для вычисления производной в точке такова:
установить курсор в свободное место рабочего окна документа;
выделить в задаче исходные данные, например, x1 и x2, и поместить в них заданные числовые значения с помощью оператора «:=»;
описать пользовательскую функцию с параметром, например Y(x);
открыть палитру математического анализа;
создать новые пользовательские функции F(x) и F1(x), в которые поместить значения первой и второй производных соответственно (для задания знаков производных использовать кнопки палитры математического анализа);
заполнить выделенные поля для ввода (см. краткие теоретические сведения темы 3);
получить искомые значения созданных функций производных при заданных значениях аргументов в числовом виде с помощью оператора «=».
Пример 3.2 Вычислить значения первой и второй производных функции 13 EMBED Equation.3 1415 в двух исходных точках x1=-12.5 и x2=6.2.
Реализация в MathCad:
3.3 Вычисление производной в диапазоне изменения аргумента
Последовательность действий для вычисления производной в диапазоне изменения аргумента такова:
создать дискретную переменную (см. краткие теоретические сведения темы 2);
получить значение дискретной переменной в виде таблицы с помощью оператора «=».
с помощью оператора присваивания описать пользовательскую функцию с параметром, например, f(x);
в палитре математического анализа выбрать операцию вычисления первой производной и заполнить шаблон, используя в качестве аргумента функции имя заданной дискретной переменной;13 EMBED Equation.3 1415
получить значения производной в числовом виде с помощью оператора «=».
Пример 3.3 Вычислить значение производной функции
13 EMBED Equation.3 1415
в дискретном интервале изменения аргумента [-10,10]. Шаг изменения аргумента выбрать так, что бы функция имела не менее 10-15 значений.
Реализация в MathCad:
3.4. Вычисление определенного интеграла
Последовательность действий для вычисления определенного интеграла такова:
используя кнопки палитры математического анализа выбрать операцию «определенный интеграл»;
заполнить выделенные поля для ввода (см. краткие теоретические сведения темы 3);
получить искомое значение в числовом виде с помощью оператора «=».
Пример 3.4. Вычислить значение определенного интеграла13 EMBED Equation.3 1415.
Реализация в MathCad:
Тема 4. Создание программных фрагментов в MathCad
Краткие теоретические сведения
Система MathCad позволяет создавать программные фрагменты для вычисления алгоритмов, которые нельзя реализовать базовым набором средств и методов Mathcad.
Программный фрагмент можно использовать в операторе «=» или в правой части оператора «:=». Слева в операторе «:=» может находиться либо переменная, либо пользовательская функция.
Программный фрагмент состоит из строк программы, каждая из которых может содержать операторы программы.
Для создания программного фрагмента используется панель программирования, кнопки которой имеют следующее назначение:
Add Line - создание и расширение программного фрагмента;
( - оператор внутреннего локального присваивания.
if - оператор условия.
for - оператор цикла с заданным числом повторений.
while – оператор цикла с предусловием.
оtherwise - оператор "иначе", обычно используется совместно с if для выполнения действий в случаи невыполнения условия.
break - оператор прерывания работы программного фрагмента.
сontinue - оператор продолжения работы цикла после прерывания.
Ниже приведен общий вид операторов программного фрагмента, рассмотрены правила их выполнения.
Общий вид оператора if:
выражение if условие
Порядок выполнения: если логическое выражение, стоящее в условии, истинно, то вычисляется выражение, стоящее слева от оператора if.
Общий вид for :
for Var ( Nmin .. Nmax.
Nmin .. Nmax – диапазон изменения переменной цикла, организуется по правилам формирования дискретных переменных.
Порядок выполнения: переменную цикла Var изменяет свое значение в пределах от Nmin до Nmax с шагом 1 или -1, при каждом новом значении переменной цикла выполняется рабочая часть цикла.
Общий вид while:
while условие
Рабочая часть цикла записывается на месте шаблона
Порядок выполнения: рабочая часть цикла выполняется до тех пор, пока логическое выражение, стоящее в условии, истинно.
Результаты работы программного фрагмента передаются следующим образом: во внешнюю вычислительную область из программного фрагмента передается значение последнего выражения, вычисленного в программном фрагменте или значение переменной, имя которой записано в последней строке программы.
На рисунке 2.4.1 приведены примеры программных фрагментов. Из примера 1 видно, что программный фрагмент, реализующий линейный алгоритм, может заканчиваться оператором «=», а может быть присвоен переменной, например, k. Программный фрагмент может участвовать при создании пользовательской функции, например, y(x), которая затем вычисляется при конкретном значении ее аргумента, например, 3. Внутренние переменные программного фрагмента являются неопределенными вне его, например, переменная z, которая использовалась в программном фрагменте, не имеет конкретного числового значения вне его.
Пример1
Пример2
Рисунок 2.4.1 – Примеры программных фрагментов
Пример 2 демонстрирует программирование разветвляющихся и циклических алгоритмов. Для реализации разветвляющихся алгоритмов формируется пользовательская функция a(b), которая вычисляется по разным аналитическим зависимостям при различных значениях аргумента. Показана возможность вычисления этой функции в разных точках: при b равном -4, 9 и 15. Программирование циклических алгоритмов продемонстрировано на двух задачах. При решении задачи поиска суммы целых чисел от 1 до 5 применяется программный фрагмент с циклом for , результат получается с помощью оператора «=». Во второй части примера решается задача поиска суммы целых четных чисел от 0 до 10 с помощью оператора цикла while. Результат вычисления присваивается переменной h, хотя внутри цикла для накопления суммы используется переменная s.
Практическая часть темы 4
4.1 Программирование разветвляющихся алгоритмов
Последовательность действий для создания программного фрагмента вычисления значения кусочно-непрерывной функции такова:
открыть палитру программирования и палитру логических операторов;
набрать имя пользовательской функции, например, Y(x);
с помощью оператора «:=» и кнопки «Add line» палитры программирования сформировать шаблон для записи операторов вычисления значения функции для различных диапазонов значения аргумента, например:
13 EMBED Mathcad 1415;
в каждую строку программного фрагмента, кроме последней, вывести шаблон оператора условия, используя кнопку «if» палитры программирования, например:
13 EMBED Mathcad 1415;
в каждом операторе условия слева от if набрать выражение для вычисления значения функции, а справа, используя кнопки палитры логических операторов, набрать условие, определяющее диапазон значения аргумента, например:
13 EMBED Mathcad 1415;
в последнюю строку программного фрагмента вывести шаблон оператора «иначе», используя кнопку «оtherwise» палитры программирования;
заполнить шаблон оператора «иначе» выражением для вычисления значения функции, например:
13 EMBED Mathcad 1415;
получить значение функции Y(x) для различных значений аргумента x, (см. тему 1).
Пример 4.1. Вычислить значение кусочно-непрерывной функции
13 EMBED Equation.3 1415
для значений аргумента x = 15, x = 5 и x = -1 с использованием программного фрагмента.
Реализация в MathCad:
4.2 Программирование циклических алгоритмов
Последовательность действий для создания программного фрагмента, реализующего вычисление суммы (произведения) однотипных слагаемых (множителей), такова:
в любой форме (например, в виде графической схемы) составить алгоритм решения задачи, например, как показано на рисунке 2.4.2;
открыть палитру программирования;
набрать имя переменной, в которую будет помещен результат вычислений, и знак «:=»;
с помощью кнопки «Add line» палитры программирования создать программный фрагмент с необходимым количеством строк;
в каждую строку программного фрагмента с помощью кнопок палитры программирования ввести шаблон оператора, реализующий ту или иную часть разработанного алгоритма, затем заполнить этот шаблон (например, для блока 13 SHAPE \* MERGEFORMAT 1415 нужно использовать оператор локального присваивания 13 EMBED Equation.3 1415, а для реализации цикла по переменной i - оператор цикла с заданным числом повторений
13 EMBED Mathcad 1415,
где значение n и вид слагаемого зависят от условия задачи);
в последней строке программного фрагмента набрать имя локальной переменной, используемой для накопления суммы (произведения);
вывести значение переменной, которой присваивается результат выполнения программного фрагмента, с помощью оператора «=».
Пример 4.2. С использованием программного фрагмента вычислить сумму
13 EMBED Equation.3 1415.
Схема алгоритма решения:
Реализация в MathCad:
4.3 Программирование алгоритмов работы с массивами
Последовательность действий для создания программного фрагмента, предназначенного для обработки массива, такова:
в любой форме (например, в виде графической схемы) составить алгоритм решения задачи;
открыть все необходимые палитры;
задать исходный вектор чисел;
определить функцию для решения поставленной задачи в виде программного фрагмента следующим образом:
набрать имя функции с двумя формальными параметрами: первый - размерность массива, второй – имя массива, а затем оператор «:=»;
с помощью кнопки «Add line» палитры программирования создать программный фрагмент с необходимым количеством строк;
в каждую строку программного фрагмента с помощью кнопок палитры
программирования ввести шаблон оператора, реализующий ту или иную часть разработанного алгоритма, затем заполнить этот шаблон (для реализации цикла по номеру элемента массива i нужно использовать оператор цикла с предусловием while, если шаг изменения номера i не равен 1);
в последней строке программного фрагмента набрать имя локальной переменной, содержащей результат вычисления;
вывести значение функции для заданных исходных данных, подставив в качестве фактических параметров количество элементов массива и имя определенного выше массива, с помощью оператора «=».
Пример 4.3. Дан вектор чисел произвольной длины. Используя программный фрагмент, вычислить произведение отрицательных элементов с четными номерами.
Схема алгоритма имеет вид:
Здесь x – исходный вектор, n – количество элементов этого вектора, i – номер текущего элемента вектора, P - произведение отрицательных элементов с четными номерами.
Реализация в MathCad:
Тема 5. Построение графиков
Краткие теоретические сведения
MathCAD позволяет обрабатывать различные виды графической информации. Возможности системы по работе с графикой таковы:
построение двумерных графиков в декартовой и полярной системах координат,
построение трехмерных поверхностных графиков,
внесение рисунков, созданных другими компьютерными системами;
создание анимационных клипов.
Соответственно, графические области делятся на четыре основных типа – область двумерных графиков, трехмерных графиков, область внешних графических объектов и область анимации.
Для построения графиков используется палитра графиков, вид которой приведен ниже. Перечень возможных типов графиков приведен в основном меню Insert – Graph, например:
X-Y Plot – график в декартовой системе координат;
Polar Plot– график в полярной системе координат;
Surface Plot – трехмерный график (график поверхности);
При построении двумерных графиков после нажатия соответствующей кнопки на панели графических инструментов появляется шаблон вида:
Функция
Аргумент
В шаблоне графика по вертикали задаются через запятую функции, а по горизонтали – аргументы. График строится по точкам соединяющихся между собой разнообразными линиями (сплошной, пунктирной и т. д.). Исходные (узловые) точки могут быть показаны в виде маркеров (квадратов, ромбов, окружностей и т. д.). Крайние шаблоны данных служат для указания предельных значений абсцисс и ординат, т. е. они задают масштабы графика. Если оставить эти шаблоны незаполненными, то масштабы по осям графика будут устанавливаться автоматически.
В полярной системе координат каждая точка задается углом а, радиусом и длиной радиус–вектора R(а). График функции обычно строится при изменении угла а в пределах от 0 до 2(.
После построения график может быть отформатирован по следующим направлениям: форматирование осей графика, форматирование линий графика, форматирование надписей на графике.
Для вызова окна форматирования графика нужно либо дважды щелкнуть левой кнопкой мыши на поле графика, либо, выделив график, выбрать из основного меню команду Format – Graph. Вид окна форматирования осей графика приведен ниже.
Log Scale (Лог. масштаб) установка логарифмического масштаба;
Crid Lines (Линии сетки) установка линий масштабной сетки;
Numbered (Пронумеровать) установка цифровых данных по осям;
Autoscale (Автомасштаб) автоматическое масштабирование графика;
Show Markers (Нанести риски) установка фоновых линий по осям;
Auto Grid (Автосетка) автоматическая установка масштабных линий;
Nunber of Grids (Число интервалов) установка заданного числа масштабных линий.
Boxed (Рамка) оси в виде прямоугольника;
Crossed (Репер) оси в виде креста;
None (Ничего) отсутствие осей;
При форматировании линий графика выбирается закладка Traces в окне форматирования, вид окна форматирования линий приведен ниже.
Legend Label (Имя кривой) указание названий линий в легенде графика;
Symbol (Маркер) установка символа отметки базовых точек графика;
Line (Линия) установка типа линий;
Color (Цвет) установка цвета линии и базовых точек;
Type (Тип) тип графиков;
Weight (Толщина) толщина линий.
Hide Argument скрываются обозначения математических выражений по осям графика;
Hide Legend скрываются обозначения имен кривых графика.
Ниже приведено несколько примеров построения двумерных графиков различных типов. В примере 1 аргумент задан в виде дискретной переменной x, сформирована функция дискретной переменной f(x). Построен график, изменен цвет линии графика, нанесена легенда. Во втором примере в окно оси ординат трафарета графика вносится имена первой и второй функций, разделенные запятыми, аргумент функций – одна и та же дискретная переменная x. График форматируется, наносится легенда.
В примере 3 создается график, у которого аргумент и функция являются одномерными массивами, заданными, как переменные с индексами. Элементы этих массивов задаются перечислением, разделяются запятыми. В примере 4 построен двумерный график в полярной системе координат.
Практическая часть темы 5
5.1 Построение двумерных графиков
Последовательность действий для построения графиков функции и ее первой и второй производных, а также графического определения точек экстремума, такова:
описать исходную функцию (см. теоретические сведения темы 1), например,
13 EMBED Equation.3 1415 ;
описать функции первой и второй производных с использованием соответствующих кнопок палитры математического анализа (см. теоретические сведения темы 3), например,
13 EMBED Equation.3 1415 13 EMBED Equation.3 1415;
определить аргумент в виде дискретной переменной (см. краткие теоретические сведения темы 2), например, 13 EMBED Equation.3 1415 ;
открыть палитру графиков;
нажать кнопку X-Y Plot палитры для построения графика в декартовой системе координат, после чего в рабочий документ по местоположению курсора будет вставлен шаблон графика;
в поле ввода
· по оси абсцисс поместить имя аргумента, а по оси ординат ввести имена функций через запятую (например, f(x), f1(x), f2(x));
двойным щелчком мыши по области графика открыть окно форматирования;
произвести форматирование осей графика (см. краткие теоретические сведения темы 5), рекомендуется установить оси в виде креста;
для вывода легенды в окне форматирования графика выбрать закладку Traces и задать названия для каждой функции в поле Legend Label:
выбрать в списке соответствующую линию, например, trace1;
в поле ввода под списком набрать название линии, например, для f(x) вместо trace1 набрать функция f(x), для f1(x) вместо trace2 набрать первая производная функции f(x);
щелчком мыши убрать флажок переключателя Hide Legend;
для нанесения фоновых линий выбрать закладку X-Y Axes окна форматирования и щелчком мыши установить флажок переключателя Show Markers для оси абсцисс (X-Axis);
закрыть окно форматирования графика нажатием кнопки ОК, при этом под осью абсцисс появится легенда и два пустых поля
· для определения точек нанесения фоновых линий;
для определения точек экстремума функции выполнить команду меню Format – Graph – Trace, после чего будет открыто окно X-Y Trace
( Замечание: в точках экстремума первая производная функции равна нулю);
щелчком мыши убрать флажок переключателя Track Data Points;
при нажатой левой кнопке мыши перемещать указатель вдоль линии графика первой производной до точки пересечения ее с осью абсцисс, после чего отпустить кнопку мыши, при этом в поле X-Value окна X-Y Trace появится значение аргумента, при котором первая производная равна нулю;
заполнить одно из пустых полей
· под осью абсцисс, набрав значение из поля X-Value;
для визуализации графика щелкнуть левой кнопкой мыши или нажать клавишу Enter;
закрыть окно X-Y Trace.
Пример 5.1 Построить график функции 13 EMBED Equation.3 1415 и графики ее первой и второй производной. Нанести фоновые линии в точках экстремума функции 13 EMBED Equation.3 1415Функция должна рассчитываться не менее чем в n=50 точках, при xнач = 0 и xкон =
·.
Реализация в MathCad:
5.2 Построение графиков кусочно-непрерывных функций
Последовательность действий для построения графика кусочно-непрерывной функции такова:
с помощью программного фрагмента задать кусочно-непрерывную функцию (см. тему 4), например,
;
определить аргумент в виде дискретной переменной таким образом, чтобы функция вычислялась по каждой из формул (см. краткие теоретические сведения темы 2), например 13 EMBED Equation.3 1415;
построить график заданной функции (см. краткие теоретические сведения темы 5);
двойным щелчком мыши по области графика открыть окно форматирования;
для нанесения вспомогательных линий щелчком мыши установить флажок переключателя Crid Lines для каждой оси;
для ввода названий осей и самого графика в окне форматирования выбрать закладку Labels, ввести заголовок графика в поле Title и установить флажок переключателя Show Title;
ввести названия осей в полях ввода панели Axis Labels;
для изменения толщины линии выбрать закладку Traces и задать толщину линии графика, используя список поля Weight :
;
закрыть окно форматирования графика нажатием кнопки ОК.
Пример 5.2 Построить график кусочно-непрерывной функции 13 EMBED Equation.3 1415.
Пределы изменения аргумента подобрать так, чтобы перекрывались все три диапазона. При задании вида функции использовать программный фрагмент.
Реализация в MathCad:
Тема 6. Решение систем линейных алгебраических уравнений
Краткие теоретические сведения
MathCAD дает возможность решать системы уравнений и неравенств.
Наиболее распространенным методом решения уравнений в Mathcad является блочный метод. Для решения системы этим методом необходимо выполнить следующее:
задать начальное приближение для всех неизвестных, входящих в систему уравнений;
задать ключевое слово Given, которое указывает, что далее следует система уравнений;
ввести уравнения и неравенства в любом порядке (использовать кнопку логического равенства на панели знаков логических операций для набора знака «=» в уравнении);
ввести любое выражение, которое включает функцию Find.
Решающим блоком называется часть документа, расположенная между ключевыми словами Given и Find.
После набора решающего блока Mathcad возвращает решение системы уравнений.
Обратиться к функции Find можно несколькими способами:
Find(x1, x2,) = - корень или корни уравнения вычисляются и выводятся в окно документа.
x := Find(x1, x2,) – формируется переменная или вектор, содержащий вычисленные значения корней.
Сообщение об ошибке «Решение не найдено» появляется тогда, когда система не имеет решения.
Приближенное решение уравнения или системы можно получить с помощью функции Minerr.
Если в результате поиска не может быть получено дальнейшее уточнение текущего приближения к решению, Minerr возвращает это приближение. Функция Find в этом случае возвращает сообщение об ошибке. Правила использования функции Minerr такие же, как и для функции Find. Часть документа, расположенная между ключевыми словами Given и Minerr так же носит название решающего блока.
Примеры решения систем уравнений с помощью решающего блока приведены на рисунке 2.6.2.
Для решения систем линейных уравнений можно использовать общепринятые математические методы: метод Крамера, матричный метод и т.д.
Матричный метод решения системы линейных уравнений реализован в функции lsolve. Общий вид функции:
lsolve(а, b)
где а – матрица коэффициентов перед неизвестными, b – вектор свободных членов.
Матричный метод можно реализовать и с помощью обратной матрицы. Примеры решения систем линейных уравнений с помощью матричного метода приведены на рисунке 2.6.2.
Рисунок 2.6.2 – Примеры решения систем уравнений
Из рисунка 2.6.2 видно, что при решении системы уравнений блочным методом можно получить численные значения корней системы уравнений, без присваивания и с присваиванием их в переменные x1 и x2. При решении системы уравнений матричным методом продемонстрированы два варианта: с использованием стандартной функции lsolve и обратной матрицы.
Практическая часть темы 6
Решение системы линейных уравнений
А) Последовательность действий для решения системы линейных уравнений методом Крамера такова:
создать матрицу коэффициентов системы линейных уравнений, например, 13 EMBED Equation.3 1415
(см. краткие теоретические сведения темы 2);
создать вектор свободных членов, например;
13 EMBED Equation.3 1415
с помощью оператора «:=» создать матрицу, равную матрице коэффициентов, например, 13 EMBED Equation.3 1415;
заменить в созданной матрице первый столбец вектором свободных членов, используя операцию выделения столбца матрицы, например, 13 EMBED Equation.3 1415 или 13 EMBED Equation.3 1415 (в зависимости от значения переменной ORIGIN);
аналогично из матрицы коэффициентов создать матрицу, в которой второй столбец заменен вектором свободных членов, затем матрицу, в которой третий столбец заменен вектором свободных членов, и т.д. (количество таких матриц определяется количеством неизвестных в системе уравнений);
найти первый корень, разделив определитель матрицы с замененным первым столбцом на определитель матрицы коэффициентов, например: 13 EMBED Equation.3 1415;
найти остальные корни системы уравнений аналогично.
Б) Последовательность действий для решения системы линейных уравнений матричным методом такова:
создать матрицу коэффициентов системы линейных уравнений, например, А (см. краткие теоретические сведения темы 2);
создать вектор свободных членов системы линейных уравнений, например, B;
получить решение системы с помощью функции lsolve, параметрами которой являются матрица коэффициентов и вектор свободных членов, например: 13 EMBED Equation.3 1415
(решение также можно получить, умножив матрицу, обратную к матрице коэффициентов, на вектор свободных членов: 13 EMBED Equation.3 1415);
вывести полученный вектор, содержащий корни системы, с помощью оператора «=».
В) Последовательность действий для решения системы линейных уравнений блочным методом такова:
задать начальные приближения для всех неизвестных, входящих в систему уравнений;
набрать ключевое слово Given;
ниже слова Given набрать уравнения, отделяя правую и левую части символом логического равенства «=» (см. краткие теоретические сведения темы 6);
набрать функцию Find, подставляя в качестве аргументов имена неизвестных системы;
вывести вектор, содержащий вычисленные значения корней, с помощью оператора «=», например Find(x1,x2,x3)=.
Замечание. Корни системы уравнений, полученные разными способами, должны совпасть.
Пример 6.3. Решить систему линейных уравнений 13 EMBED Equation.3 1415
методом Крамера, матричным и блочным методами. Сравнить полученные результаты. Начальные значения корней при использовании блочного метода принять равными 1.
Реализация в MathCad:
13 EMBED PBrush 1415
13 EMBED PBrush 1415
Тема 7. Решение дифференциальных уравнений и систем в
MathCad
Краткие теоретические сведения
Для решения дифференциальных уравнений с начальными условиями система Mathcad имеет ряд встроенных функций:
rkfixed – функция для решения ОДУ и систем ОДУ методом Рунге–Кутта четвертого порядка с постоянным шагом;
Rkadapt – функция решения ОДУ и систем ОДУ методом Рунге–Кутта с переменным шагом;
Odesolve – функция, решающая ОДУ блочным методом.
Ниже приведено описание стандартной функции rkfixed с указанием параметров функции.
rkfixed(y, x1, x2, p, D)
Аргументы функции:
y – вектор начальных условий из k элементов (k – количество уравнений в системе);
x1 и x2 – левая и правая границы интервала, на котором ищется решение ОДУ или системы ОДУ;
p – число точек внутри интервала (x1, x2), в которых ищется решение;
D – вектор, состоящий из k-элементов, который содержит первую производную искомой функции или первые производные искомых функций, если речь идет о решении системы.
Результатом работы функции является матрица из p+1 строк, первый столбец которой содержит точки, в которых получено решение, а остальные столбцы – сами решения.
На рисунке 2.7.1 приведены конкретные примеры решения различных дифференциальных уравнений и систем ОДУ в MathCAD.
Рисунок 2.7.1 – Примеры решения дифференциальных уравнений и систем
При решении дифференциального уравнения первого порядка нужно создать вектор начальных условий из одного элемента Y1, который затем используется при формировании вектора-функции правой части дифференциального уравнения. При обращении к функции rkfixed указывается имя вектора Y, границы интервала, на котором ищется решение уравнения, например, (0 ; 2), количество точек, в которых ищется решение – 100, вектор-функция, описывающая правую часть дифференциального уравнения – D. В результате получается матрица z, в первом столбце которой содержатся значения аргумента искомой функции, во втором – значения самой результирующей функции. При построении графика функции первый столбец полученной матрицы указывается как аргумент, второй столбец – как функция.
При решении системы дифференциальных уравнений нужно создать вектор начальных условий из двух элементов, например, вектор v, который затем используется при формировании вектора-функции правой части дифференциального уравнения. При обращении к функции rkfixed указывается имя вектора v, и границы интервала, на котором ищется решение уравнения, например, (0 ; 5), количество точек, в которых ищется решение – 100, вектор-функция, описывающая правую часть дифференциального уравнения – D. В результате получается матрица s, в первом столбце которой содержатся значения аргумента искомых функций, во втором и третьем столбцах – значения самих функций при соответствующем значении аргумента. При построении графика можно воспользоваться первым столбцом полученной матрицы как аргументом, а вторым и третьим столбцами – как функциями.
На рисунке 2.7.2 приведен пример решения дифференциального уравнения второго порядка с использованием функции rkfixed. Необходимо решить дифференциальное уравнение второго порядка с заданными начальными условиями вида:
13 EMBED Equation.3 1415
Рисунок 2.7.2 – Пример решения дифференциальных уравнений второго порядка с помощью rkfixed
Для решения уравнения с помощью функции rkfixed нужно выполнить замену переменных и привести дифференциальное уравнение второго порядка к двум дифференциальным уравнениям первого порядка. Вид этих уравнений приведен ниже.
13 EMBED Mathcad 1415
Документ формируется точно так же, как и при решении системы ОДУ.
На рисунке 2.7.2 показана возможность вычисления вектора второй производной найденной функции – вектора а, построены графики исходной функции, функций первой и второй производных.
Практическая часть темы 7
7.1 Решение дифференциальных уравнений первого порядка
Последовательность действий для решения дифференциального уравнения первого порядка такова:
сформировать вектор начальных условий из одного элемента, присвоив начальное значение искомой функции переменной с индексом, например: 13 EMBED Equation.3 1415 или 13 EMBED Equation.3 1415 (в зависимости от значения переменной ORIGIN);
определить вектор-функцию из одного элемента, которая содержит первую производную неизвестной функции:
набрать имя функции с двумя параметрами: первый параметр – аргумент искомой функции (независимая переменная), второй – имя вектора, содержащего искомую функцию (можно использовать имя вектора начальных условий), например, D(x,Y);
набрать оператор «:=» и выражение для первой производной (выразить из дифференциального уравнения), в котором вместо имени искомой функции подставлен первый элемент вектора-параметра, например, для уравнения 13 EMBED Equation.3 1415 вектор-функция будет определятся следующим образом: 13 EMBED Equation.3 1415( если ORIGIN=0, подставлять 13 EMBED Equation.3 1415);
присвоить некоторой переменной значение функции rkfixed, указав в скобках следующие параметры: первый – имя вектора начальных условий, второй – левая граница интервала, на котором ищется решение, в виде числовой константы, третий – правая граница интервала, на котором ищется решение, в виде числовой константы, четвертый – количество точек, в которых ищется решение, пятый – имя вектора-функции, описывающего первую производную, без параметров;
например: 13 EMBED Equation.3 1415,
(в результате получится матрица Z, в первом столбце которой содержатся значения аргумента искомой функции, во втором – значения самой функции);
вывести матрицу, содержащую решение ДУ с помощь оператора «=», например: Z = ;
построить график найденной функции (см. тему 5), указав в качестве аргумента по оси абсцисс столбец 13 EMBED Equation.3 1415, а в качестве значения функции по оси ординат – столбец 13 EMBED Equation.3 1415(если ORIGIN=0, набирать соответственно 13 EMBED Equation.3 1415 и 13 EMBED Equation.3 1415).
Пример 7.1 Найти численное решение дифференциального уравнения первого порядка 13 EMBED Equation.3 1415 на интервале от 0.2 до 5 в 1000 точках, при начальном условии y(0)=0.1.
Выполнить графическую интерпретацию результатов.
Реализация в MathCad:
7.2 Решение систем дифференциальных уравнений
Последовательность действий для решения системы дифференциальных уравнений первого порядка такова (описана для значения ORIGIN=0):
перейти в исходной системе уравнений к однотипным обозначениям функций и выразить первые производные,
например, систему 13 EMBED Equation.3 1415 можно преобразовать в 13 EMBED Equation.3 1415;
в документе MathCad сформировать вектор начальных условий, количество элементов которого равно количеству уравнений системы, присвоив его некоторой переменной (см. тему 2);
например, 13 EMBED Equation.3 1415;
определить вектор-функцию, которая содержит первые производные искомых функций:
набрать имя функции с двумя параметрами: первый параметр – аргумент искомых функций (независимая переменная), второй – имя вектора, содержащего искомые функции (можно использовать имя вектора начальных условий), например, D(t,V);
(Замечание: если независимая переменная явно не присутствует в системе, то в качестве ее имени можно выбрать любую переменную)
набрать оператор «:=» и вставить шаблон вектора, количество элементов которого равно количеству уравнений системы (см. тему 2)
набрать в качестве элементов вектора правые части системы уравнений, в которых искомые функции представлены соответствующими элементами вектора-параметра, например,
13 EMBED Equation.3 1415;
присвоить некоторой переменной значение функции rkfixed, указав в скобках следующие параметры:первый – имя вектора начальных условий, второй – левая граница интервала, на котором ищется решение, в виде числовой константы, третий – правая граница интервала, на котором ищется решение, в виде числовой константы, четвертый – количество точек, в которых ищется решение, пятый – имя вектора-функции, описывающего первые производные, без параметров;
например: 13 EMBED Equation.3 1415,
(в результате получится матрица Z, в первом столбце которой содержатся значения аргумента искомых функций, во втором – значения первой функции, в третьем – значения второй функции и т.д.);
вывести матрицу, содержащую решение системы ДУ с помощь оператора «=», например: Z = ;
построить графики найденных функций (см. тему 5), указав в качестве аргумента по оси абсцисс первый столбец матрицы решений, например, 13 EMBED Equation.3 1415, а в качестве значений функций по оси ординат – остальные столбцы матрицы через запятую, например, 13 EMBED Equation.3 1415, 13 EMBED Equation.3 1415 и т.д.
Пример 7.2 Найти решение системы дифференциальных уравнений
13 EMBED Equation.3 1415
на интервале от 0 до 0.5 в 1000 точках, при следующих начальных условиях: x(0)=0.1 и y(0)=1.
Выполнить графическую интерпретацию результатов.
Реализация в MathCad:
Список использованных источников
1 Трохова Т.А. Практическое пособие по теме «Основные приемы работы в системе MathCad, версии 6.0» курса «ВТ и программирование» для студентов всех специальностей дневного и заочного отделений. – Гомель: ГГТУ, 1998. – 42с.
2 Новиков А.А. Практическое пособие к лабораторным и контрольным работам по теме «Решение инженерно-экономических задач в среде MathCad for Windows» курса «Информатика» для студентов заочного отделения. – Гомель: ГГТУ им.П.О.Сухого, 2000. – 46с.
3 Грудецкий Г.А., Мурашко И.А. Графические средства пакета MathCad: Практическое пособие для студентов всех специальностей дневного и заочного отделений. – Гомель: ГГТУ им.П.О.Сухого, 2001. – 36с.
4 Математический пакет MathCad: Практикум по курсу «Информатика» к лабораторным работам для студентов всех специальностей заочного отделения / Грудецкий Г.А., Коробейникова Е.В., Самовендюк Н.В., Трохова Т.А., Токочаков В.И. – Гомель: ГГТУ им П.О.Сухого,2003. – 49с.
5 Токочаков В.И. Практическое пособие по теме «Решение систем алгебраических и дифференциальных уравнений в среде MathCAD Windows» для студентов всех специальностей дневного и заочного отделений. – Гомель: ГГТУ им П.О.Сухого,2000. – 26с.
6 Дьяконов В.П. Справочник по MathCad Plus 7.0 PRO. – М.: СК Пресс, 1997. – 352с.
Содержание
Раздел 1
Общая характеристика системы MathCad. Интерфейс MathCad
3
1.1
Общая характеристика и основные функции системы
3
1.2
Интерфейс системы MathCad
3
1.3
Основные приемы работы с файлами в системе MathCad
5
1.3.1
Создание нового документа
5
1.3.2
Сохранение документа в файле на диске
6
1.3.3
Открытие ранее созданного документа
6
1.3.4
Печать текущего документа
6
Раздел 2
Методические указания к выполнению контрольной работы
7
Тема 1
Базовые вычисления в MathCad
7
Краткие теоретические сведения
7
Практическая часть
10
1.1
Вычисление арифметических выражений
10
1.2
Вычисление арифметических выражений с использованием оператора присваивания (линейный алгоритм)
10
1.3
Создание пользовательских функций
11
Тема 2
Обработка структурированных данных в MathCad
11
Краткие теоретические сведения
11
Практическая часть
13
1.1
Дискретные переменные, функции дискретных переменных
13
1.2
Обработка матриц и векторов
16
Тема 3
Вычисление суммы, произведения, производной и интеграла в MathCad
18
Краткие теоретические сведения
18
Практическая часть
19
3.1
Вычисление суммы, произведения и определенного интеграла
19
3.2
Вычисление производных в точках
20
3.3
Вычисление производной в диапазоне изменения аргумента
20
3.4
Вычисление определенного интеграла
21
Тема 4
Создание программных фрагментов в MathCad
22
Краткие теоретические сведения
22
Практическая часть
24
4.1
Программирование разветвляющихся алгоритмов
24
4.2
Программирование циклических алгоритмов
25
4.3
Программирование алгоритмов работы с массивами
27
Тема 5
Построение графиков в MathCad
28
Краткие теоретические сведения
28
Практическая часть
31
5.1
Построение двумерных графиков
31
5.2
Построение графиков кусочно-непрерывных функций
33
Тема 6
Решение уравнений и систем в MathCad
34
Краткие теоретические сведения
34
Практическая часть
37
6.1
Поиск корней уравнения, графическая интерпретация
37
6.2
Поиск корней полиномиального уравнения, графическая интерпретация
38
6.3
Решение системы линейных уравнений
39
6.4
Решение системы нелинейных уравнений
40
Тема 7
Решение дифференциальных уравнений и систем в MathCad
41
Краткие теоретические сведения
41
Практическая часть
44
7.1
Решение дифференциальных уравнений первого порядка
44
7.2
Решение систем дифференциальных уравнений
45
Список использованных источников
48
Лабораторная работа 1
Упражнение 1.
Вычислить:
|-10| = 10! = .
Это и все остальные задания снабдить комментариями, используя команду Вставка
· Текстовая область.
Упражнение 2. Определить переменные: a := 3.4, b := 6.22, c
· 0.149 (причем переменную с - глобально) и выражения:
.
Вычислить выражения.
С помощью команды Формат
·Результат
·Формат чисел
·Число знаков изменить точность отображения результатов вычисления глобально.
Упражнение 3. Вывести на экран значение системной константы
· и установить максимальный формат ее отображения локально.
Упражнение 4. Выполнить следующие операции с комплексными числами:
Z := -3 + 2i |Z| = Re(Z) = Im(Z) = arg(Z) =
= = 2
· Z = Z1 := 1 + 2i Z2 := 3 + 4i
Z1 + Z2 = Z1 - Z2 = Z1
· Z2 = Z1/Z2 =
Упражнение 5. Выполнить следующие операции:
i := 1 .. 10 = = = =
x := 2 = =
Упражнение 6. Определить векторы d, S и R через дискретный аргумент i. Отобразить графически таблично заданные функции Si(di) и Ri(di), используя команду Вставка
·График
·X-Y Зависимость.
Чтобы оформить график, необходимо выполнить следующие команды:
Щелкнуть левой клавишей мыши на графике, чтобы выделить его. Затем щелкнуть правой клавишей мыши, при этом появится контекстное меню в котором необходимо выбрать команду Формат (появится диалоговое окно “Formatting Currently Selected X-Y Plot”).
Нанести линии сетки на график (Оси X-Y
·Вспом. линии) и отобразить легенду (След
·Скрыть легенду)
Отформатировать график так, чтобы в каждой узловой точке графика функции Si(di) стоял знак вида
· (След
·Символ
·box), а график функции Ri(di) отобразить в виде гистограммы (След
·Тип
·bar).
Упражнение 7. Построить декартовы (X-Y Зависимость) и полярные (Полярные Координаты) графики следующих функций:
Для этого необходимо определить
· как дискретный аргумент на интервале от 0 до 2
·
· с шагом
·/30.
Определить по графику X-Y Зависимость координаты любой из точек пересечения графиков Y(
·) и P(
·), для этого необходимо:
Выделить график и выбрать из контекстного меню Масштаб (появится диалоговое окно “X-Y Zoom”) для увеличения части графика в области точки пересечения.
На чертеже выделить пунктирным прямоугольником окрестность точки пересечения графиков Y(
·) и P(
·), которую нужно увеличить.
Нажать кнопку Масштаб+, чтобы перерисовать график.
Чтобы сделать это изображение постоянным, выбрать ОК.
Выбрать из контекстного меню Трассировка (появится диалоговое окно “XY Trace”).
Внутри чертежа нажать кнопку мыши и переместить указатель мыши на точку, чьи координаты нужно увидеть.
Выбрать Copy X (или Copy Y), на свободном поле документа набрать Xper := (или Yper :=) и выбрать пункт меню Правка
·Вставка.
Вычислить значения функций Х(
·) и Y(
·) при
·:=
·
·2.
Упражнение 8. Используя команду Вставка
·Матрица создать матрицу Q размером 6
·6, заполнить ее произвольно и отобразить графически с помощью команды Вставка
·График
·Поверхности.
Упражнение 9. Построить график поверхности (Поверхности) и карту линий уровня (Контурный) для функции двух переменных
, двумя способами:
С помощью функции CreateMesh (сетка размером 40
· 40, диапазон изменения t от –5 до 5,
· - от 0 до 2
·
·).
Задав поверхность математически, для этого:
Определить функцию X(t,
·)
Задать на осях переменных t и
· по 41 точке
i:=0..40 j:=0..40
для переменной ti со значениями, изменяющимися от -5 до 5 с шагом 0.25 ti := -5 + 0.25
· i, а для переменной
·j - от 0 до 2
·
· с шагом
·/20
·j :=
·/20
· j.
Определить матрицу Мi j := X(ti,
·j) и отобразить ее графически.
С помощью команды Формат контекстного меню вызвать диалоговое окно “Формат 3-D графика” и изменить:
характеристики просмотра (Общее
·Вид
·Вращение, Наклон),
цвета и линии поверхности (Внешний Вид
·Свойства линии, Свойства заливки),
параметры осей (Оси),
вид заголовка графика (Название).
Упражнение 10. Отобразить графически пересечение поверхностей и . Матрицы для построения поверхностей задать с помощью функции CreateMesh, значения факультативных параметров не указывать. Выполнить однотонную заливку для поверхностей, выбрав из контекстного меню команду Формат. Также из контекстного меню выбрать эффекты Туман, Освещение, Перспектива.
Упражнение 11. Используя переменную FRAME и команду Вид
· Анимация, создать анимационные клипы с помощью данных приведенных в Таблице 1.
Таблица 1
Варианты упражнения 11
№
варианта
Переменные и
функции
FRAME
Тип графика
1
x := 0, 0.1 .. 30
f(x) := x + FRAME
от 0 до 20
График Полярные Координаты
2
i :=0 .. FRAME + 1
gi :=0.5
· i
· cos(i)
hi :=i
· sin(i)
ki :=2
· i
от 0 до 50
3D точечный график границы на осях
Min Max
x - 50 50
y - 50 50
z 0 50
В метке для ввода матрицы укажите (g, h, k)
3
i :=0 .. 20 j := 0 .. 20
f(x,y) := sin(x2 + y2 + FRAME)
xi := -1.5 + 0.15
· i
yj := -1.5 + 0.15
· j
Mi,j := f(xi , yj)
от 0 до 50
График Поверхности
В метке для ввода матрицы укажите M
4
r := FRAME
R := 6
n := 0 .. 20 m := 0 .. 20
vn :=
wm :=
xm n := (R + r
· cos(vn))
· cos(wm)
ym n := (R + r
· cos(vn))
· sin(wm)
zm n:= r
· sin(vn)
от 0 до 20
График Поверхности
(границы на всех осях установить от -11 до 11)
В метке для ввода матрицы укажите (x, y, z)
5
i :=0 .. 2
·FRAME
Qi :=2
· i
· cos(i)
Wi :=2
·i
· sin(i)
Ei := i
от 0 до 30
3D точечный график
границы на осях
Min Max
x - 30 30
y - 30 0
z -30 30
В метке для ввода матрицы укажите (Q,W, E)
6
i :=0 .. 20 j := 0 .. 20
f(x,y) := sin(2
·x2 +2
· y2 + FRAME)
xi := -2 + 0.2
· i
yj := -2 + 0.2
· j
Mi,j := f(xi , yj)
от 0 до 20
График Поверхности
В метке для ввода матрицы укажите M
7
r := FRAME
R := 8
n := 0 .. 40 m := 0 .. 40
vn :=
wm :=
xm n := (R + r
· cos(vn))
· (R + r
· cos(wm))
ym n := (R + r
· cos(vn))
· (R + r
· sin(wm))
zm n:= sin(vn)
от 0 до 20
График Поверхности
(границы на всех осях установить от -11 до 11)
В метке для ввода матрицы укажите (x, y, z)
8
i :=0 .. FRAME
gi :=2
· i
· cos(i)
hi :=2
·i
· sin(i)
ki :=2
· i
от 0 до 40
3D точечный график границы на осях
Min Max
x - 40 40
y - 40 40
z -40 40
В метке для ввода матрицы укажите (g, h, k)
9
x := 0, 0.2 .. 50
f(x) :=2
· x +2
· FRAME
от 0 до 30
График Полярные Координаты
10
11
12
Контрольные вопросы
1. С помощью какого оператора можно вычислить выражение?
2. Как вставить текстовую область в документ Mathcad?
3. Чем отличается глобальное и локальное определение переменных? С помощью каких операторов определяются?
4. Как изменить формат чисел для всего документа?
5. Как изменить формат чисел для отдельного выражения?
6. Какие системные (предопределенные) переменные Вам известны? Как узнать их значение? Как изменить их значение?
7. Какие виды функций в Mathcad Вам известны?
8. Как вставить встроенную функцию в документ Mathcad?
9. С помощью каких операторов можно вычислить интегралы, производные, суммы и произведения?
10. Как определить дискретные переменные с произвольным шагом? Какой шаг по умолчанию?
11. Как определить индексированную переменную?
12. Какие виды массивов в Mathcad Вам известны?
13. Какая системная переменная определяет нижнюю границу индексации элементов массива?
14. Опишите способы создания массивов в Mathcad.
15. Как просмотреть содержимое массива, определенного через дискретный аргумент?
16. Как построить графики: поверхности; полярный; декартовый?
17. Как построить несколько графиков в одной системе координат?
18. Как изменить масштаб графика?
19. Как определить координату точки на графике?
20. Как построить гистограмму?
21. Какие функции используются для построения трехмерных графиков?
22. Как создать анимацию в Mathcad?
23. Какое расширение имеют сохраненные файлы анимаций?
Рисунок 1.1 – Вид окна MathCad после запуска системы
Строка заголовка
Наборная панель
Панель инструментов «Форматирование»
Панель инструментов «Стандартная»
Главное меню системы
Окно набора и редактирования документа
Рисунок 1.2 – Назначение кнопок наборной панели:
1 – Calculator (Палитра арифметических операторов);
2 – Graph (Палитра графиков);
3 – Matrix (Палитра матриц);
4 - Calculus (Палитра математического анализа);
5 - Boolean (Палитра логических операторов );
6 - Programming (Палитра программирования);
7 - Greek symbol (Палитра греческих букв).
1 2 3 4 5 6 7
Рисунок 1.3 – Окно сохранения документа
Рисунок 1.4 – Окно печати документа
xi < 0
x[i] >B
P:=1
нет
да
нет
да
P:=P* xi
i:=i+2
i:=2
i ( n
S:=S+i/(cos(i)+2)
S:=0
да
нет
1
i:=i+
1
i:=
i
· 125
Рисунок 2.4.2 – Схемы алгоритмов вычисления
а) суммы вида 13 EMBED Equation.3 1415;
б) произведения вида 13 EMBED Equation.3 1415.
б)
а)
S – сумма
P – произведение
n - количество слагаемых или множителей
P:=P·<множитель>
P:=1
да
нет
1
i:=i+
1
i:=
i
· n
S:=S+<слагаемое>
S:=0
да
нет
1
i:=i+
1
i:=
i
· n
S:=0
Root EntryEquation NativeEquation NativeEquation NativeEquation NativeEquation Native