- •Кафедра "Информатика и информационная безопасность"
- •2003 Введение
- •1. Среда пакета прикладных программMathCad
- •1.1. Назначение команд основного меню
- •1.2. Назначение панелей инструментовMathCad
- •1.3. Назначение рабочей области документа
- •2. Создание и редактирование документов
- •2.1. Ввод и редактирование текста
- •2.2. Импорт текста в документ
- •2.3. Ввод в текст математических выражений
- •2.4. Ввод математических выражений в документыMathCad
- •If (условие, выражение1, выражение2)
- •3. Работа с массивами данных
- •3.1. Заполнение массивов
- •3.2. Операции над массивами
- •4. Решение систем линейных уравнений
- •5. Вычисление корней алгебраических и трансцендентных уравнений
- •6. Основы программирования вMathCad
4. Решение систем линейных уравнений
В MathCadсистему линейных уравнений можно решить двумя способами:
с помощью встроенной функции lsolve;
с помощью вычислительного блока Given и функцииfind.
Примечание. Функции lsolve и find вводятся с помощью кнопки f(x) стандартной панели инструментов (категории функций – Решение), ключевое слово Given с клавиатуры, знак равно (=) – с панели Булево.
Пример.
Пусть задана система линейных уравнений:
x1 + 5x2 + 2x3 = 1
0,7x1 + 12x2 + 5x3 = 2,9
3x1 + 0x2 + 4x3 = 3,1
Обозначим:
А– матрица коэффициентов при неизвестных размерностиmn,
B – вектор свободных членов размерностиn.
Для решения системы линейных уравнений с помощью встроенной функции lsolve требуется выполнить следующие действия:
ввести матрицу коэффициентов;
ввести вектор свободных членов;
вычислить корни уравнения.
При решении системы линейных уравнений с помощью вычислительного блока Given выполняются следующие действия:
присвоить неизвестным начальные значения: x:=0y:=0z:=0 (значения могут быть произвольными, так как решение системы линейных алгебраических уравнений с невырожденной матрицей единственное);
ввести ключевое слово Given;
ввести систему линейных алгебраических уравнений (знак = с панели Условие);
для получение результата ввести функцию find.
Примечание. При использовании вычислительного блока переменные с индексами необходимо заменить простыми переменными.В рассматриваемом примере x1 заменено x, x2 – y, x3 – z.
5. Вычисление корней алгебраических и трансцендентных уравнений
В MathCadможно вычислять корни алгебраических и трансцендентных уравненийf(x)=0, если известно начальное приближение к корнюx0или интервал, внутри которого может находиться значение корня. Значение корня вычисляется с точностьюTOL, которая устанавливаетсяиз меню Математика командой Параметры на вкладке Переменные в поле Допуск сходимости. По умолчаниюTOL=0.001.
Значение корня вычисляется с помощью функции root (f(x), x),если задано начальное приближение к корню иroot (f(x), x,a,b),если задан интервал, где
f(x)– функция, определяющая уравнение;
x– переменная, относительно которой решается уравнение;
a, b– границы интервала, внутри которого выполняется поиск корня.
Примервычисления значения корня трансцендентного уравнения
cos(x) –x = 0 при начальном приближении к корню, равном 0.6:
присвоить переменной xначальное приближение к корню;
ввести уравнение f(x);
ввести функцию root() и после нее знак = для получения результата вычисления.
x:=0.6 f(x):=cos(x)-x root(f(x),x)=0.739
или
root(cos(x)-x,x)=0.739
Примервычисления значения корня трансцендентного уравнения sin(x)=0 на интервале [-1;1].
root(sin(x),x,-1,1)=0
6. Основы программирования вMathCad
Версии MathCad2000 и выше позволяют вставлять в документы выполняемые программные блоки. Программа представляет собой построчную запись конструкций (операторов) языка программированияMathCad.
Язык программирования содержит четыре основных оператора: присваивания, условный, цикла и возврат значения. Для вставки программных блоков в документы используется панель Программирование. Практически все кнопки этой панели выполнены в виде текстового представления операторов программирования, поэтому их назначение понятно каждому, кто имеет хотя бы представление о какой-либо системе программирования.
Любой программный блок начинается с ввода вертикальной линии с панели Программированиещелчком по символуAdd Line. Автоматически линия распространяется на две строки программного блока. Если длину линии требуется увеличить, то необходимо щелкнуть левой клавиши мыши по местозаполнителю последней строки и символуAdd Line.
Оператор присваивания
Используется для присваивания значения некоторой переменной. В программе изображается как .Слева от стрелки записывается переменная, а справа – ее значение. Переменная, значение которой определяется с помощью оператора, рассматривается как локальная, она доступна только в пределах программного блока.
Например, чтобы в программе переменной xприсвоить значение0, необходимо записать следующую конструкцию:x0.
Примечание. Знак вводится щелчком левой клавиши мышипо соответствующей кнопке на панели Программирование.
Условный оператор
Условный оператор ifслужит для вычисления значения переменной в зависимости от заданного условия.
В программу вводится щелчком левой клавиши мыши по символу ifпанелиПрограммирование. Логические операторы, которые служат для проверки истинности или ложности заданного условия вводятся с панелиБулево.
После ввода в программу оператораifперед ним и после него отображаются местозаполнители: . Справа от оператораifв местозаполнитель записывается условие, а в местозаполнитель слева – значение, которое требуется присвоить некоторой переменной.
Если требуется проверить несколько условий, то используется несколько операторов if, каждый из которых располагается в отдельной строке.
С одним или несколькими операторами ifможно использовать операторotherwise, который будет выполняться, если ни одно из условий не будет истинным. При вводе оператораotherwiseсправа от него отобразится местозаполнитель, в котором записывается соответствующее значение.
Например, программа заполнения массива Спо правилу:
в MathCadзаписывается следующим образом:
Программа для вычисления функции:
будет иметь вид:
Операторы цикла
Оператор цикла forслужит для организации циклических вычислительных процессов и вводится щелчком по символуfor на панелиПрограммирование. После его ввода в первой строке отображается ключевое словоforи два местозаполнителя. В первый местозаполнитель вводится имя параметра цикла, а во второй – диапазон его значений. Во второй строке отображается третий местозаполнитель, который используется для записи операторов, составляющих тело цикла.
Пример нахожденияэлементас минимальным значением среди отрицательных элементов вектора:
Примечание. Для нахождения минимума среди всех элементов вектора можно применить функцию min, например: min(A) = -13.
Пример подсчета количества положительных элементов в четных строках матрицы.
Запись программного блока может выглядеть и так:
Примечание. Функция mod() используется для получения остатка от деления целых чисел.
Литература:
1. Дьяконов В. MathCad 2001. Учебный курс. Санкт-Петербург, Питер, 2001.
2. Кирьянов Д.В. Самоучитель MathCad 2001. – СПб.: БХВ-Петербург, 2002.
Введение 2
1. Среда пакета прикладных программ MathCad 2
1.1. Назначение команд основного меню 2
1.2. Назначение панелей инструментов MathCad 3
1.3. Назначение рабочей области документа 4
2. Создание и редактирование документов 4
2.1. Ввод и редактирование текста 5
2.2. Импорт текста в документ 5
2.3. Ввод в текст математических выражений 5
2.4. Ввод математических выражений в документы MathCad 6
3. Работа с массивами данных 14
3.1. Заполнение массивов 14
3.2. Операции над массивами 16
4. Решение систем линейных уравнений 18
5. Вычисление корней алгебраических и трансцендентных уравнений 20
6. Основы программирования в MathCad 20