- •Предисловие
- •1 Математические модели. Численные методы. Погрешности вычислений
- •1.1 Математические модели и моделирование
- •1.2 Этапы численного решения задач на эвм
- •1.3 Виды погрешностей решения задач
- •1.4 Погрешности арифметических операций
- •1.5 Графы арифметических операций
- •1.6 Распространение погрешностей в вычислениях
- •2 Решение систем линейных алгебраических уравнений
- •2.1 Постановка задачи. Методы решения
- •2.2 Метод Гаусса
- •2.2.1 Описание метода Гаусса
- •2.2.2 Расчетные формулы метода Гаусса
- •2.2.3 Погрешность метода Гаусса. Метод Гаусса с выбором главного элемента
- •2.4 Обращение матрицы
- •2.5 Метод Гаусса–Зейделя
- •2.5.1 Расчетные формулы метода Гаусса–Зейделя
- •2.5.2 Сходимость метода Гаусса–Зейделя
- •2.5.3 Графическая иллюстрация метода Гаусса–Зейделя
- •3 Аппроксимация функций
- •3.1 Понятие аппроксимации функций
- •3.2 Постановка задачи интерполирования функций
- •3.3 Интерполяционный полином Лагранжа
- •3.4 Конечные и разделенные разности функции
- •3.5 Интерполяционный полином Ньютона
- •3.6 Погрешность интерполирования
- •3.7 Наилучший выбор узлов интерполирования
- •4 Численное интегрирование
- •4.1 Постановка задачи численного интегрирования
- •4.2 Метод прямоугольников
- •4.3 Погрешность метода прямоугольников
- •4.4 Метод трапеций
- •4.5 Погрешность метода трапеций
- •4.6 Метод Симпсона
- •4.7 Погрешность метода Симпсона
- •4.8 Интерполяционные квадратурные формулы
- •4.9 Интерполяционные квадратурные формулы наивысшей алгебраической степени точности (квадратурные формулы Гаусса)
- •4.9.1 Квадратурная формула Гаусса–Лежандра
- •4.9.2 Квадратурная формула Гаусса–Лагерра
- •4.9.3 Квадратурная формула Гаусса–Эрмита
- •5 Решение нелинейных уравнений
- •5.1 Постановка задачи численного решения нелинейных уравнений
- •5.2 Метод деления отрезка пополам
- •5.3 Метод простой итерации
- •5.4 Метод Ньютона
- •5.5 Метод секущих
- •6 Решение обыкновенных дифференциальных уравнений
- •6.1 Постановка задачи
- •6.2 Метод рядов Тейлора
- •6.3 Метод Эйлера
- •6.4 Метод Рунге–Кутта 2-го порядка
- •6.5 Метод Рунге–Кутта 4-го порядка
- •7 Решение систем обыкновенных дифференциальных уравнений
- •7.1 Постановка задачи
- •7.2 Приведение дифференциального уравнения -го порядка к системе дифференциальных уравнений 1-го порядка
- •7.3 Метод Эйлера
- •8.2 Выполнение символьных операций Matlab
- •8.3 Создание символьных переменных
- •8.4 Создание группы символьных переменных
- •8.5 Создание списка символьных переменных
- •8.6 Вывод символьного выражения
- •8.7 Упрощение выражений
- •8.8 Вычисление производных
- •8.9 Вычисление интегралов
- •8.10 Вычисление сумм рядов
- •8.11 Вычисление пределов
- •8.12 Разложение функции в ряд Тейлора
- •8.13 Вычисление определителя матрицы, обращение матрицы
- •9 Дополнение
- •9.1 Вычисление значений полиномов
- •9.2 Вычисление корней полиномов
- •9.3 Решение систем нелинейных уравнений. Метод Ньютона
- •9.4 Решение систем линейных алгебраических уравнений с трехдиагональной матрицей (метод прогонки)
- •9.5 Интерполирование функций сплайнами
- •Литература
- •Оглавление
8.7 Упрощение выражений
Функция z = simplify(s) поэлементно упрощает символьные выражения массива s. Если упрощение невозможно, то возвращается исходное выражение.
Пример. Программа
syms x
z=simplify(sin(x)^2+cos(x)^2)
возвращает результат z = 1.
Команды simplify в Symbolic не обладает в полной мере возможностями системы Maple V по упрощению выражений. Дополнительные возможности обеспечивает функция simple(s), которая выполняет различные упрощения для элементов массива и выводит как промежуточные результаты, так и самый короткий конечный результат. При обращении к функции simple в форме
[R,HOW]=simple(s)
промежуточные результаты не выводятся. Конечные результаты упрощений содержатся в векторе R, а в строковом векторе HOW указывается выполняемое преобразование.
Пример. Программа
syms x
[R1,HOW1]=simple(cos(x)^2-sin(x)^2)
[R2,HOW2]=simple(2*cos(x)^2-sin(x)^2)
возвращает следующие результаты:
R1 =
cos(2*x)
HOW1 =
combine(trig)
R2 =
3*cos(x)^2-1
HOW2=
simplify
8.8 Вычисление производных
Для вычисления в символьном виде производных от выражения s служит функция diff.
diff(s) – возвращает символьное значение первой производной от символьного выражения или массива символьных выражений s по независимой переменной, определенной функцией findsym.
diff(s,n) – возвращает символьное значение n-й производной от символьного выражения или массива символьных выражений s по независимой переменной, определенной функцией findsym.
diff(s,v) – возвращает символьное значение первой производной от символьного выражения или массива выражений s по переменной v.
diff(s,v,n) или diff(s,n,v) – возвращает символьное значение n-й производной от символьного выражения или массива символьных выражений s по переменной v.
Пример. Программа
syms x t
y1=diff(sin(x^2))
y2=diff(t^6,6)
возвращает следующие результаты:
y1 =
2*cos(x^2)*x
y2 =
720
8.9 Вычисление интегралов
Для вычисления определенных и неопределенных интегралов в символьном виде служит функция int.
int(s) – возвращает символьное значение неопределенного интеграла от символьного выражения или массива символьных выражений s по переменной, которая автоматически определяется функцией findsum. Если s – константа, то вычисляется интеграл по переменной 'x'.
int(s,a,b) – возвращает символьное значение определенного интеграла на отрезке интегрирования [a,b] от символьного выражения или массива символьных выражений s по переменной, которая автоматически определяется функцией findsum. Пределы интегрирования a, b могут быть как символьными, так и числовыми.
int(s,v) – возвращает символьное значение неопределенного интеграла от символьного выражения или массива выражений s по переменной v.
int(s,v,a,b) – возвращает символьное значение определенного интеграла от символьного выражения или массива символьных выражений s по переменной
v с пределами интегрирования [a,b].
Пример. Программа
syms x alpha u x1
y1=int(1/(1+x^2))
y2=int(sin(alpha*u),alpha)
y3=int(x1*log(1+x1),0,1)
возвращает следующие результаты:
y1 =
atan(x)
y2 =
-cos(alpha*u)/u
y3 =
1/4