Smath studio root

Smath studio root Техника

Для решения систем нелинейных уравнений в SMath Studio имеется стандартная функция roots (рис. 3). Применение данной функции для решения нелинейных алгебраических уравнений было рассмотрено в лабораторной работе №3.

Рассмотрим особенности применения функции roots для решения систем нелинейных уравнений. Напомним, что в SMath Studio имеются два варианта ее реализации: с заданием начальных значений корней roots(3) и без их задания roots(2). Функция roots определяет только один корень уравнения. Если в уравнении несколько корней, то определяется тот, к которому ближе всего заданное начальное значение переменной.

Варианты решения системы нелинейных уравнений с помощью функции roots(2) показаны на рис. 4.

Задание. Выполнить решение примеров данного раздела, а также решить системы уравнений в соответствии с заданным вариантом.

Решение уравнений численными методами;

Для решения линейных и нелинейных алгебраических уравнений в SMath Studio используется функция solve, которая представлена в двух вариантах — solve(2) и solve(4) (рис. 8).

Пример решения уравнения (4) для обоих вариантов функции solve показан на рис. 9.

В математическом пакете SMath Studio найти решение уравнения можно при помощи стандартной функции roots (рис. 10).

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

— задать произвольное, начальное значение аргумента, неизвестной переменной решаемого уравнения;

— задать функцию root по схеме root(f(x),x);

1. Функция roots определяет только один корень уравнения. Если в уравнении несколько корней, то определяется тот, к которому ближе всего заданное начальное значение переменной.

2. Функции roots можно не давать ни какого идентификатора, но поставить знак «равно» сразу после нее – компьютер сообщит значение найденного корня.

3. Очень часто при введении функционального идентификатора f(x) в функцию roots результат не получается. В этом случае вместо идентификатора f(x) следует в функции roots напечатать вид самого уравнения, точнее его левой части. Например. roots(x2-6x+5;x)

Варианты решения уравнения (5) с помощью функции roots(2) показаны на рис. 11.

Три первых варианта демонстрируют разные способы записи первого аргумента функции roots. Вариант 4 демонстрирует возможность присвоения функции roots своего идентификатора, тогда под этим идентификатором и сохранится найденное значение корня. Например, X1:=roots(f(x);x), далее можно вывести значение этого идентификатора X1=4.

Поиск корней уравнения (5) с помощью функции roots(3) (рис. 10) путем изменения их приближенных значений показаны на рис. 12.

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

Из рис. 12 следует, что из трех корней уравнения (5) функция roots(2) определяет только один корень. Для выражения y(x) с известным корнем а нахождение дополнительных корней y(x) эквивалентно поиску корней уравнения h(x) = y(x)/(x — a). Подобный прием полезен для нахождения корней, расположенных близко друг к другу. Проще искать корень выражения h(x), чем пробовать искать другой корень уравнения y(x) = 0, выбирая различные начальные приближения.

Поиск всех корней уравнения (5) с помощью вышеуказанного способа показан на рис. 13.

Если функция y(x) имеет малый наклон около искомого корня, то функция roots может сходиться к значению x, отстоящему от корня достаточно далеко. В таких случаях для нахождения более точного значения корня следует заменить уравнение y(x) = 0 на z(x) = 0:

В некоторых случаях может отсутствовать сходимость функции roots. Эта ошибка может быть вызвана следующими причинами:

· уравнение не имеет корней.

· корни уравнения расположены далеко от начального приближения.

· выражение имеет локальные экстремумы между начальным приближением и корнями.

· выражение имеет разрывы между начальными приближениями и корнями.

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

Чтобы установить причину ошибки, исследуйте график y(x). Он поможет выяснить наличие корней уравнения y(x) = 0 и, если они есть, то определить приблизительно их значения. Чем точнее выбрано начальное приближение корня, тем быстрее будет roots сходиться.

Задания 5,6. Выполнить решение всех примеров данного раздела, а также решить уравнения в соответствии с заданным вариантом.

Решение уравнений матричным методом в smath studio

Решение нелинейных уравнений

Для решения одного нелинейного уравнения с одной неизвестной система MathCAD имеет встроенную функцию, которая в зависимости от типа задачи может иметь или два или четыре аргумента и, соответственно, работает несколько по-разному: root(f(x),x); root(f(x),x,a,b), где f(x) — скалярная функция, определяющая исходное нелинейное уравнение (4.1); х – скалярная переменная, относительно которой решается уравнение; а, b – границы интервала, внутри которопй происходит поиск корня.

Дополнительно:  Как редактировать файл под root

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

Для решения одного нелинейного уравнения с одной неизвестной система SMath Studio имеет встроенную функцию, которая в зависимости от типа задачи может иметь или два или три аргумента: roots(f(x); x) или roots(f(x); x; a), где f(x) – скалярная функция, определяющая исходное нелинейное уравнение (4.1); х – скалярная переменная, относительно которой решается уравнение; а – начальное приближение переменной х.

Решение (распечатка SMath Studio)

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

Пример 3.2. Решить систему уравнений

Для решения систем уравнений в среде MathCAD можно применять вычислительный блок Given/Find. Он состоит из трех частей:

1. ключевое слово Given;

2. система уравнений, записанная с помощью логических операторов;

3. вызов встроенной функции Find(xl, х2. хп).

Перед применением блока Given/Find необходимо задать начальные значения переменным xl, x2,хп.

Однако более наглядным является решение СЛАУ в матричной форме. В этом случае используется встроенная функция lsolve(A,b), где А — матрица коэффициентов системы, b — вектор правых частей.

Решение (распечатка MathCAD)

Для решения систем уравнений в среде SMath Studio применяется матричный метод решения: коэффициенты левых частей уравнений записываются в квадратную матрицу A размером 4´4, свободные коэффициенты записываются в столбец B размером 4´1. Решением будет столбец X, который находится умножением обратной матрицы на столбец B:

. Решение существует, если определитель матрицы A не равен нулю. Получив решение, нужно сделать проверку, т.е. убедиться, что

Пример выполнения задания 2

Решение иженерных задач средствами

Лабораторная работа № 2

Нахождение корней нелинейных уравнений. Решение систем нелинейных уравнений

Цель: изучить основные возможности приложения Smath Studio для решения нелинейных уравнений и систем.

Вопросы для самоконтроля

1. Что является корнем уравнения?

2. Правило записи функции для использования команды solve.

3. В чем разница между численным и аналитическим нахождением корней уравнения?

4. Чем отличаются команды solve(2) и solve(4).

5. Для чего используется функция polyroots?

6. Правило записи вектора коэффициентов для polyroots.

7. Что является решение системы уравнений?

8. Правило записи уравнений для использования команды roots.

9. В чем разница между численным и аналитическим решениями системы уравнений?

10. Чем отличаются команды roots (2) и roots (3).

Индивидуальные задания 1

Найти корень уравнения численно и, если это возможно, аналитически. Результаты сравнить. Выполнить проверку.

Индивидуальные задания 2

Найти численно корни полинома. Выполнить проверку.

Индивидуальные задания 3

Найти численное решение системы. Выполнить проверку.

Пример выполнения задания 1

Smath studio root

1. Запишите функцию (предварительно приведя уравнение к виду f(x)=0):

Smath studio root

2. Постройте график функции. График пересекает ось абсцисс в одной точке, значит, уравнение имеет один корень.

3. Запишите стандартную команду:

Справа от знака равенства увидим результат: 0,7391.

2 Выполните проверку, найдя значение функции в полученной точке:

Если бы решение было точным, то при проверке получили бы 0. Значение

Smath studio root

означает, что результат получен с точностью до 4-го знака.

Конечный вид документа SMathStudio:

Smath studio root

1. Запишите функцию в виде:

Smath studio root

2 Выделите курсором переменную х.

3. В меню выбрать Вычисление ® Найти корни.

4. Выполните проверку.

1. Конечный вид документа SMathStudio:

Smath studio root

1. Запишите функцию:

2. Для получения аналитического решения запишите стандартную команду:

3. Выполните проверку, найдя значение функции в полученной точке.

Smath studio root

Smath studio root

Smath studio root

Если уравнение имеет несколько корней (как, например, уравнение

Smath studio root

Smath studio root

Можно использовать второй вариант этой процедуры для выбора решения на заданном промежутке. Для этого при наборе solve во всплывающей подсказке выбираем solve(4) и в шаблон вписываем:

Solve( ; ; левая граница интервала; правая граница интервала). Получим:

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

Smath studio root

Если функция f(x) в уравнении f(x)=0 представляет собой полином степени n, то процедура solve может выдать только один корень. Чтобы получить все корни полинома (их количество совпадает со степенью полинома), стоит использовать встроенную функцию polyroots(v). Например, найдем численно корни полинома x 3 +2x-1=0.

1) задаем функцию (левую часть уравнения f(x)=0).

2) задаем вектор коэффициентов (кнопка на ПИ «Матрица»), в появившемся диалоговом окне указываем количество строк (равно степени полинома +1) и столбцов (количество уравнений).

3) записываем функцию polyroots(v)=.

4) делаем проверку, подставив найденные значения в функцию.

Конечный вид документа Smath Studio:

Smath studio root

Пример выполнения задания 2

Smath studio root

1. Записываем функцию roots( ; ).

2. Для получения численного решения ставим знак «=». Получим результат с заданным количеством знаков после запятой.

3. Выполняем проверку, подставив полученные значения в исходную систему уравнений. В данном примере 1-ое уравнение решено точно, 2-ое – с точностью до 3-го знака.

4. Вид документа SMathStudio:

Smath studio root

Можно каждое уравнение системы привести к виду f(x)=0. Тогда запись решения будет выглядеть следующим образом:

Smath studio root

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

МЕТОД РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ.

Метод квадратных корней.

Метод квадратных корней используется для решения линейной системы:

Smath studio root

У которой матрица А симметрическая, т.е.

Smath studio root

Он является более экономным и удобным по сравнению с методами решения систем общего вида, рассмотренными ранее.

Решение системы осуществляется в два этапа.

Прямой ход. Представим матрицу А в виде произведения двух взаимно транспонированных треугольных матриц:

Smath studio root

Smath studio root

Перемножая матрицы Т’ и Т и приравнивая матрице A, получим следующие формулы для определения

Smath studio root

Smath studio root

После того, как матрица Т найдена, систему заменяем двумя эквивалентными ей системами с треугольными матрицами:

Smath studio root

Обратный ход. Записываем в развернутом виде системы:

Smath studio root

Отсюда последовательно находим:

Smath studio root

Smath studio root

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

Заметим, что при действительных

Smath studio root

могут получиться чисто мнимые

Smath studio root

. Метод применим и в этом случае .

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

Задание. Решить систему линейных уравнений методом квадратных корней.

Провести эту работу в SMathStudio.

Smath studio root

Smath studio root

Smath studio root

Рассмотрим систему линейных уравнений, записанную в матричном виде:

Smath studio root

Smath studio root

Представим матрицу А в виде произведения А=ВС, где

Smath studio root

Smath studio root

Smath studio root

Отсюда искомый вектор х может быть вычислен из цепи уравнений

Smath studio root

Так как матрицы B и С треугольные, то системы легко решаются, а именно:

Smath studio root

Из формул видно, что числа

Smath studio root

выгодно вычислять вместе с коэффициентами

Smath studio root

Эта схема вычислений называется схемой Халецкого. В схеме применяется обычный контроль с помощью сумм.

Схема Халецкого удобна для работы на клавишных вычислительных машинах, так как в этом случае операции «накопления» можно проводить без записи промежуточных результатов.

Задание. Решить систему линейных уравнений методом Халецкого.

Smath studio root

Smath studio root

Smath studio root

Метод простой итерации

Пусть система линейных уравнений

Каким-либо образом приведена к виду

Smath studio root

где С – некоторая матрица, а f – вектор-столбец.

Исходя из произвольного вектора

Smath studio root

Smath studio root

сторим итерационный процесс

Smath studio root

или в развернутой форме

Smath studio root

Производя итерации, получим последовательность векторов

Smath studio root

Доказано, что если элементы матрицы С удовлетворяют одному из условий

Smath studio root

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

Smath studio root

Таким образом, точное решение системы получается лишь в результате бесконечного процесса и всякий вектор

Smath studio root

из полученной последовательности является приближенным решением. Оценка погрешности этого приближенного решения

Smath studio root

Smath studio root

Эти оценки можно усилить соответственно так:

Smath studio root

Smath studio root

Процесс итераций заканчивают, когда указанные оценки свидетельствуют о достижении заданной точности.

может быть выбран, вообще говоря, произвольно. Иногда берут

Smath studio root

Однако наиболее целесообразно в качестве компонент вектора

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

Первый способ. Если диагональные элементы матрицы А отлины от нуля, т. е.

Smath studio root

то систему можно записать в виде:

Smath studio root

В этом случае элементы матрицы С определяются следующим образом:

Smath studio root

и тогда условия приобретают вид:

Smath studio root

Smath studio root

Неравенства будут выполнены, если диагональные элементы матрицы А удовлетворяют условию:

Smath studio root

т.е. если модули диагональных коэффициентов для каждого уравнения системы больше суммы модулей всех остальных коэффициентов (не считая свободных членов).

Второй способ покажем на примере.

Вообще говоря, для любой системы с невырожденной матрицей существуют сходящиеся итерационные методы решения, но далеко не всегда они удобны для практических вычислений.

Дополнительно:  Обои 1366x768 для ноутбука на рабочий стол и картинки

Если метод итераций сходится, он дает следующие преимущества по сравнению с методами, рассмотренными выше.

1) Если итерации сходятся достаточно быстро, т. е. если для решения системы требуется менее n итераций, то получаем выигрыш во времени, так как число арифметических действий, необходимых для одной итерации, пропорционально n 2 , а общее число арифметических действий в методе Гаусса, например, пропорционально n 3 .

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

Последнее обстоятельство часто используется для уточнения значений неизвестных, полученных методом Гаусса.

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

4) Процесс итераций приводит к выполнению однообразных операций и сравнительно легко программируется на ЭВМ.

Задание. Решить систему линейных уравнений методом простых итераций.

Smath studio root

Smath studio root

Smath studio root

Smath studio root

Smath studio root

Указанные в методе простой итерации условия сходимости остаются верными и для метода Зейделя. Обычно метод Зейделя дает лучшую сходимость, чем метод простой терации, хотя это бывает не всегда. Кроме того, метод Зейделя может оказаться более удобным при программировании, так как при вычислении

Smath studio root

нет необходимости хранить значения

Smath studio root

Задание. Решить систему линейных уравнений методом Зейделя.

Решение систем нелинейных уравнений в smath studio

Для решения одного нелинейного уравнения с одной неизвестной система MathCAD имеет встроенную функцию, которая в зависимости от типа задачи может иметь или два или четыре аргумента и, соответственно, работает несколько по-разному: root(f(x),x); root(f(x),x,a,b), где f(x) — скалярная функция, определяющая исходное нелинейное уравнение (4.1); х – скалярная переменная, относительно которой решается уравнение; а, b – границы интервала, внутри которопй происходит поиск корня.

Однако более наглядным является решение СЛАУ в матричной форме. В этом случае используется встроенная функция lsolve(A,b), где А — матрица коэффициентов системы, b — вектор правых частей.

Методы обработки числовых данных

Данные, с которыми приходится иметь дело инженеру, часто представляются в виде таблиц. Таким образом, функция у = f(x) задается не аналитическим выражением, а в виде пар чисел

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

В зависимости от специфики задачи функция f(х) может отвечать различным требованиям (рис. 4):

Smath studio root

должна проходить через точки

В этом случае говорят об интерполяции данных функции

во внутренних точках между

и об экстраполяции ее за пределами интервала, содержащего все

, не обязательно проходя через точки

, учитывая, что данные

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

таким образом, чтобы минимизировать совокупность ошибок

. Тогда задача нахождения эмпирической функции

1. установить вид зависимости

2. определить неизвестные параметры функции

называют невязками или отклонениями теоретических значений

от соответствующих эксперимен­тальных значений

В методе наименьших квадратов в качестве неизвестных параметров функции

Возьмем, например, в качестве функции

Задача сводится к отысканию значений параметров а и дающих минимум функции

Такая функция является функцией двух переменных а и b, т.к. значения

– постоянные числа.

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

Преобразуем систему (20):

Эта система называется системой нормальных уравнений.

После ее решения определяются параметры а и b. Можно доказать, что в точках а и b функция S имеет минимум.

Аналогичным образом можно получить уравнения для определения коэффициентов при других типах функций.

Пример 2.5. Методом наименьших квадратов найти эмпирическую формулу

для функции, заданной таблицей (табл. 8).

Сведем все вычисления, необходимые для составления нормальной системы уравнений (21), в таблицу (табл. 9).

Тогда система нормальных уравнений (21) имеет вид

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

можно составить таблицу

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

Реализация численных методов в среде MathCad или SMath Studio

Smath studio root

Для решения одного нелинейного уравнения с одной неизвестной система SMath Studio имеет встроенную функцию, которая в зависимости от типа задачи может иметь или два или три аргумента: roots(f(x); x); roots(f(x); x; a), где f(x) – скалярная функция, определяющая исходное нелинейное уравнение (4.1); х – скалярная переменная, относительно которой решается уравнение; а – начальное приближение переменной х.

Перемножая матрицы Т’ и Т и приравнивая матрице A, получим следующие формулы для определения

Оцените статью
Master Hi-technology
Добавить комментарий