- •3 Курса
- •Предисловие
- •Введение
- •Глава 1. Погрешности результата численного решения
- •1.1. Источники ошибок при вычислениях на эвм.
- •1.2. Практическое вычисление функций.
- •1.3. Схема Горнера и метод Ньютона
- •В общем виде алгоритм запишется:
- •1.5. Метод простых итераций.
- •1.6. Метод деления отрезка пополам (метод дихотомии).
- •1.7. Метод хорд.
- •Программа метода дихотомии.
- •Программа метода простых итераций.
- •Программа метода Бэрстоу.
- •Программа метода хорд.
- •Программа метода секущих.
- •Глава 2 Решение систем линейных уравнений
- •2.1. Метод Гаусса.
- •2.2. Метод итераций (Гаусса-Зейделя).
- •2.4. Стандартные операторы мatlab для решения систем линейных алгебраических уравнений.
- •2.5. Решение систем нелинейных уравнений.
1.2. Практическое вычисление функций.
Обычно элементарные функции: sin x, cos x, ln x, ex и т.д. вычисляются с помощью
полиномов или дробно-рациональных функций.
В МATLAB тригонометрические функции используются так: sin(x), cos( x),tan(x),cot(x),
sec(x), csc(x). Для обратных впереди ставится a , а для гиперболических в конце h.
Например, acos( x) и sinh(x). Аргумент и результат записываются в радианах. В
качестве идентификатора используется pi.
Логарифмы вызываются в МATLAB: log(x). Основание логарифма подписывается к
концу символа: log10(x).
Особенностью разложения в ряд Тейлора является рост ошибки с ростом х вблизи
точки х = 1, хотя сама по себе ошибка ограничения может быть очень малой. При
разложении элементарных функций в ряд с помощью полиномов Чебышева можно
минимизировать ошибку в диапазоне 0<x<1. Но использование этих полиномов
приводит к более сложным формулам.
Ряды Тейлора и Чебышева могут быть представлены в виде структуры:
(1.7)
Часто ряд используется в виде:
(1.8)
В ТАУ одной из основных математических моделей элементов и систем являются передаточные функции (ПФ), которые являются дробно-рациональными функциями вида:
. (1.9)
Функции (1.7) и (1.8) называются рациональными, а коэффициенты ai и bj - вещественные числа, где
i = 0, 1,…, n , а j = 0, 1,…, m. Аргумент x в ПФ является оператором Лапласа. Обычно n≥m, поэтому часто используют один индекс n ═ m. Если записать полиномы числителя и знаменателя по формуле (1.8), то ПФ будет записана в иной форме, которая также часто используется в литературе. Переход от вида (1.7) к виду (1.8) можно выполнить для вектора коэффициентов по алгоритму пересчета an-i=ai в цикле по i от 0 до n.
В МATLAB вектор коэффициентов вводится так:
a = [1 3 3 1];
А цикл: for i = 1:n (тело цикла) end
Особенности:
- идентификаторы a и A - разные переменные;
- любой идентификатор – это либо вектор, либо матрица;
- индексы векторов и матриц могут начинаться только с 1;
Следовательно, принятые в ТАУ обозначения индексов коэффициентов вступают в противоречие с правилами МATLAB. Поэтому цикл следует выполнять так:
function prb
n=4; %число коэффициентов уравнения
a=[1 3 4 5];
for i=1:n
d(i)=a(n+1-i)
end
display(d)
По умолчанию счетчик цикла изменяется на 1. А результат записывается в новый вектор d, чтобы сохранить исходный вектор коэффициентов a.
В общем случае переменная цикла может быть вещественной любого знака.
Вернемся к полиномам. Если (1.7) приравнять 0, то получим алгебраическое уравнение (в ТАУ- характеристическое уравнение системы):
. (1.10)
Особенностью характеристического уравнения для устойчивых систем управления является то, что его коэффициенты положительны, т.е. не допускается отсутствие коэффициентов при x во всех степенях от 0 до n: необходимое условие устойчивости.
А необходимым и достаточным условием устойчивости является расположение корней характеристического уравнения в левой полуплоскости.
Нас будет интересовать алгоритм расчета корней характеристического уравнения (1.10). Перечислим сначала некоторые его свойства:
- число корней равно степени n,
- корни могут быть нулевыми, комплексно-сопряженными (вещественными и мнимыми). Они могут быть кратными.
- для нечетной степени n обязателен один вещественный корень,
- любой из корней не может превзойти по модулю число К=1+ , где A наибольшее из чисел .
Наиболее простой способ определения корней уравнения (1.10) – графический. Для этого следует построить функцию (1.7) и точки пересечения ее с осью абсцисс будут корнями характеристического уравнения.
function grf
a=[1 3 3 1];
x=-1.5:0.01:0;
f=a(1)*x.^3+a(2)*x.^2+a(3)*x+a(4);
plot(x,f); grid on
hold on
a=[1 1 1 1];
f=a(1)*x.^3+a(2)*x.^2+a(3)*x+a(4);
plot(x,f)
Вектор x состоит из отрицательных значений от – 2 до 0 с шагом 0.01. При возведении его в степень требуется ставить . перед знаком ^ , тогда будут возводиться в степень элементы вектора x. В противном случае будет умножение вектора на вектора. Отсутствие точки с запятой (;) дает возможность разблокировать оператор plot(x,f), т.е. получить результат.
В дальнейшем счет полиномов в «лоб» выполнять не следует, так как существуют более рациональные методы расчета.