Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Практическое вычисление функций.






Обычно элементарные функции: 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), т.е. получить результат.

В дальнейшем счет полиномов в «лоб» выполнять не следует, так как существуют более рациональные методы расчета.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.