- •Требования к выполнению лабораторних работ
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Примеры выполнения заданий
- •Расчет в пакете mathcad
- •Постановка задачи
- •Содержание отчета
- •Постановка задачи.
- •Выводы. Теоретические сведения
- •Примеры выполнения заданий
- •Уточнение корня комбинированным методом.
- •Пример вычислений по методу хорд в пакете mathcad.
- •Пример реализации модифицированного метода
- •Варианты лабораторных работ
- •Лабораторная работа № 3 решение алгебраических и трансцендентных уравнений методом простой итерации
- •Постановка задачи
- •Содержание отчета
- •Постановка задачи.
- •Теоретические сведения
- •Примеры выполнения заданий
- •П ример решения трансцендентного уравнения в пакете mathcad.
- •Пример расчета в пакете matlab.
- •Встроенные функции пакетов mathcad, matlab для приближенного решения уравнений Пакет mathcad
- •Пакет matlab
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения.
- •Выводы. Теоретические сведения
- •Примеры выполнения заданий
- •Пример вычислений в пакете mathcad.
- •Программная реализация метода Гаусса для решения слау в пакете matlab.
- •Варианты лабораторных работ
- •Лабораторная работа № 5 итерационные методы решения системы линейных алгебраических уравнений (слау)
- •Постановка задачи
- •Содержание отчета
- •Постановка задачи.
- •Теоретические сведения.
- •Выводы. Теоретические сведения
- •Пример выполнения заданий
- •Решение системы методом простой итерации.
- •Пример расчета в пакете mathcad.
- •Программная реализация метода простой итерации для решения слау в пакете matlab.
- •Встроенные функции пакетов mathcad и matlab
- •Для приближенного решения систем линейных
- •Алгебраических уравнений
- •Пакет mathcad
- •Пакет matlab
- •Тема 3. Интерполяция и приближение полиномами Лабораторная работа № 6 интерполяционный многочлен лагранжа
- •Постановка задачи
- •Теоретические сведения.
- •Выводы. Теоретические сведения
- •Пример выполнения заданий
- •Построение полинома Лагранжа для таблично заданной функции.
- •Построение полинома Лагранжа в пакете mathcad.
- •Пример построения полинома Лагранжа в пакете matlab.
- •Пример использования узлов Чебышева.
- •Пример вычисления погрешности интерполирования.
- •Варианты лабораторных работ
- •Лабораторная работа № 7 интерполирование для таблиц с постоянным шагом. Численное дифференцирование. Обратное интерполирование
- •Постановка задачи
- •Содержание отчета
- •Постановка задачи.
- •Теоретические сведения.
- •Выводы. Теоретические сведения
- •Пример выполнения заданий
- •Построение первой формулы Ньютона в пакете mathcad.
- •Пример программ для вычислений по первой формуле Ньютона в matlab.
- •Обратное интерполирование с помощью полинома Ньютона в пакете mathcad.
- •Решение задачи обратного интерполирования
- •Варианты заданий
- •Лабораторная работа № 8 интерполирование кубическими сплайнами
- •Постановка задачи
- •Содержание отчета
- •Постановка задачи
- •Теоретические сведения.
- •Выводы. Теоретические сведения
- •Пример выполнения заданий
- •Построение кубического сплайна в пакете matlab.
- •Построение кубического сплайна в пакете mathcad.
- •Варианты лабораторных работ
- •Варианты лабораторных работ (окончание)
- •Встроенные функции интерполирования Пакет mathcad
- •Пакет matlab
- •Библиографический список
- •Содержание
- •Тема 1. Приближенное решение алгебраических
- •Тема 2. Приближенное решение систем линейных
- •Тема 3. Интерполяция и приближение полиномами……50
Встроенные функции пакетов mathcad и matlab
Для приближенного решения систем линейных
Алгебраических уравнений
Пакет mathcad
Решение систем линейных уравнений – довольно распространенная задача. Для системы линейных уравнений, заданной в матричном виде AX=B, вектор решения можно получить из очевидного выражения X=A-1B, или, например, из решения системы уравнений с проверкой на невырожденность матрицы:X:=if(|A|,A-1B,0).
Следует обратить внимание на то, что пакет содержит и встроенную функцию решения линейных систем lsolve(A,B), где А – матрица коэффициентов, а В – вектор свободных членов. Пример использования предложенных методов показан на рис. 5.1.
Рис. 5.1. Примеры решения системы
Для решения систем уравнений, систем неравенств, смешанных систем служат решающие блоки. Структура решающего блока:
начало | Given
тело | несколько конструкций вида АВ1 оп АВ2
(оп – некоторая операция отношения, причём для написания знака равенства используется особый «жирный» знак равенства, который находится на панели инструментов; знак присваивания в теле решающего блока не используется)
конец | FIND (список) или MINERR (список).
Список – это перечень переменных, которые необходимо найти.
С помощью FIND ищут точное решение; если оно отсутствует, то возникает ошибка. Посредством MINERR всегда будет найдено решение, минимизирующее невязку ограничений. Переменная ERR – величина ошибки.
Перед решающим блоком необходимо задать начальные условия для всех искомых переменных, можно в векторном виде. Соответственно, в теле решающего блока можно использовать запись уравнений в матричном виде. Максимальное количество уравнений в системе доведено до двухсот. Часто приходится решать системы уравнений при наличии определенных ограничений. Таким образом, в теле решающего блока могут быть одновременно как равенства, так и неравенства. Пример такой системы приведен ниже:
x:=1 y:=1
given
x + y = 5
x + y = 2
x1
y2
find (x,y) =
Для последующего использования результатов необходимо так организовать конец:
В теле решающего блока нельзя строить графики, выполнять вычисления.
Итерации производятся до тех пор, пока ERR TOL. Если встречается седловая точка и не известно, куда направлен градиент, то выдается сообщение not converging (не решаемо). Количество итераций ограничено. Возможно сообщение об ошибке вида did not find solution (не найдено решение).
При возникновении таких ошибок можно:
– изменить точность – TOL;
– заменить начальные условия;
– заменить find на minerr и получить приближенное решение.
Однако при использовании функций find и minerr нужно проявлять осторожность и обязательно предусматривать проверку решений, т.к. нередки случаи, когда решение может оказаться ошибочным.
Для получения другого решения можно поменять начальные условия, для уточнения – уменьшить TOL.
Пакет matlab
Рассмотрим две системы линейных уравнений: АХ=В и ХА=В. В MATLAB такие системы решаются без вычисления обратной матрицы. Два типа матричного деления / и \ используются для этих двух ситуаций, когда неизвестная матрица стоит слева или справа от матрицы коэффициентов:
Х=А\В соответствует решению АХ=В;
Х=В/А соответствует решению ХА = В.
При этом должны выполняться условия соответствия размерностей матриц X, А, В. Напомним, что для варианта Х=А\В матрица X должна иметь то же количество столбцов, что и матрица В, и то же число строк, сколько столбцов у матрицы А. Для Х=В/А эти условия обратны.
Алгебраические свойства оператора / можно вывести из соотношения (В/А)' = (А'\В’).
Матрица не обязательно должна быть квадратной, она может быть размером mхn. При этом существуют следующие варианты:
m = n – квадратная система, возможно нахождение точного решения;
m > n – переопределенная система, решение ищется с помощью метода наименьших квадратов;
m < n – недоопределенная система, ищется базовое решение. Пример решения и проверки результатов для квадратной системы:
<<А = раscal(З), В = magic(3)
А =
1 1 1
1 2 3
1 3 6
В =
8 1 6
3 5 7
4 9 2
<< Х=А\В
X =
19 -3 -1
-17 4 13
6 0 -6
<< % проверка эквивалентности
<< А*Х==В
ans =
1 1 1
1 1 1
1 1 1
Важно помнить, что система имеет единственное решение, если detА не равен нулю, иначе решение либо не существует, либо не единственно. Отметим также, что для нахождения обратной матрицы используется функция inv(А).
Для решения системы АХ=В можно записать Х= inv(А)*B, а для решения системы Х=В/А – Х=В*inv(А), однако операторы \, / работают быстрее.
Для прямоугольных матриц детерминант и обратная матрица не определены, но можно найти псевдообратную матрицу, то есть матрицу, для которой выполняется хотя бы одно из соотношений: АХ=I или ХА = I. Для этого имеется функция рinv(А).
Если А – матрица размером mхn и m>n и ранг матрицы равен n, то каждое из трех следующих выражений вычисляет X по методу наименьших квадратов:
Х=А\В
Х=рinv(А)*В
Х=inv(А'*А)*А'*В
В противном случае решение X по методу наименьших квадратов не единственно и существует множество векторов, минимизирующих norm(A*X-B). Решение, вычисленное с помощью Х=А\В, – базовое решение, имеющее не больше r ненулевых компонент: r=rank(A). Решение, вычисленное с помощью Х=рinv(А)*В, – это решение с минимальной нормой X.