- •Требования к выполнению лабораторних работ
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Примеры выполнения заданий
- •Расчет в пакете 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
Пакет matlab
Вычисление корней полинома. Нахождение всех корней полиномов осуществляется с помощью функции roots, в качестве аргумента которой указывается вектор с коэффициентами полинома. Функция roots возвращает вектор корней полинома, в том числе и комплексных. Число корней полинома, как известно, совпадает со степенью полинома:
>> p=[1 0 3.2 -5.2 0 0.5 1 -3];
>> r=roots(p)
r =
-0.5668 + 2.0698i
-0.5668 - 2.0698i
-0.6305 + 0.5534i
-0.6305 - 0.5534i
1.2149
0.5898 + 0.6435i
0.5898 - 0.6435i
>> polyval(p, 1.2149) – вычисление значения полинома в заданной точке
ans =1.0e-012
Для решения уравнений и систем уравнений в аналитическом (общем) виде можно, как и в MATHCAD, использовать solve, для этого нужно объявить символьные переменные, например:
-
>> syms x;
>> solve('sin(x)+cos(x)=0')
ans =
-1/4*pi
>> syms x;
>>solve('sin(x)+cos(x)=1')
ans =
1/2*pi
0
Для нахождения нулей одномерной действительной функции от действительной переменной можно использовать функцию fzero('<имя функции>, х). Когда х скалярная величина, то решение ищется в окрестности заданной этой точки путем отыскания интервала, где функция меняет знак. Если такой интервал не находится, то возвращается значение NaN. Когда х вектор длины 2, то он интерпретируется как интервал поиска, в котором функция меняет знак. В том случае, если это не так, формируется сообщение об ошибке. Функция fzero('<имя функции>, х, tol) возвращает результат с относительной погрешностью tol, задаваемой пользователем.
Пример. Вычислим действительные нули полинома
f(x) = х4 - 4 х3 + 12.
Сначала сформируем М-файл polynom4 для вычисления этой функции:
function у = polynom4(x)
у = х.^4-4*х.^3 + 12;
затем найдем корень полинома, стартуя из точки х0 = -0.5:
z = fzero(‘polynom4’, -0.5, eps)
z= 1.746170944975038е+000;
теперь найдем корень полинома, стартуя из точки х0 = 3.0:
z = fzero(' polynom4\ 3, eps)
z = 3.777351952771215e+000;
точные значения корней полинома могут быть вычислены с помощью функции
roots([1 -4 0 0 12])
ans = 3.777351952771212е+000 1.746170944975038е+000
-7.617614488731261е-001+1.113117638472703e+000i
-7.617614488731261е-001 - 1.113117638472703e+000i
Нетрудно видеть, что оба подхода дают согласованные результаты.
Функция fzero использует методы деления отрезка пополам, секущей и обратной квадратической интерполяции [7].
ТЕМА 2. ПРИБЛИЖЕННОЕ РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
Лабораторная работа № 4
МЕТОД ГАУССА РЕШЕНИЯ СИСТЕМ
ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ (СЛАУ)
Цель работы: усвоить навыки решения системы линейных алгебраических уравнений методом Гаусса (схема единственного деления); используя метод Гаусса, определить корни системы линейных алгебраических уравнений, для матрицы коэффициентов вычислить определитель и найти обратную матрицу.
Постановка задачи
Оформить таблицу решения заданной системы линейных алгебраических уравнений (ручной счет).
Найти решение системы уравнений методом Гаусса в пакетах MATLAB, MATHCAD.
Вычислить определитель для матрицы коэффициентов.
Найти обратную матрицу для матрицы коэффициентов.
Проверить результаты вычислений с помощью встроенных функций пакетов.