- •Содержание
- •Лекция № 1. Теория погрешностей План
- •1.1. Источники и классификация погрешностей
- •1.2. Абсолютная и относительная погрешности. Формы записи данных
- •1.3. Вычислительная погрешность
- •2.1. Общие сведения и определения
- •2.2. Отделение корней
- •2.3. Метод половинного деления
- •2.4. Метод простой итерации
- •2.5. Преобразование уравнения к итерационному виду
- •2 0.777373 -3.32063 Search
- •Лекция № 3. Методы решения систем линейных алгебраических уравнений План
- •3.1. Общие сведения и основные определения
- •3.2. Метод Гаусса и его реализация в пакете matlab
- •3.3. Вычисление определителей
- •3.4. Решение систем линейных уравнений методом простой итерации
- •5. Метод Зейделя
- •3.6. Решение систем линейных уравнений средствами пакета matlab
- •Выражения
- •Лекция № 4. Методы решения систем нелинейных уравнений
- •4.2. Метод Ньютона решения систем нелинейных уравнений
- •Последовательные приближения корней
- •4.3. Решение нелинейных систем методами спуска
- •4.4. Решение систем нелинейных уравнений средствами пакета matlab
- •Iteration Func-count f(X) step optimality cg-iterations
- •Iteration Func-count f(X) step optimality cg-iterations
- •Лекция № 5. Интерполирование функций План
- •5.1. Постановка задачи
- •Решение задачи находится отысканием некоторой приближающей функции f(X), близкой в некотором смысле к функции f(X), для которой известно аналитическое выражение/
- •5.2. Интерполяционный полином Лагранжа
- •5.3. Интерполяционный полином Ньютона для равноотстоящих узлов
- •5.3.1. Конечные разности
- •5.3.2. Первая интерполяционная формула Ньютона
- •5.3.3. Вторая интерполяционная формула Ньютона
- •5.4. Погрешность интерполяции
- •5.5. Сплайн-интерполяция
- •5.6. Решение задачи одномерной интерполяции средствами пакете matlab
- •Лекция № 6. Численное дифференцирование
- •6.2. Особенности задачи численного дифференцирования функций, заданных таблично
- •6.3. Интегрирование функций, заданных аналитически (формула прямоугольников, формула трапеций, формула Симпсона)
- •6.4. Погрешность численного интегрирования
- •6.5. Вычисление интегралов методом Монте-Карло
- •Лекция № 7. Методы обработки экспериментальных данных План
- •7.1. Метод наименьших квадратов
- •Сумма квадратов отклонений
- •7.2. Нахождение приближающей функции в виде линейной функции и квадратичного трехчлена
- •7.5. Аппроксимация функцией произвольного вида
- •Лекция № 8. Преобразование Фурье
- •8.2. Эффект Гиббса
- •8.3. Спектральный анализ дискретных функций конечной длительности
- •8.4. Быстрое преобразование Фурье
- •Лекция № 9. Численные методы решения обыкновенных дифференциальных уравнений План
- •9.1. Основные сведения и определения
- •9.2. Метод Пикара
- •9.3. Метод Эйлера
- •9.4. Метод Рунге-Кутта
- •9.5. Средства пакета matlab для решения обыкновенных дифференциальных уравнений
2 0.777373 -3.32063 Search
3 0.822627 -4.06625 search
4 0.768 -3.17712 search
5 0.832 -4.23184 search
6 0.754745 -2.98039 search
7 0.845255 -4.47271 search
8 0.736 -2.71444 search
9 0.864 -4.82695 search
10 0.70949 -2.36229 search
11 0.89051 -5.35561 search
12 0.672 -1.9106 search
13 0.928 -6.16014 search
14 0.618981 -1.35979 search
15 0.981019 -7.41582 search
16 0.544 -0.743367 search
17 1.056 -9.43876 search
18 0.437961 -0.157497 search
19 1.16204 -12.8248 search
20 0.288 0.215057 search
Looking for a zero in the interval [0.288, 1.162]
21 0.308 0.190464 interpolation
22 0.460543 -0.256865 interpolation
23 0.37295 0.0607713 interpolation
24 0.397562 -0.010605 interpolation
Zero found in the interval: [0.288, 1.162].
x =
0.3976
>> [x fval]=fzero('Func',0.8,optimset('TolX',10^-5,'disp','iter'))
Func-count x f(x) Procedure
1 0.8 -3.6824 initial
2 0.777373 -3.32063 search
3 0.822627 -4.06625 search
4 0.768 -3.17712 search
5 0.832 -4.23184 search
6 0.754745 -2.98039 search
7 0.845255 -4.47271 search
8 0.736 -2.71444 search
9 0.864 -4.82695 search
10 0.70949 -2.36229 search
11 0.89051 -5.35561 search
12 0.672 -1.9106 search
13 0.928 -6.16014 search
14 0.618981 -1.35979 search
15 0.981019 -7.41582 search
16 0.544 -0.743367 search
17 1.056 -9.43876 search
18 0.437961 -0.157497 search
19 1.16204 -12.8248 search
20 0.288 0.215057 search
Looking for a zero in the interval [0.288, 1.162]
21 0.302415 0.198003 interpolation
22 0.467237 -0.288821 interpolation
23 0.369452 0.0698667 interpolation
24 0.398884 -0.0148167 interpolation
25 0.393735 0.00136079 interpolation
26 0.394168 2.27096e-005 interpolation
27 0.394188 -3.91718e-005 interpolation
Zero found in the interval: [0.288, 1.162].
x =
0.3942
fval =
2.2710e-005
>> X = fzero('Func',3, optimset('disp','final'))
Zero found in the interval: [0.28471, 4.92].
X =
0.3942
Для нахождения корней полинома в пакете MATLAB предусмотрена соответствующая функция roots( ), возвращающая вектор-столбец, компоненты которого являются корнями полинома (действительными или комплексными).
Обращение к функции к данной функции имеет следующий вид:
r = roots(c)
Здесь c вектор-строка, содержащая значения коэффициентов полинома .
Пример 2.4. Решение уравнения с использованием функцииroots( ).
>> c=[1 -11 1 1 0.1];
>> roots(c)
ans =
10.8998
0.3942
-0.1470 + 0.0409i
-0.1470 - 0.0409i