Функция lsolve в маткаде

Функция lsolve в маткаде

1. Задаем матрицу системы А и матрицу свободных членов В. Для этого пишем А, вводим двоеточие (которое автоматически заменится на знак присваивания «:=»), затем на панели инструментов для работы с матрицами и векторами нажимаем кнопку создания матрицы или вектора и вводим матрицу системы. Аналогично вводим столбец свободных членов.

2. Вводим lsolve(A,B)=

Решение с помощь функции Given…Find

1. Вводим начальные приближения: x1:=1, x2:=1, x3:=1.

2. Вводим слово Given

3. Ниже вводим систему уравнений, используя при этом вместо обычного знака равно знак булева равенства (вводится нажатием Ctrl+=).

4. Ниже пишем: Find(x1,x2,x3)=

Решение СЛАУ методом обратной матрицы

1. Вводим матрицу системы и матрицу свободных членов, как и при решении с помощью lsolve().

2. Вводим x:=A -1 B. Для ввода обозначения обратной матрицы нужно воспользоваться соответствующей кнопкой панели инструментов «Матрицы».

Решение нелинейных уравнений с помощью MathCad.

Локализация корней.

Предположим нам нужно уточнить корни уравнения f(x):=x cos(x).

Для локализации корней удобно построить график функции. Для этого нужно:

1. Определить функцию, т.е. ввести f(x):=x cos(x)

2. Выбрать Вставить-Графики-Зависимость XY.

3. Под осью абсцисс ввести х, слева от оси ординат ввести f(x).

4. При необходимости откорректировать пределы изменения аргумента и функции.

Основные свойства графика можно настроить выбрав пункт Формат в контекстном меню, вызываемом щелчком правой кнопкой мыши на графике.

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

Уточнение корней.

Уточнение корней производится с помощью функции root():

1. Устанавливаем точность вычислений, изменяя значения пункта Порог сложности на закладке Толерантность окна, вызываемого командой Формат-Результат. На закладке Формат номера того же окна выбираем способ отображения результата и количество отображаемых десятичных знаков.

2. Вводим root(f(x),x)=

Интерполирование функций средствами MathСad

В MathCad имеются средства для сплайновой интерполяции.

Интерполирование производится с помощью функции interp(vs,vx,vy,x), которая возвращает вектор значений функции y в интересующих точках х.

Здесь и далее vx – вектор исходных значений аргумента, vy – вектор исходных значений функции, vs – вектор вторых производных, возвращаемых одной из функций cspline(vx,vy), pspline(vx,vy), lspline(vx,vy), которые возвращают вектор vs при использовании кубических, параболических и линейных сплайнов соответственно.

Для интерполирования линиями можно воспользоваться функцией linterp(vx, vy, x).

Конечно, используя вычислительные возможности MathCad, всегда можно воспользоваться другим методом интерполяции (например, с помощью полиномов Ньютона и Лагранжа).

Пример.

Имеются экспериментально полученные точки:

Значение аргумента x Значение функции y
-1.06 -0.837 -0.684 -0.315 -0.117 -0.0 0.115 0.5 1.22 0.854 0.513 0.271 0.217 0.198 0.218 0.277

Построить график функции y(x) используя точки, отличные от экспериментально полученных.

Решение.

Аппроксимация зависимостей с помощью MathCad

В MathCad можно найти значения функции у в промежуточных точках с помощью полинома некоторой степени. Для этого используются следующие функции:

regress(vx,vy,k) – возвращает вектор, который использует функция interp для нахождения полинома степени k, который наилучшим образом приближает значения x и y данных, хранящихся в векторах vx, vy.

interp(vs,vx,vy,x) – возвращает приближенное значение y, соответствующее значению x. Где vs – вектор, получаемый с помощью regress.

Пример.

Имеются экспериментально полученные точки:

Значение аргумента x Значение функции y
1,5 3,7

Определить вид аппроксимирующего полинома 4-й степени и с его помощью построить график функции y(x).

Решение.

Решим задачу методом наименьших квадратов, а затем с помощью встроенных функций MathCad.

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

Как видно, графики совпадают.

Вычисление определенного интеграла
и производной средствами MathCad

Предположим нужно вычислить интеграл функции на отрезке [0; 2] и производную этой функции в точке х=1. Решение такой задачи в MathCad имеет вид:

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

Для вычисления производных более высоких порядков используется специальная конструкция:

Решение ОДУ средствами MathCad

Для решения линейных обыкновенных дифференциальных уравнений в MathCad функция odesolve(x,b,[step]), которая возвращает значение функции, зависящей от х и являющейся решением линейного ОДУ. Здесь х – аргумент, b – правый конец отрезка, [step] – необязательный параметр, количество шагов для нахождения решения. Количество начальных условий должно равняться порядку уравнения.

Пример.Решим уравнение на отрезке [0, 4π]. Известно, что y(0)=0, а y’(0)=1.

Примечание:В блоке Given используются знаки булева равенства, вставляемые нажатием Ctrl+= и знак производной (штрих), вставляемый нажатием Ctrl+F7.

Решение ОДУ первого порядка вида может быть получено с помощью функций rkfixed(y0,a,b,n,D), которая возвращает матрицу, состоящую из двух столбцов. В первом столбце хранятся значения аргумента, во втором – функции (результаты решения). Здесь y0 – начальное значение функции y, а – начало отрезка, b – конец отрезка, n – количество отрезков разбиения, D – первая производная от у.

Пример.Решим уравнение на отрезке [0, π]. Известно, что y(0)=1.

Для решения ОДУ первого порядка так же можно использовать функцию rkadapt(),аналогичную рассмотренной выше rkfixed(), за исключением того, что решение находится не с фиксированным шагом, а с автоматическим его подбором.

Функция lsolve

Альтернативой способу решения СЛАУ, введенному в предыдущем разделе, является применение встроенной функции isolve. Для этого система уравнений должна быть записана в матричной форме Аx=b:

  • isolve (А, b) – вектор решения системы линейных алгебраических уравнений:
  • А – матрица коэффициентов системы;
  • b – вектор правых частей.

Примечание
В функции isolve запрограммирован численный метод LU – разложения (см. разд. 8.3.3), основанный на алгоритме последовательных исключений Гаусса. Он состоит в преобразовании матрицы А линейной системы к треугольному виду, т. е. к форме, когда все элементы ниже главной диагонали матрицы являются нулевыми (с/и. разд. 8.3.1). Точнее, исходная СЛАУ Ах=b заменяется эквивалентной системой с другой матрицей А* и другим вектором правых частей b*, но имеющей то же решение, что и исходная система. Очень важно заметить, что результат, выдаваемый методом Гаусса, является точным (конечно, с поправкой на неизбежно присутствующие ошибки численного округления, которые, в случае хорошо обусловленной матрицы А, являются ничтожными). Таким образом, в противоположность применению вычислительного блока Given/Find (в основе которого лежит приближенный итерационный алгоритм), функция isolve не нуждается в присвоении начальных значений вектору x
.

Применение функции isolve показано в листинге 8.4. При этом матрица А может быть определена любым из способов, необязательно явно, как во всех примерах этого раздела. В последней строке листинга осуществляется вычисление нормы невязки, которая оказывается равной нулю. Заметим, что встроенную функцию isolve допускается применять и при символьном решении СЛАУ (листинг 8.5). В последнем случае в уравнениях допускается использовать параметры (т. е. имена переменных, которым не присвоены никакие значения).

Листинг 8.4. Численное решение СЛАУ:

Листинг 8.5. Символьное решение СЛАУ (продолжение листинга 8.4):

Постановка задач 3

Основная часть 3

Системы линейных алгебраических уравнений 3

Функция lsolve 4

Функция augment 5

Функция submatrix 6

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

Решение СЛАУ методом Крамера 8

Список использованных источников 10

Научиться решать системы линейных уравнений средствами Mathcad.

Изучить материал по линейной алгебре, необходимый для

выполнения лабораторной работы;

Изучить свойство функций lsolve, augment и submatrix в программе

Научиться применять функции lsolve, augment и submatrix в

среде Mathcad для решения систем линейных алгебраических уравнений методами Гаусса и Крамера.

Системы линейных алгебраических уравнений

Центральным вопросом вычислительной линейной алгебры является решение систем линейных алгебраических уравнений (СЛАУ), т. е. систем уравнений вида

В матричной форме СЛАУ записывается в эквивалентном виде:

,

где А — матрица коэффициентов СЛАУ размерности mxn;

х — вектор-столбец неизвестных;

b— вектор-столбец свободных коэффициентов.

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

Для упрощения решений подобных систем уравнений была создана программа Mathcad, с набором различных встроенных функций, предназначенных для решения СЛАУ, некоторые из них, такие как lsolve, augment и submatrix, мы рассмотрим далее в работе.

Функция lsolve

В Mathcad СЛАУ можно решить в более удобной для записи форме (2), с помощью функции lsolve.

Lsolve(A,b) — это встроенная функция, которая возвращает вектор x для системы линейных уравнений при заданной матрице коэффициентов А и векторе свободных членов b.

Функцию lsolve применяют в работе с Mathcad следующим образом (скриншот 1):

создается в документе требуемая СЛАУ;

опираясь на заданную СЛАУ, создаем матрицу коэффициентов —

А необходимой размерности и матрицу свободных коэффициентов – b;

в панели инструментов выбираем необходимую нам функцию –

подставляем в выбранную функцию необходимые параметры А, b;

Скриншот 1 – применение функции lsolve в Mathcad

Функция augment

Функцию augment применяют для решения СЛАУ методами Крамера и Гаусса в программе Mathcad.

Аugment(A,B) – это встроенная функция, которая объединяет матрицы A и B в одну новую, при этом матрица B располагается справа от матрицы A, и обе матрицы должны иметь одинаковое число строк.

Функцию augment применяют в работе с Mathcad следующим образом (скриншот 2):

создается в документе требуемая СЛАУ;

опираясь на заданную СЛАУ, создаем матрицу коэффициентов –

А необходимой размерности и матрицу свободных коэффициентов – b, при этом матрица b должна располагаться справа от матрицы A;

в панели инструментов выбираем необходимую нам функцию –

подставляем в выбранную функцию необходимые параметры А, b;

получаем объединенную матрицу матриц A и b.

Скриншот 2 – применение функции augment в Mathcad

Функция submatrix

Функцию submatrix, также как и функцию augment и lsolve, применяют для решения СЛАУ в программе Mathcad.

Функция submatrix(А,_,_,_,_) – встроенная функция, с помощью которой можно выделить из заданной матрицы один столбец или строку.

Функцию submatrix применяют в работе с Mathcad следующим образом (скриншот 3):

создают матрицу, какой-либо размерности;

в панели инструментов выбираем необходимую нам функцию –

подставляем в выбранную функцию параметры, с помощью

значения которых мы хотим выделить столбцы или строки в новую матрицу;

Скриншот 3 – применение функции submatrix в Mathcad

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

СЛАУ в программе Mathcad можно решать не только с помощью функции lsolve, но и с помощью рассмотренных выше функций augment и submatrix, используя следующий ход вычислений (скриншот 4):

создается в документе СЛАУ;

выбрав из встроенных функций функцию ORIGIN, присваиваем ей

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

опираясь на заданную СЛАУ, создаем матрицу коэффициентов —

А необходимой размерности и матрицу свободных коэффициентов – b;

с помощь функции augment, создаем объединенную матрицу;

выбираем из встроенных функций функцию rref, и присваиваем ей

параметр, соответствующий объединенной матрице (с помощью функции rref приводим матрицу к ступенчатому виду для дальнейшего решения);

используя функцию submatrix, находим неизвестные.

Скриншот 4 – решение СЛАУ в Mathcad методом Гаусса

Решение СЛАУ методом Крамера

СЛАУ можно решать не только методом Гаусса, но и методом Крамера. Для того чтобы произвести вычисления в программе Mathcad, достаточно двух, уже изученных нами функций: augment и submatrix.

Ход решения СЛАУ в Mathcad (скриншот 5):

создается в документе СЛАУ;

выбрав из встроенных функций функцию ORIGIN, присваиваем ей

значение равное единице;

опираясь на заданную СЛАУ, создаем матрицу коэффициентов —

А необходимой размерности и матрицу свободных коэффициентов – b;

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

с помощью функций augment и submatrix создаем матрицы с

заменой необходимого нам столбца столбцом свободных коэффициентов – b;

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

находим неизвестные СЛАУ по формуле Крамера:

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

Скриншот 5 – решение СЛАУ в Mathcad методом Крамера

Программа Mathcad позволяет упростить решение СЛАУ с помощью встроенных в нее функций. Так, c помощью функции lsolve, система линейных уравнений решается в одно действие. СЛАУ методом Гаусса с помощью функций augment и submatrix решается гораздо быстрей и проще, нежели это было бы на бумаге. В данной работе были приведены решения простейших систем уравнений, которые вычислить и на бумаге не составит труда, но с помощью программы Mathcad можно решить сложнейшие системы в кротчайшее время, над решениями которых человек затратит много времени. В работе были рассмотрены всего лишь несколько функций из множества приведенных в Mathcad.

1 Плис, А. И. Mathcad: математический практикум для экономистов и инженеров: учеб. пособие/ А. И. Плис, Н. А. Сливина. – М., 1999. – 656с.

2 Панферов, А. И. Применение Mathcad в инженерных расчетах: учеб. пособие/ А. И. Панферов, А. В. Лопарев, В. К. Пономарев – М., 2004. – 88с.

3 Симонович, С. В. Информатика: базовый курс: учеб. для вузов/ С. В. Симонович – Питер, 2001. – 640с.

4 Шипачев, В. С. Высшая математика: учеб./ В. С. Шипачев – М., 1998. – 479с.

5 Черненко, В. Д. Высшая математика в примерах и задачах: учеб. пособие/ В. Д. Черненко – М., 2003. – 703с.

Ссылка на основную публикацию
Фейковая карта visa с деньгами
Getting a valid Visa credit card number Visa credit card number (Bulk Generate Visa Cards) To check if your credit...
Удаленная игра на ps4
Использование приложения (Дистанционное воспроизведение PS4) для управления системой PlayStation®4 с компьютера. При установке этого приложения на ПК или Mac можно...
Удаленное подключение к virtualbox
Содержание статьи Если хоть раз попробуешь установить Linux под VirtualBox’ом, может сложиться впечатление, что это очень простой инструмент. Интерфейс виртуальной...
Фейсбук страница владимира панаева
с 16 по 26 Декабря Поволжское отделение Российской академии художеств Лаврушинский пер., д. 15Москва 15 декабря в 18.00 в Координационном...