Название: Информатика Часть II(Н.Э. Унру)

Жанр: Информатика

Просмотров: 1498


1.1.3. некоторые из основных приемов работы

с Mathcad

Выполнение арифметических вычислений. Пусть необходимо вычислить следующее выражение:

.

Щелкните по любому месту в рабочем документе - в поле появится крестик красного цвета, обозначающий позицию, с которой начинается ввод. Наберите на клавиатуре следующую последовательность символов (значком _ обозначен символ “пробел”):

25/8.1_–11*12/3=

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

.

Вычисление значения функции. Пусть необходимо вычислить значение функции  при следующем наборе значений х: –2.3, –0.2, 0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0. Аналогично предыдущему, щелкните по свободному месту рабочего документа и наберите соответствующую последовательность символов:

f(x):(5*x^2_-2)/cos(exp(–4.8*x))

и затем щелкните по рабочему документу вне поля ввода. На экране появится следующее изображение:

.

Для получения значения f(x) в точке х = –2.3 щелкните в свободном месте рабочего документа, но правее или ниже и введите с клавиатуры

f(–2.3)=

Следствием этих действий будет появление на экране изображения

f(–2.3)=46.710452

Вычисления f(x) для оставшихся значений аргумента выполним иначе – в свободном месте рабочего документа сначала набираем

х:–0.2,0;2

означающее, что первое значение х равно –0.2, следующее 0 (то есть шаг изменения параметра x составляет +0.2) и так далее до 2, а затем рядом справа вводим с клавиатуры f(x)=  . В результате на экране появится изображение, показанное слева.

Построение графика функции одной переменной. Построим график приведенной выше функции f(x) в декартовых координатах для промежутка изменения аргумента [–0.2, 2]. Будем исходить из того, что формула для f(x) уже находится в рабочем документе.

Щелкните сначала по свободному месту в рабочем документе, но правее или ниже, чем записано выражение для f(x), а затем - по кнопке  в панели математических инструментов. Откроется панель

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

 

                                

    Рис. 1.1. Панель графиков                                Рис. 1.2. Построение графика

Чтобы задать требуемые граничные значения для переменной x, следует сначала щелкнуть по полю графика, а затем – по числу в левом нижнем углу ограниченного рамкой поля графика. Уничтожьте имеющуюся запись и наберите на клавиатуре –0.2. Аналогичные действия проделайте и для числа в правом нижнем углу ограниченного рамкой поля графика. В результате получиться картина, представленная на рис. 1.3. Там показаны результаты построения графика одной и той же функции f(x), но для разных шагов изменения аргумента x: 0.2 − для левого и 0.01 − для правого.

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

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

Рис. 1.3. Графики функции f(x)

Решение системы линейных алгебраических уравнений (СЛАУ). Общий вид у СЛАУ следующий:

            .    (1)

В матричном виде эта СЛАУ может быть записана в виде: , где

называется матрицей системы, - вектор-столбцом свободных членов или правых частей системы, а - вектор-столбцом неизвестных системы. Решением СЛАУ является всякий вектор-столбец x, обращающий все уравнения системы в тождества.

Справедливо следующее утверждение. Если определитель  матрицы СЛАУ  отличен от нуля, то система имеет единственное решение.

Для определения решения СЛАУ наиболее часто используются формулы Крамера и метод Гаусса.

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

Наиболее простой и удобный порядок решения СЛАУ по формулам Крамера с использованием Mathcad состоит в следующем:

1. Определяем основную матрицу и столбец свободных членов. Для этого следует ввести с клавиатуры имя матрицы A и знак присваивания <Shift>+<:>, а затем щелкнуть по кнопке панели векторных и матричных операций. В результате откроется панель операций с матрицами и векторами, показанная справа.

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

На этой панели следует щелчком по кнопке “Определение размеров матрицы” открыть окно диалога, в котором надо определить число строк (Rows), число столбцов (Columns), после чего окно необходимо закрыть, щёлкнув по кнопке    ОК.

В рабочем документе справа от знака присваивания откроется поле ввода матрицы с помеченными позициями для ввода элементов. Необходимо ввести в помеченные позиции числа или выражения, как показано на рис. 1.4. Аналогично вводится и вектор-столбец b.

2. Вычисляем значение определителя . Для этого в рабочем документе вводим , затем правее и/или ниже вводим символы = и завершаем нажатием на клавишу F9. Результат показан на рис. 1.4. Как видно, значение определителя матрицы А отлично от нуля – следовательно, система имеет единственное решение.

 

Рис. 1.4. Порядок ввода исходных данных и вычисления определителя

3. Вычисляем значения определителей  (i = 1, 2, ..., 5 - индекс). Для вычисления 1 на свободном поле рабочего листа вводим символы 1, нажимаем комбинацию клавиш <Shift>+<:>, щелкаем последовательно по кнопкам “вычисление определителя матрицы” и “определение размеров матрицы”, задаем размеры матрицы и вводим значения её элементов. Аналогичные действия следует произвести и для вычисления остальных определителей. Затем ниже вводим символы 1=. Появится значение 1. Аналогичные действия следует произвести и для получения значений остальных определителей.

4. Вычисляем значения xi (i = 1, 2, ..., 5 - индекс). Для вычисления x1 вводим в рабочий документ символы x1, потом нажимаем на комбинацию клавиш <Shift>+<:>, вводим символы 1/. Аналогично вычисляются значения и остальных компонент вектора решений. В результате выполнения описанных в пп. 3 и 4 манипуляций, рабочий документ дополнится картиной, изображенной на рис. 1.5.

Сущность метода Гаусса, именуемого ещё методом последовательных исключений, состоит в следующем:

1. СЛАУ (1) приводят последовательным исключением неизвестных к эквивалентной системе (2) с треугольной матрицей.

                  (2)

Рис. 1.5. Решение СЛАУ по формулам Крамера

Это достигается использованием следующих соотношений

, где k = 1, 2, ..., n,     jk,

где

и носит наименование прямого хода.

2. Решение системы (2) находят по рекуррентным формулам (это так называемый обратный ход):

В Mathcad прямой и обратный ход выполняет функция rref(Ar), где матрица Ar называется расширенной матрицей системы (1) и получается из A путем добавления справа вектора-столбца свободных членов.

В Mathcad  это действие выполняется путем использования функции augment(A, В, С,…). Ниже на рис. 1.6 приведена картина решения СЛАУ методом Гаусса в Mathcad. Там же выполнена проверка правильности вычислений. Здесь уместно указать, что из-за наличия ошибок машинной арифметики далеко не во всех случаях справа от выражения  будет располагаться нулевой вектор-столбец.

 

Рис. 1.6. Решение СЛАУ по методу Гаусса

Для решения СЛАУ методом Гаусса Mathcad  располагает следующими функциями (пункт Function... в меню Insert):

augment(A, B, С,…) – формируется матрица, первыми столбцами которой являются столбцы матрицы А, а последующими – столбцы матрицы В и т.д. Матрицы должны иметь одинаковое число строк.

submatrix(A, ir, jr, ic, jc) – из строк (с номера ir по номер jr) и столбцов (с номера ic по номер jc) матрицы А формируется другая матрица. Нумерация строк и столбцов начинается с нуля.

rref(A) – матрица А приводится к треугольному виду.

Символьное интегрирование и дифференцирование функций. Пусть функция f(x), определена на промежутке (a, b). F(x) называется первообразной функции f(x) на промежутке (a, b), если в каждой точке этого промежутка выполняется F¢(x)= f(x). Семейство первообразных F(x)+С называется неопределенным интегралом функции f(x) и обозначается: Первообразная и подынтегральная функция связаны соотношением: (F(x)+С)¢= f(x). Рассмотрим порядок применения инструментария Mathcad для вычисления производных и неопределенных интегралов на конкретном примере.

Пример. Подынтегральная функция задана следующим выражением:

.

Необходимо вычислить её первообразную F(x), построить график одной из функций семейства первообразных для С = 0 на отрезке [0, 2] и, предварительно вычислив производную от F(x), построить графики f(x) и F¢(x) на том же отрезке. Ниже на рис. 1.7 представлен фрагмент рабочего документа Mathcad, демонстрирующий порядок выполнения указанного задания.

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

 

Рис. 1.7. Вычисление неопределенного интеграла и производной

Численное вычисление определенного интеграла. Оператор интегрирования в Mathcad предназначен для численного вычисления определенного интеграла функции по некоторому интервалу. Порядок вычисления определенного интеграла следующий.

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

Заполните пустые поля и нажмите на клавишу <=>, что приведет к появлению результата. Пример вычисления определенного интеграла приведен на рис. 1.8.

В Mathcad при выполнении вычислений определенного интеграла необходимо соблюдать следующие правила:

Подынтегральная функция может быть как вещественной,

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

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

Все переменные в подынтегральном выражении, кроме переменной интегрирования, должны быть определены ранее.

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

Решение задачи Коши для дифференциального уравнения и системы дифференциальных уравнений 1-го порядка. Если обыкновенное дифференциальное уравнение (ОДУ) 1-го порядка  имеет в области G решение, то, вообще говоря, таких решений бесконечно много и они могут быть заданы в виде функций , где С - произвольная константа, такая, что  и  при  произвольных значениях С. Если же необходимо найти решение, удовлетворяющее некоторому начальному условию y(x0) = y0, то говорят об отыскании решения задачи Коши.

Численное решение нормальной системы дифференциальных уравнений с системой начальных условий

      

состоит в построении таблицы приближенных значений  i = 1, 2, ..., N, решения на отрезке [x0, xN] в точках x0, x1, ..., xN, которые называются узлами сетки.

В пакете Mathcad для решения задачи Коши, как для ОДУ, так и для системы ОДУ 1-го порядка методом Рунге-Кутта четвёртого порядка с постоянным шагом применяется функция rkfixed(y, x1, x2, npoints, D), где: y - вектор начальных условий размерности n; n - порядок дифференциального уравнения или число уравнений в системе; x1 и x2 - начальная и конечная точки интервала, на котором ищется решение, соответственно. Начальные условия, заданные в векторе y - это значение решения в точке x1; npoints - количество узлов сетки, не считая начального, в которых ищется решение дифференциального уравнения; D - имя вектора-функции, содержащей правую часть дифференциального уравнения или системы. Шаг изменения независимой переменной х определяется выражением . Метод Рунге-Кутта даёт погрешность порядка .

Пример a. Найдем на отрезке  приближенное решение ОДУ 1-го порядка sin, удовлетворяющее начальным условиям y(0) = 1, и построим график найденного решения. Число узлов сетки 9 и 40. Фрагмент соответствующего рабочего документа Mathcad представлен на рис. 1.9. Для того чтобы в одних координатах изобразить графики более чем одной функции, следует просто через запятую описать эти функции и их аргументы возле осей координат.

 

Рис. 1.9. Решение задачи Коши для ОДУ 1-го порядка

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

В радиотехнике ОДУ 1-го порядка применяются для анализа простейших электронных цепей во временной области, например, показанных на рис. 1.10. Там же приведены выражения, описывающие их. Искомыми при решении задачи анализа могут быть следующие параметры:    . Очевидно, что для решения задачи Коши необходимы также и начальные условия − для цепи рис. 1.10,а их обычно задают в виде , а для цепи рис. 1.10,б − .

 

                                     а                                                    б

Рис. 1.10. Простейшие электронные цепи

и описывающие их уравнения

Для составления дифференциальных уравнений, описывающих электронные цепи, используют законы Кирхгофа, известные из курса физики. При этом напряжения и токи на резисторе R, индуктивности L и ёмкости C, связаны соответственно следующими выражениями: ,   и  .

Пример b. Для цепи рис. 1.10,а) построить зависимости  и  для диапазона  при   и ЭДС, в виде ступеньки напряжения . Число узлов сетки выбрать равным 1000. Очевидно, что при  мы имеем  − это и будут наши начальные условия. Фрагмент соответствующего рабочего документа Mathcad, решающий поставленную задачу, представлен на рис. 1.11. Приведённый на рис. 1.11, удобный для восприятия вид графика достигается щелчком правой кнопки мыши по полю графика, последующем выбора пункта Format… в ниспавшем меню. В открывшемся окне следует обратиться к вкладкам Traces и Labels.

 

Рис. 1.11. Порядок анализа цепи рис. 10,а во временной области

Пример c. Найдем на отрезке [0, 3] приближенное решение задачи Коши для системы дифференциальных уравнений

      

и построим графики для найденного решения. Процедура решения задачи Коши для системы дифференциальных уравнений аналогична описанной выше для одиночного уравнения. Фрагмент рабочего документа Mathcad при решении задачи Коши для системы дифференциальных уравнений представлен на рис. 1.12. Число узлов в сетке 30.

 

Рис. 1.12. Решение задачи Коши для системы

дифференциальных уравнений