Главная страница  Программы проектирования 

[0] [1] [2] [3] [4] [5] [ 6 ] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100]

о . . . 1 .

... о .

(1.36)

I-1.

(1.37)

С помощью таких преобразований приведем матрицу А к виду, при котором ац = 0, если j<Ci-1. Вместо элементарных устойчивых преобразований можно использовать элементарные ортогональные преобразования вращения или отражения [30], которые более устойчивы, но требуют больше операций.

Приведение начнем с последней строки матрицы А. Приведение i-й строки к требуемому виду будем производить после того, как к такому виду уже приведены строки п+1, i+l. При этом выполняются следующие действия:

1. Среди элементов ац, аг, j-i найти максимальный по модулю, пусть это будет ац.

2. Переставить местами столбцы г-1 и /, а затем строки i-1 и /, что эквивалентно преобразованию (1.35) с матрицей (1.36).

3. Вычислить hh = aih/ai,i-u k~\, i-2; благодаря предыдущим действиям /jftl для всех k, что обеспечивает устойчивость вычислительного процесса.

4. Вычесть из столбцов 1, i-2 матрицы столбец i-1, умноженный соответственно на hu /1,-2, в результате элементы ац,... .... «г, г-2 становятся нулевыми.

5. Прибавить к строке i-1 полученной матрицы строки 1, ... i-2, умноженные соответственно на hi, hi-2.

Действия 4, 5 эквивалентны преобразованию (1.35) с матрицей (1.37).

В результате выполнения указанных действий для i = n-t-1,... 3, получим матрицу А в виде:



«11

«21 «22 «23

О О аз

• «1,п-(-г

• «2, п+г

• «3,n-l-f . «4.n+f

(1.38)

Этап 2. Рассчитаем передаточные функции по системе уравнений

матрица коэффициентов которой имеет вид (1.38). Применяя правило Крамера, получаем передаточную функцию от /-го входа:

Wj{P)=n{pyfq{p),

Р -«11 -«12 - -«1П «1.14-/

- «21 Р -«21 - -«2П «2.п+/

О -32 ... -dsn «3. n-f/

rj{p) =

q{p) =

О О ... р-а„п an,n+i

О О ... ~ап+1.п ап+1, n+i

Р -«11 -«12 •

- «21 Р -«22 - -«2П

О -а

32

- «371

Р -«лп

Знаменатель и числители передаточных функций получили в виде определителей матриц, имеющих верхнюю форму Хессенберга. Для их вычисления воспользуемся рекуррентными формулами:

фо (р) = 1,

Фг (Р) = (Р~«гг) фг-1 (р) -«г-1,гаг,г-1фг-2 (р) - -аиаг,г-1«г-1,г-2 ... а21фо (р) , i=l, Щ

7(р)=ф«{р);

rj (р) =ап+1, п+зЦ>п (Р) -Ь«п, n-t-j«n-H, пфп-1 (р) 4- ...-Ь 4-ai,„+ja„+i,„a„, „ 1 ...а21фо(р). (1.39)

Для расчета / передаточных функций по описанному алгоритму необходимо выполнить п + п1 операций умножения (деления) и 5п/&+п1 операций сложения (вычитания). Точность алгоритма можно повысить, если предварительно произвести масштабирование матриц [81] исходной системы - уравновешивание строк и столбцов матрицы А путем выполнения преобразования (1.35)



с диагональной матрицей Q. В результате уменьшается евклидова норма матрицы А и повышается численная устойчивость последующих преобразований.

Подпрограмма TRANSF

Назначение: расчет матрицы передаточных функций по заданным матрицам уравнений состояния.

Обращение: CALL TRANSF (А, В, С, D, iN, L, M,.W). Параметры:

А, В, С, D - массивы размерностей (N, N), (N, L), (М, N), (М, L) ко-эффищнентов исходной системы; N - размерность вектора переменных состояния;

L - размерность вектора входных переменных;

М - размерность вектора выходных переменных;

W - массив рассчитанных коэффициентов передаточных функций, где W(ll), .... W(N+1) - коэффициенты знаменателя в порядке возрастания степеней р; W(K+1), W(K+N--1) - коэффициенты числителя передаточной функции от входа J к выходу I в порядке возрастания степеней р, К=(1-1) *(N+l)*L+J*(N-bl).

Примечание. Подпрограмму можно использовать для расчета характеристического полинома матрицы. В этом случае допустимо обращение: CALL TRANSF (А, А, А, А, N, О, О, W).

Пример. Автоматическая система описывается уравнениями

-20 -50 О О 20 О

0 О 1

У =

[ 0

0 0

. ч .

Составим матрицу

"-20

о"

Переставив местами столбцы 2

а затем

строки 2

~-20

о"

"1

«2

"1

"5




[0] [1] [2] [3] [4] [5] [ 6 ] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100]

0.0098