- •Глава 3. Инструментальные средства моделирования
- •3.2.2 Пользовательский интерфейс
- •3.2.3. Создание, редактирование и отладка м-файлов
- •3.2.3 Простейшие вычисления
- •Элементарные математические функции
- •Функции, определенные пользователем
- •3.2.4 Массивы в matlab
- •3.2.5 Основные матричные операции
- •3.2.6 Графики в matlab Построение двумерных графиков
- •Операторы цикла Оператор for … end
- •Цикл while
- •Обработка массивов и матриц средствами м-языка
- •Отладка м-программ в matlab
- •Численное решение математических задач в matlab
- •Численное интегрирование
- •Символьные вычисления в matlab
- •Вычисление производной
Численное решение математических задач в matlab
Алгебраические уравнения
Алгебраическим уравнением (полиномом) относительно переменной х называется любое уравнение вида Р(х) = 0, где Р(х) – многочлен, отличный от нулевого.
Алгебраическое уравнение относительно переменной х принято записывать в виде:
,
где а0 0, n ≥ 1 и аi – коэффициенты алгебраического уравнения n-й степени.
В Matlab полином задается и хранится в виде вектора, элементами которого являются коэффициенты полинома от аn до а0.
Для выполнения операций над полиномами в Matlab имеются функции, некоторые из них представлены в таблице.
Функция |
Описание |
roots(p) |
результатом является вектор, элементы которого являются корнями полинома с коэффициентами р |
poly(x) |
определяет коэффициенты полинома р по заданному вектору его корней х |
polyval(p,x) |
Вычисляет значение полинома р в точке х |
Пример 3-11. Требуется решить алгебраическое уравнение
Введем массив коэффициентов этого полинома как вектор-столбец. Найдем корни уравнения с помощью функции roots(p):
Инструкции |
Результат |
>> p=[2.25 -1.78 -6.38 2.81 4.11]; >> roots(p)
|
ans = 1.6422 1.1759 -1.2988 -0.7283 |
Задание 3- 4. Найти корни полинома численно и графически.
1. 2 х3 – 5 х2 – 11 х – 4 = 0
2. х3 – 2,56 х2 – 1,33 х + 4,39 = 0
Численное интегрирование
Известно, что если непрерывная на интервале [a; b] функция f(x) имеет первообразную F(x), то определенный интеграл от этой функции в пределах от a до b можно вычислить по формуле Ньютона-Лейбница:
На практике же часто трудно найти первообразную функцию. В этих случаях используют численные методы интегрирования, которые позволяют вычислить значение определенного интеграла, используя подынтегральную функцию.
Существуют различные методы численного интегрирования, рассмотрим метод трапеций.
Интегрирование по методу трапеций
В Matlab численное интегрирование по методу трапеций реализовано с помощью функций, представленных в таблице:
Функция |
Описание |
trapz(x,y) |
Вычисляет площадь фигуры под графиком функции y(x), в котором все точки заданы векторами x и y. |
cumtrapz(x,y) |
Выполняет интегрирование с накоплением по методу трапеций, т.е. она вычисляет площадь фигуры под графиком функции у(х), но результат ее работы является вектор, состоящий из промежуточных вычислений: S1 = 0; S2 = S1 + S2; S3 = S1 + S2 + S3; …, Sn = S1 + S2 + …+ Sn. Т.е. искомая площадь фигуры – это последний элемент вектора. |
Пример 3-12. Требуется вычислить определенный интеграл
методом трапеций, количество разбиений отрезка интегрирования n = 10.
Инструкции |
Результат |
>> % n = 10 >> a=0.4; b=0.5; h=0.01; >> x=a: h: b; >> y=1./(1+sin(x)+x); >> S=trapz(x,y) |
S = 0.0531
|
Задание 3- 5. Вычислите определенные интегралы.
1.
2.
3.