КАТЕГОРИИ: Архитектура-(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) В качестве параметров в этой функции используются:
Результатом обращения к функции 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; Просмотров: 388; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |