Работа с матрицами и векторами в MathCAD. Задачи линейной алгебры



Министерство образования и науки Российской Федерации

 

Федеральное государственное бюджетное образовательное учреждение высшего образования

 

«Курганский государственный университет»

 

Кафедра «Автоматизация производственных процессов»

 

 

ОСНОВЫ ИНЖЕНЕРНЫХ РАСЧЁТОВ

 

Методические указания к комплексу лабораторных, практических и контрольных работ по курсу «Основы инженерных расчётов»

для студентов направлений подготовки

15.03.04 Автоматизация технологических процессов и производств

(профиль «Автоматизация технологических процессов и производств

(машиностроение)»),

27.03.04 Управление в технических системах (профиль «Системы и

технические средства автоматизации и управления»)

 

Курган 2018


 

 

Кафедра: «Автоматизация производственных процессов»

 

 

Дисциплина: «Основы инженерных расчётов»

 

Составил: к.т.н., доцент Е.К. Карпов.

 

 

Утверждены на заседании кафедры                                      21 декабря 2017 г.

Рекомендованы методическим советом

университета                                                                   __________ 20__ г.

 

 

СОДЕРЖАНИЕ

ВВЕДЕНИЕ…………………………………………………………………………..4

1 Представление результатов вычислений. Управление вычислениями………...4

2 Работа с матрицами и векторами в MathCAD. Задачи линейной алгебры…….8

3 Создание графиков в MathCAD. Двумерные графики и трехмерные графики13

4 Встроенные функции MathCAD для решения обыкновенных уравнений и систем. Решение систем дифференциальных уравнений………………………..15

5 Первая программа и обработка информации из внешнего файла…………….16

6 Циклы и операторы. Программы с ветвлениями и рекурсивные вычисления.19

7 Задания для контрольной работы……………………………………………….21

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ………………………………31

 


ВВЕДЕНИЕ

Целью освоения дисциплины «Основы инженерных расчётов» является приобретение студентами знаний о применении систем компьютерной математики для автоматизации инженерно-технической деятельности и ознакомление с наиболее популярными современными математическими пакетами. Практическое введение в MathCAD и освоение технически структурного программирования в объёме, достаточном для использования этой системы при изучении соответствующих разделов высшей математики, общетехнических и специальных дисциплин.

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

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

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

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

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

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

В примере г) используется один из операторов суммирования элементов числовых рядов. Операнд этого оператора использует функцию, возвращающую значение синуса угла, заданного с использованием переменной α и предопределенной переменной π;

Пример д) - логическое выражение, использующее операторы сравнения “больше” и “не равно” и логические операторы “отрицания” и “конъюнкции”. Результатом вычисления этого выражения будет одно из двух логических значений: "истина" или "ложь" в зависимости от значений переменных x, y, z.

Пример е) иллюстрирует возможность использования логического выражения в качестве операнда арифметического выражения. Такая возможность в системе MathCAD существует, так как логические константы "истина" и "ложь" ассоциируются с числовыми константами "1" и "0", соответственно.

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

Рисунок 1 – Примеры различных выражений

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

Рисунок 2 – Результаты вычислений над числовыми типами

Строковый тип данных используется для хранения и работы с текстовой информацией. В программе MathCAD существует большое количество функций для работы с ними. На рисунке 3 приведены результаты работы некоторых из них.

Функция concat (от англ. concatenation - слияние) обеспечивает объединение нескольких текстовых строк в одну.

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

Функция strlen определяет длину (число символов) строки.

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

Функция str2vec формирует вектор ASCII-кодов символов заданной строки, а функция vec2str формирует строку символов по заданным их ASCII-кодам (коды могут быть представлены в любой системе счисления).

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

Рисунок 3 – Работа со строковым типом данных

Важной частью работы с программным пакетом MathCAD является возможность определять функции и использовать их в дальнейшем. На рисунке 4 а) определена пользовательская функция SqTrap, предназначенная для расчета площади трапеции, размеры которой определяются формальными аргументами а, b и h. Предлагается три различных способа обращения к этой функции для расчета площади трапеции с основаниями 1м и 2м и высотой Зм: в первом случае фактические аргументы заданы числовыми константами, во втором - определенными ранее переменными х, у и z, а в третьем - числовыми константами и выражением.

Рисунок б) иллюстрирует возможность использования имени функции в качестве параметра другой функции.

Рисунок 4 – Создание функций

Рисунок в) содержит примеры обработки данных логического типа. Переменная А определена с помощью логического выражения и при заданных значениях переменных х, у и z получила значение "ложь", которое отображается числовым значением “0”. Встроенная функция if() анализирует значение логического выражения, заданного ее первым аргументом, и если оно "истинно", возвращает второй параметр, а в противном случае - третий.

Применение функций при решении практических задач можно использовать в следующих задачах:

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

,

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

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

,

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

 

Задания к главе 1:

1) введите все примеры с рисунков главы в MathCAD;

2) разработайте пользовательскую функцию, реализующую специализированный калькулятор для расчёта длины отрезка прямой, заданного координатами x, y, z его граничных точек;

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

а) определите переменную fullname, содержащую Ваше полное имя;

б) определите количество символов в строке fullname;

в) определите первый и последний символы строки fullname;

г) выделите подстроку fitstname из строковой переменной fullname;

д) определите ASCII-коды цифр, образующих Ваш год рождения;

е) определите, имеет ли строковый тип данных переменная, хранящая Ваш год рождения;

ж) преобразуйте строковую переменную (год рождения) в соответствующую ей переменную числового типа;

4) разработайте пользовательскую функцию, которая принимает в качестве параметров две строковых переменных А и В и целое число n, а возвращает строку, в которой строка В вставлена в строку А между n-м и (n+1)-м её символами, Если хотя бы один из параметров А, В имеет не строковый тип данных, или если значение параметра n превышает длину строки А, функция должна возвратить строку "Error";

5) пусть задана переменная строкового типа произвольной длины, последние четыре символа которой - цифры, представляющие год (например, "Konstantin P. Philimonov, esquire, was burn in 1982"). Разработайте пользовательскую функцию, модифицирующую такую переменную путем увеличения "года" на заданное число;

6) решите 9 и 17 варианты заданий 1 и 2 из контрольной работы, опираясь на пример, приведённый в конце данных методических указаний.

Работа с матрицами и векторами в MathCAD. Задачи линейной алгебры

В MathCAD для работы с матрицами и векторами предназначена специальная панель инструментов Matrix (рисунок 5). Чтобы отобразить панель Matrix необходимо щелкнуть по кнопке на математической панели Math.

Рисунок 5 – Панель инструментов Matrix

Рассмотрим назначение некоторых из кнопок панели Matrix:

 – создание новой матрицы;

 – ввод элемента массива;

 – формирование обратной матрицы;

 – вычисление определителя матрицы;

 – определение столбца матрицы: А<j> j-й столбец матрицы;

 – транспонирование матрицы;

 – определение ранжированной переменной: j=m..n;

 – вычисление скалярного произведения векторов;

 – вычисление векторного произведения векторов.

В примере на рисунке 6 определена переменная А - она получила значение матрицы размерностью 4х6, элементами которой являются константы числового и строкового типов. Строки и столбцы этой матрицы пронумерованы, начиная с нуля, так как переменная ORIGIN имеет нулевое значение (по умолчанию). После переопределения этой переменной соответственно изменилась и нумерация элементов матрицы.

Ниже на том же рисунке иллюстрируется возможность использования переменных и функций в качестве элементов массивов. Заметим, что переменная р и функция g(х) должны быть определены до определения массива В. При вычислении значения переменной В элементы массива р, g(р), и g(1) получили соответствующие числовые значения. В качестве индексов элементов массива использованы три различных математических выражения. При использовании индексных выражений необходимо следить, чтобы они возвращали целочисленные значения, не выходящие за пределы допустимых значений, соответствующих текущему значению переменной ORIGIN. В данном примере строки матрицы B пронумерованы от нуля до двух, а столбцы - от нуля до трех.

Массив D определен путем присвоения значений отдельным его элементам. Если к моменту определения некоторого элемента массива сам массив еще не определен, он будет создан автоматически. Размерность этого массива будет соответствовать значению индекса определяемого элемента, а все "предшествующие" элементы массива получат нулевые значения. Если определяется элемент существующего массива, и индекс элемента выходит за пределы его размерности, массив соответственно "расширяется" с возможным добавлением “нулевых” элементов.

Индексы элементов массива Е определены целочисленными ранжированными переменными і и j, а значения элемента массива Еi,j вычисляются с помощью выражения, включающего эти переменные в качестве операндов.

Рисунок 6 – Способы определения матриц

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

Если оба операнда - массивы (пример б), то тривиальными являются только операторы сложения и вычитания и лишь в том случае, если оба массива имеют одинаковую размерность.

Рисунок 7 – Применение операторов для работы с векторами и матрицами

Пример в) иллюстрирует применение оператора "| |" с различными операндами. В этом операторе допускается использование только двух видов операндов-массивов: вектор - в этом случае вычисляется его модуль, и квадратная матрица - в этом случае вычисляется ее определитель.

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

Если операндами оператора умножения (*) являются не векторы, а матрицы (пример д), этот оператор выполняет умножение матриц, в результате которого формируется новая матрица.

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

В примере ж) показаны операторы транспонирования массивов и суммирование элементов векторов. Следует обратить внимание на оператор транспонирования вектора: в результате формируется матрица, состоящая из одной строки. Обращение к элементам такой матрицы производится с использованием двойного индекса.

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

Рассмотрим цепь, изображенную на рисунке 8. Требуется рассчитать токи во всех ветвях различными методами.

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

Рассчитаем токи во всех ветвях с помощью уравнений Кирхгофа. Зададим данные:

где mE, aE - модуль и аргумент (в радианах) значения ЭДС, заданной в показательной форме;

mZ3, aZ3 - модуль и аргумент сопротивления Z3.

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

Далее составим систему уравнений по законам Кирхгофа. Зададим в системе MathCAD матрицы А и В.

Для нахождения вектора искомых токов записываем

,

где A-1 – операция вычисления матрицы, обратной А.

Результат вычисления токов вы ведем на экран:

Теперь выполним тот же самый расчёт методом контурных токов.

Примем обход всех независимых контуров по часовой стрелке и обозначим контурные токи I11, I22, I33.

Запишем ZK и EK в системе MathCAD, где ZK – матрица сопротивлений системы контурных уравнений, IK – вектор-столбец контурных токов, EK – вектор столбец контурных ЭДС.

Тогда исходные контурные токи можно получить:

Получим токи ветвей.

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

Задания к главе 2:

1) введите все примеры с рисунков главы в MathCAD;

2) сформируйте таблицы значений двух функций: у(х) = 2/(sin3(х)+2) и z(х) = 5sin(4х/3) для х = -180o…180o с шагом в 6o;

3) используя оператор численного дифференцирования, сформируйте таблицы значений 1-й, 2-й и 3-й производных функции z(х)=х3 + 3х5 для х = [-5…5];

4) создайте копию матрицы А, вставьте дополнительный столбец между вторым и третьим столбцами, заполните его произвольными значениями, удалите левый столбец и верхнюю строку;

5) создайте вектор-столбец из 5 элементов (ряд натуральных чисел от 1 до 5). Определите значение 3-го элемента столбца. Создайте матрицу-строку из 5 элементов (ряд натуральных чисел от 6 до 10). Определите значение 3-го элемента строки;

6) сформируйте векторы S, С, S2 и С2, элементы которых содержат значения функций соответственно sin(х)‚ cos(х), sin2(х) и cos2(х), где х - дискретно заданный угол в диапазоне от 0 до 360° с шагом 18°;

7) определите квадратную матрицу Z размерностью 12х12, в которой каждый элемент равен сумме значений своих индексов, если их произведение не превышает 64, иначе – произведению индексов. Постройте пространственный график по данным матрицы Z;

8) решите 5 и 13 варианты заданий 3 и 4 из контрольной работы, опираясь на пример, приведённый в конце данных методических указаний.


Дата добавления: 2018-05-31; просмотров: 1112; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!