НО X = (X-XSHIFT).XSCALE Y = (Y-YSHIFT).YSCALE SMAX = SMAX/PSCALE SMIN = SMIN/PSCALE ANG= ANG/57.3
с с с
с с с
с с с
с с с
Вычисление координат концов векторов
R = X + SMAX/2..SIN(ANG) S = Y + SMAX/2..C0S(ANG) р = 2..Х - R Q = 2..Y-S
Вычерчивание отрезков
CALL PL0T(R,S,3) CALL PL0T(P,Q,2) R = X - SMIN.COS(ANG) S = Y + SMIN.SIN(ANG) P = 2..X-R Q = 2..Y-S CALL PL0T(R,S,3) CALL PL0T(P,Q,2)
Печать номера элемента
A = X + 0.2 B = Y + 0.1 FPN = N
CALL NUMBER (A,B,. 14,FPN,0.,0) Переход к следующему элементу
GO ТО 100
Конец чертежа
210 CONTINUE
CALL PLOT (0.,0.,999)
STOP
20.9. Решение задачи о собственных значениях итерационным методом
При исследовании колебаний и устойчивости, а также при расчете методом конечных элементов волноводов и т. д. можно получить систему матричных уравнений вида ИХ = XX, где В - квадратная матрица известных коэффициентов, X - вектор [xi, Х2, XnY, а - скалярная величина, соответствующая собственным частотам, критической нагрузке, частотам среза и т. п. Уравнения вида НХ = XX называются уравнениями собственных значений, и в общем случае они имеют столько решений, т. е. собственных значений и соответствующих собственных векторов, сколько степеней свободы Xi. Примером моГут служить задачи о свободных колебаниях, в которых
Н = КМ. (20.12)
Наибольшее собственное значение можно определить простым итерационным методом;
а) Задать некоторое значение вектора X, которое в дальнейшем называется Xgi. Поскольку собственный вектор характеризует некоторую собственную функцию системы, нам нужны только относительные значения компонент вектора X. Поэтому можно считать, что одна из неизвестных (скажем, Xi) всегда равна единице.
б) Вычислить AXg,. -
в) Произведение AXgi представляет собой вектор, который можно записать в виде A,g2g2, где Xg2 - множитель, такой, что компонента Xi вектора Xg2 опять равна единице, а остальные переменные Х2, х, .. ., Хп принимают соответствующие значения.
г) Сравнить Xg2 с Xgi пли в общем случае Xg с Х(г+1). Если они не отличаются (в пределах заданной точности) друг от друга, то полученное множество значений образует собственный вектор, а множитель представляет собой наибольшее собственное значение. В противном случае снова вернуться к пункту «а».
Другие собственные значения и соответствующие им собственные векторы определяются методом «ловли льва в пустыне» в сочетании с итерационным методом. При использовании этого метода матрица Н видоизменяется таким образом, чтобы свести максимальное собственное значение системы к нулю. В результате наибольшим собственным значением становится последующее значение X. После этого процесс итераций повторяется.
Предположим, что на некотором этапеполучены собственное значение Хг и собственный вектор Хг.
Используемую для нахождения X, и Х матрицу можно с помощью метода «ловли льва» видоизменить так, чтобы
хмх.
избавиться от г-го корня, т. е. сделать Хт равным нулю, не изменяя других собственных значений и собственных векторов. Очевидно, что после этого у видоизмененной матрицы наибольшим собственным значением будет Xr+i- Пусть
так как XjMXr - скалярная величина и на нее можно сократить.
Из соотношения (20.16) следует, что Х все еще остается собственным вектором видоизмененной матрицы, но соответствующее собственное значение Яг равно нулю.
Теперь остается доказать, что другие корни системы не изменяются в процессе «ловли льва». Полагая, что Я и Х - собственное значение и собственный вектор (s > г), можно записать
[Н - XZi - X2Z2 - ... - rZr] х =
fix2 - XiZXg - X2Z2X - ... - Xj-ZXg =
X„X ,1 -
X{MXj
Следовательно, Я« остается корнем видоизменной матрицы.
Свойство ортогональности, использованное в (20.14) и 20.17), доказывается следующим образом. Записываем равенства
К MXs = X,X„ K~MXr = XrXr.
(20.18) (20.19)
Умножая (20.18) на Х1м\ а (20.19) на Xlhf и выполняя затем операцию транспонирования в последнем уравнении (помня
при этом, что матрицы JiC~ и LcHMMeTpH4Hbi). получаем
xJmk~mx, = хХмх,.
(20.20) (20.21)
Если теперь вычесть (20.21) из (20.20), то в результате получим {Xs-Xr)XjMX, = 0. (20.22)
Так как в общем случае Xj ф %г, то должно выполняться равенство
Х1МХ, = 0. (20.23)
Пример программы
Обозначения переменных в подпрограмме EIGEN
Характеристическаяматрица (К М или М- К) Матрица масс (или жесткости) Требуемая точность определения собственного вектора
Максимально допустимое число итераций Количество определяемых собственных чисел Квадратный корень из обратной величины собственного значения, используемый вместе с матрицей i?" М для определения низших собственных частот