- •Дано приближенное число и относительная погрешность числа. Записать число с явным указанием погрешности.
- •Известна абсолютная или относительная погрешность приближенного числа. Определить количество верных цифр числа, используя определение количества верных цифр.
- •Дана функция f(a,b,c). Значения переменных указаны со всеми верными цифрами. Оценить погрешность результата, используя общую формулу погрешностей.
- •Дана функция f(a,b,c). Значения переменных указаны со всеми верными цифрами. Оценить погрешность результата, используя оценки погрешностей для арифметических операций.
- •Перечислить все элементы главного окна matlab, их назначение и особенности.
- •Перечислить все арифметические операторы matlab (название, обозначение) с указанием их приоритета. Привести примеры для каждого оператора.
- •Назначение, структура и свойства м-файла сценария. Комментарии в м-файлах сценариях. Пример м-файла сценария для решения какой – либо задачи.
- •Переменные, оператор присваивания, перенос строки, форматы чисел, комментарии (определения и примеры).
- •Формирование векторов и матриц. Определение размера матриц. Транспонирование векторов и матриц. Оператор двоеточие. Примеры по каждому пункту.
- •Операторы отношения и логические операторы. Условный оператор if. Пример использования в matlab.
- •Оператор цикла for. Пример использования в matlab.
- •Оператор цикла while. Пример использования в matlab.
- •Перечислить способы отделения корней. Как реализовать графический способ отделения корней в matlab, привести пример м-файла сценария.
- •15.Решить в пакете matlab уравнение с заданной точностью на заданном отрезке с использованием функции fzero.
- •16.Сформулировать отличия метода половинного деления от метода касательных (Ньютона). Сравнительные достоинства и недостатки методов.
- •Решить в пакете matlab уравнение с заданной точностью при заданном начальном приближении с использованием функции fzero.
- •Дано уравнение . Показать, сходится или нет итерационный процесс на заданном отрезке.
- •Функция задана таблично на отрезке . С какой точностью можно вычислить значение данной функции в указанной точке с помощью интерполяционного полинома Лагранжа.
- •Функция задана таблично в точках и . Построить интерполяционный полином Лагранжа . Создать m – файл функцию в matlab.
- •28.Сформулировать принципиальные отличия сплайн – интерполяции от интерполяционной формулы Лагранжа.
- •29.Функция , задана таблично в узлах . Выполнить ступенчатую интерполяцию данной функции средствами matlab с построением графика.
- •Функция , задана таблично в узлах . Выполнить линейную интерполяцию данной функции средствами matlab с построением графика.
- •31.Вычислить значение интеграла при заданных значениях a, b и с помощью метода трапеций встроенными средствами matlab.
- •Вычислить значение интеграла при заданных значениях a, b и с помощью метода Симпсона встроенными средствами matlab.
- •Вычислить значение интеграла при заданных значениях a, b, и количестве узлов интегрирования n с помощью квадратурной формулы левых прямоугольников в matlab.
- •Вычислить значение интеграла при заданных значениях a, b, и количестве узлов интегрирования n с помощью квадратурной формулы средних прямоугольников в matlab.
- •Вычислить значение интеграла при заданных значениях a, b, и количестве узлов интегрирования n с помощью квадратурной формулы трапеций в matlab.
- •Вычислить значение интеграла при заданных значениях a, b, и количестве узлов интегрирования n с помощью квадратурной формулы Симпсона в matlab.
- •40.Аналитически найти теоретическую погрешность при численном вычислении интеграла при заданных значениях a, b, и количестве узлов интегрирования n с помощью квадратурной формулы Симпсона.
- •Сформулировать задачу Коши. Привести не менее двух примеров.
- •Сформулировать отличие частного решения от общего решения. Пример.
- •Дана задача Коши для оду первого порядка. Построить вычислительную формулу для ее решения методом Рунге – Кутта первого порядка.
- •46. (Сводный вопрос) Каким образом получены вычислительные формулы для методов Рунге – Кутта первого, второго и четвертого порядков точности. Основное соотношение, которое при этом используется.
- •47.Реализация метода Рунге – Кутта 4 – го порядка в matlab.
- •48.Формулировка задачи Коши для систем оду первого порядка. Привести пример.
- •49.Дано оду второго порядка с начальными условиями. Преобразовать данное уравнение к задаче Коши для системы оду первого порядка.
- •50.Дана таблица значений , и значения . Написать m – файл сценарий для решения задачи Коши двухшаговым методом Адамса – Башфорта, используя оператор цикла for.
Решить в пакете matlab уравнение с заданной точностью при заданном начальном приближении с использованием функции fzero.
При обращении к fzero возможно указать: либо начальное приближение к корню; либо отрезок, на котором исследуемая функция принимает значения разных знаков.
Если задано начальное приближение, то fzero начинает поиск отрезка, содержащего корень, т.е. такого, на границах которого исследуемая функция меняет знак. Затем начинаем операцию Поиск в функции fzero интервала, содержащего корень. Когда отрезок найден, то начинает работу алгоритм уточнения корня, основанный на нескольких методах численного решения уравнений. Если же с самого начала в fzero был задан отрезок, на границах которого функция меняет знак, то этот алгоритм по уточнению корня сразу начинает работу.
Если функция fzero вызвана с начальным приближением к корню
fzero(fun, x0)
а не с отрезком, на границах которого происходит смена знака исследуемой функции, то происходит поиск такого отрезка с целью отделения корня. Алгоритм отделения корня в функции fzero достаточно простой.
Сначала выбирается шаг dx. Далее вычисляется значение исследуемой функции в точке a=x0 –dx и сравнивается со значением исследуемой функции в точке . Если и разных знаков, то корень отделен, а если знаки совпадают, то происходит расширение промежутка вправо от точка до и сравниваются знаки функции в точках a и b. Если они различны, то корень отделен, а если нет, то в цикле происходит последовательное увеличение шага в √2 раз и расширение промежутка влево, а затем и вправо от точки x0 с проверкой знаков функции на границах. Как только знаки станут различными, отделение корня прекращается и начинает работать алгоритм по его уточнению.
В вышеописанном алгоритме отделения корня производится проверка: являются ли значения исследуемой функции в получаемых точках конечными и вещественными. Если значения функции оказались комплексными, или в процессе вычислений возникло переполнение при вычислениях с плавающей точкой, то работа fzero прекращается и выводится соответствующее сообщение в командное окно.
Дано уравнение . Показать, сходится или нет итерационный процесс на заданном отрезке.
Также как и в случае уравнения с одним неизвестным, заменяют нелинейную систему эквивалентной системой вида ,
выбирают
некоторое начальное приближение и
дальнейшие приближения ищут по формуле
или
в координатной форме
. (2.15)
Вычисления
продолжают до тех пор, пока по всем
координатам не будет выполнено условие
Итерационный процесс сходится, если выполняется одно из следующих условий [2]:
(2.17),
где
.
Т.е. итерационный процесс сходится, если модуль диагонального элемента больше суммы модуля оставшихся элементов строки. Если данное условие не выполняется, необходимо соответствующим образом преобразовать СЛАУ. Это можно сделать, выполнив эквивалентные преобразования системы:
перестановка строк;
линейная комбинация строк.
Алгоритм состоит из следующих основных блоков.
1.
Ввод вектора начальных приближений
,
задание параметра сходимости
и точности вычислений
.
2. Установка флага события flag = 1 – решения найдены с требуемой точностью по всем координатам.
Вычисление
значений переменных
на
очередном шаге.
4.
Организация
цикла по проверке условия (2.16) достижения
требуемой точности вычислений по всем
координатам, сброс флага события (flag =
0) в случае его невыполнения хотя бы по
одной координате, формирование вектора
начальных приближений для следующей
итерации
.
5. Проверка условия нахождения решений (flag = 1) и возвращение к п.2. в случае его невыполнения.
6. Вывод результатов.
Дана система линейных алгебраических уравнений AX = B. Решить систему, используя средства MATLAB (не менее четырех способов решения).
СЛАУ в матричной форме записывается в виде
AX = B, (1)
где
;
;
.
В скалярной форме записи
.
Система
(1) имеет единственное решение, если
.
Систему уравнений (1) в MATLAB можно решить различными методами:
Для этого применяются следующие операторы:
-
/
- правое деление;
\
- левое деление;
А - 1
- возведение в степень –1;
inv(A)
- обращение матрицы А.
Выражения Х=В/A,Х=В* (А^ - 1),Х=В* inv(A),Х=A\В
дают решения ряда систем линейных уравнений АХ = В, где А – матрица размером m*n,
В – матрица размером n*к.
Обращение матриц – одна из наиболее распространенных задач.
Эту процедуру выполняет функция inv(A), которая вычисляет элементы обратной матрицы для исходной квадратной матрицы A. Выдается предупреждающее сообщение, если матрица х близка к вырожденной.
Пример:
Текст М-файла, левое деление:
a=[a11 a12 a13 a14;
a21 a22 a23 a24;
a31 a32 a33 a34;
a41 a42 a43 a44];
b=[b1; b2; b3; b4];
X1=a\b
Полученное решение:
X1 =
c
d
e
f
Текст М-файла, правое деление:
a=[a11 a12 a13 a14;
a21 a22 a23 a24;
a31 a32 a33 a34;
a41 a42 a43 a44];
a1=a'
b=[b1; b2; b3; b4];
X2 = b/a1
Полученное решение:
X2 =
c d e f
Текст М-файла, возведение в степень –1;
a=[a11 a12 a13 a14;
a21 a22 a23 a24;
a31 a32 a33 a34;
a41 a42 a43 a44];
a1=a'
b=[b1; b2; b3; b4];
X3 = b*(a^-1)'
Полученное решение:
X3 =
c d e f
Текст М-файла, обращение матрицы А:
a=[a11 a12 a13 a14;
a21 a22 a23 a24;
a31 a32 a33 a34;
a41 a42 a43 a44];
a1=a'
b=[b1; b2; b3; b4];
X4 = b*inv(a)'
Полученное решение:
X4=
c d e f
Дан вектор. Вычислить m - норму вектора аналитически и в MATLAB (составить программу).
Даны
вектор
Пусть дан вектор:
X=[1 2 3 4];
Вычислим m-норму вектора аналитически:
max-норма, или m – норма вектора:
В Mathlab в Command Window пишем:
X=[1 2 3 4];
mn=norm(X, inf)
Получим:
mn=4
21.Дан вектор. Вычислить l - норму вектора аналитически и в MATLAB (составить программу).
Даны вектор
Пусть дан вектор:
X=[1 2 3 4];
Вычислим l-норму вектора аналитически:
В Mathlab в Command Window пишем:
A=[1 2 3 4];
ml=norm(A, inf)
Получим:
ml=10
22.Дана матрица. Вычислить m - норму матрицы аналитически и используя встроенные в MATLAB средства.
Пусть дана матрица:
В
ычислим
m-норму
данной матрицы аналитически:
max-норма, или m – норма
В Mathlab в Command Window пишем:
A=[1 2 3; 4 5 6; 7 8 9];
mn=norm(A, inf)
Получим:
mn=24
23.Дана матрица. Вычислить l - норму норму матрицы аналитически и используя встроенные в MATLAB средства.
Пусть дана матрица:
Вычислим l-норму данной матрицы аналитически:
В Mathlab в Command Window пишем:
A=[1 2 3; 4 5 6; 7 8 9];
ml=norm(A, 1)
Получим:
ml=18
Дана система линейных алгебраических уравнений
.
Проверить, что итерационный процесс
сходится для m
–нормы. Определить условие окончания
итерационного процесса.
Пусть дано уравнение (1)
Заменим его равносильным уравнением
(2)
Здесь
Вычислительная формула метода простых итераций:
(3)
Если
последовательность
имеет предел
то этот предел является решением системы
Теорема.
Если
то система уравнений (2) имеет единственное
решение и итерационный процесс (3)
сходится к решению независимо от
начального приближения.
Критерий
окончания итерационного процесса:
Здесь e - заданная точность вычислений. В качестве решения берется величина Xn.
Дана система линейных алгебраических уравнений AX = B. Привести ее к виду, пригодному для решения методом простых итераций . Проверить условие сходимости итерационного процесса для какой – либо нормы.
Любую невырожденную систему уравнений AX = B всегда можно заменить эквивалентной системой так, что условие сходимости будет выполняться.
Для этого умножим уравнение AX = B на матрицу D = А^-1 – D, где D -матрица с малыми по модулю элементами. Последовательно получим:
Обозначим
В результате получим систему вида
Очевидно, что если элементы матрицы D выбрать достаточно малыми по модулю, то можно обеспечить выполнение условия
Т.е. для сходимости итерационного процесса необходимо выполнение условия
или
