![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
![]()
Написала прогу, которая должна выводить собственные значения, но она выходить из цикла раньше времени на первой итерации. Исходная матрица A преобразовывается в разложение вида StS и для того чтобы найти собственные значения этой матрицы используется алгоритм:
A=st*s; T=s*st Идет проверка матрицы T на то, чтобы элементы выше главной диагонали были <= заданной точности eps. Если эти числа больше точности, то уже матрицу Т преобразовывают в разложение, то есть она становится на место матрицы A и тд..когда уже проходит условие то собственные значения это элементы главной диагонали. Так вот, у меня цикл, который проверяет данное условие. Но он считает только один раз и выходит из цикла. несмотря на то, что не проходит условие. Помогите пожалуйста разобраться... ![]() Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Для начала: массивы нумеруются с 0
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
![]()
p51x , я поменяла 1 на 0...проблема все та же остается, не думаю что от того как я пронумеровала массив зависит то, что у меня вылетает из цикла раньше времени
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
А <= поменяли на < ?
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
![]()
конечно
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]() Код:
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
![]()
я как-то проверяла по этой формуле правильность разложения и видимо забыла убрать
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Вот мы и дошли до условия выхода из цикла. В первом посте вы пишите, что цикл вам надо прервать, если все элементы выше главной диагонали меньше точности. А в коде пишите:
Код:
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 14.04.2015
Сообщений: 40
|
![]()
Не понимаю..
мне нужно, чтобы каждый элемент матрицы выше главной диагонали был меньше точности...разве я не правильно написала? |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
А обнуление r где? Чему там элементы массива равны?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
среднегеометрические значения столбцов матрицы | Vania19961712 | Visual C++ | 1 | 23.02.2015 10:40 |
собственные значения по методу Данилевского | ddlovato | Помощь студентам | 0 | 24.04.2012 17:42 |
собственные значения по методу Данилевского | ddlovato | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 24.04.2012 17:31 |
Собственные векторы и собственные значения в EXCEL | Boro85 | Microsoft Office Excel | 1 | 11.02.2010 20:58 |