Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы работы с пакетом Matchad.doc
Скачиваний:
35
Добавлен:
16.03.2015
Размер:
1.1 Mб
Скачать

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

Обозначим:

А– матрица коэффициентов при неизвестных размерностиmn,

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