Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример решения на ПЭВМ. Программное обеспечение




Программное обеспечение

Для вычисления нескольких наибольших или наименьших собственных значений задачи на собственные значения с вещественными матрицами A и B и соответствующих им собственных векторов в составе математической библиотеки Matlab’а имеется функция eigs. Обращение к ней осуществляется командой

[x,l]=eigs(a,b,m,s)

В качестве параметров в этой функции используются:

a квадратная матрица размером n на n элементов, содержащая элементы матрицы A, которая образует задачу на собственные значения;
b квадратная матрица размером n на n элементов, содержащая элементы матрицы B, которая формирует обобщённую задачу на собственные значения – необязательный параметр. При его отсутствии решается классическая задача на собственные значения для матрицы A;
m количество отыскиваемых собственных векторов и собственных значений – необязательный параметр. При его отсутствии ищутся все собственные значения и собственные векторы;
s параметр, определяемый перечень отыскиваемых собственных значений и собственных векторов – необязательный параметр. При его отсутствии ищутся самые большие по абсолютной величине собственные значения и их собственные векторы. Этот параметр может принимать значения: 'lm' или 'sm' – искать соответственно наибольшие или наименьшие по модулю собственные значения; 'lа' или 'sa'– искать соответственно наибольшие или наименьшие по модулю собственные значения действительных симметричных матриц; 'be' – искать равное количество наибольших и наименьших по модулю собственных значений действительных симметричных матриц. Если m – нечётно, то количество наибольших собственных значений на 1 больше количества наименьших; 'lr' или 'sr' – искать собственные значения несимметричных и комплексных матриц соответственно с наибольшими или наименьшими действительными частями; '1i' или 'si'– искать собственные значения несимметричных и комплексных матриц соответственно с наибольшими или наименьшими мнимыми частями.

Результатом обращения к функции eigs являются прямоугольная матрица x размером n на m элементов, в столбцах которой находятся найденные собственные векторы, и квадратная диагональная матрица l размером m на m элементов, диагональные элементы, которой являются найденными собственными значениями.

Условия задачи. Решить заданную ниже задачу на собственные значения

,

найдя не менее 4-х наименьших по модулю собственных значений и соответствующих им собственных векторов.

Решение. Решение поставленной задачи представлено в виде приведённой ниже программы, реализующей обращение к функции eigs математической библиотеки Matlab’а для отыскания 4-х векторов.

n=10; m=4;

fr=fopen('Lr_09.dan','r');

t=fgetl(fr); a=fscanf(fr,'%f',[n,n]);

fclose(fr);

[x,l]=eigs(a,m,'sa');

fw=fopen('Lr_09.res','w');

fprintf(fw,'\nСобств. значения-первые %2i \n', m);

for i=1:m; fprintf(fw,'%8.3f',l(i,i)); end;

fprintf(fw,'\nСобств. векторы-первые %2i \n', m);

for i=1:n;

fprintf(fw,'%8.4f',x(i,:)); fprintf(fw,'\n');

end;

fclose(fw);

Программа вводится в память ЭВМ и отлаживается. Исходные данные к программе подготавливаются в отдельном файле с именем Lr_09.dat в следующем виде:

Матрица A

6.0 2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

2.0 6.0 2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0

1.0 2.0 6.0 2.0 1.0 0.0 0.0 0.0 0.0 0.0

0.0 1.0 2.0 6.0 2.0 1.0 0.0 0.0 0.0 0.0

0.0 0.0 1.0 2.0 6.0 2.0 1.0 0.0 0.0 0.0

0.0 0.0 0.0 1.0 2.0 6.0 2.0 1.0 0.0 0.0

0.0 0.0 0.0 0.0 1.0 2.0 6.0 2.0 1.0 0.0

0.0 0.0 0.0 0.0 0.0 1.0 2.0 6.0 2.0 1.0

0.0 0.0 0.0 0.0 0.0 0.0 1.0 2.0 6.0 2.0

0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 2.0 6.0

Результаты работы программы, помещённые в файл с именем Lr_09.res, приведены ниже




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 364; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.