Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2013, 19:02   #1
Рагнара
Новичок
Джуниор
 
Регистрация: 04.05.2013
Сообщений: 1
По умолчанию преобразовать метод гаусса с выбором главного элемента

Здравствуйте! Пробую писать программу для расчета установившегося режима сети(для курсового), в конце расчетов используется метод гаусса с обратным ходом, но для исключения деления на ноль надо переставить строки местами. Вот частный пример, который я использовала, но НАДО СДЕЛАТЬ ЕГО УНИВЕРСАЛЬНЫМ...чтоб не для каждой строки отдельно, а для всех сразу, с учетом условия. (т.к если конфигурация сети не из четырех узлов, а более, то прога не увидит) Пожалуйста, помоги дописать!!
'Perestanovka Xp, n, y, s, h, p, a, q
'-------------------------------------------------------
ReDim Xp(n, 1) As Complex
'------------------------------------------------------
'задаем новую матрицу
For i = 1 To n Step 1
Set Xp(i, 1) = New Complex
Xp(i, 1).re = Worksheets("лист5").Cells(i + 56, 1)
Xp(i, 1).im = Worksheets("лист5").Cells(i + 56, 2)
Next i

'перестановка если базисом является первый узел
If iUb = 1 Then
For i = 1 To n Step 1
Worksheets("лист5").Cells(i + 56, 1) = Xp(i, 1).re
Worksheets("лист5").Cells(i + 56, 2) = Xp(i, 1).im
Next i
Else
If iUb = 2 Then
y = Xp(1, 1).re
Xp(1, 1).re = Xp(2, 1).re
Xp(2, 1).re = y
s = Xp(1, 1).im
Xp(1, 1).im = Xp(2, 1).im
Xp(2, 1).im = s
For i = 1 To n Step 1
Worksheets("лист5").Cells(i + 56, 1) = Xp(i, 1).re
Worksheets("лист").Cells(i + 56, 2) = Xp(i, 1).im

Next i
Else
If iUb = 3 Then
y = Xp(1, 1).re
Xp(1, 1).re = Xp(3, 1).re
Xp(3, 1).re = y

h = Xp(1, 1).re
Xp(1, 1).re = Xp(2, 1).re
Xp(2, 1).re = h

s = Xp(1, 1).im
Xp(1, 1).im = Xp(3, 1).im
Xp(3, 1).im = s

p = Xp(1, 1).im
Xp(1, 1).im = Xp(2, 1).im
Xp(2, 1).im = p

For i = 1 To n Step 1
Worksheets("Ëèñò2").Cells(i + 56, 1) = Xp(i, 1).re
Worksheets("Ëèñò2").Cells(i + 56, 2) = Xp(i, 1).im

Next i
Else
If iUb = 4 Then
y = Xp(1, 1).re
Xp(1, 1).re = Xp(4, 1).re
Xp(4, 1).re = y

h = Xp(1, 1).re
Xp(1, 1).re = Xp(2, 1).re
Xp(2, 1).re = h

a = Xp(2, 1).re
Xp(2, 1).re = Xp(3, 1).re
Xp(3, 1).re = a

s = Xp(1, 1).im
Xp(1, 1).im = Xp(4, 1).im
Xp(4, 1).im = s

p = Xp(1, 1).im
Xp(1, 1).im = Xp(2, 1).im
Xp(2, 1).im = p

q = Xp(2, 1).im
Xp(2, 1).im = Xp(3, 1).im
Xp(3, 1).im = q

For i = 1 To n Step 1
Worksheets("Ëèñò5").Cells(i + 56, 1) = Xp(i, 1).re
Worksheets("Ëèñò5").Cells(i + 56, 2) = Xp(i, 1).im

Next i

End If
End If
End If
End If

Next
Рагнара вне форума Ответить с цитированием
Старый 10.05.2013, 04:10   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см. вложение
Вложения
Тип файла: rar MGaus.rar (11.4 Кб, 16 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 10.05.2013 в 21:16.
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить ошибки в программе метод гаусса с выбором главного элемента Никита1992 Помощь студентам 0 08.05.2012 16:43
Метод Гаусса с выбором главного элемента Fantom.as Общие вопросы C/C++ 2 17.02.2011 19:35
Метод Гаусса с выбором главного элемента Fantom.as Помощь студентам 1 16.02.2011 12:48
Метод Гаусса с выбором главного элемента для решения СЛАУ lira_slava Помощь студентам 3 21.05.2009 20:56
Решение СЛАУ методом Гаусса с выбором главного элемента МаXsim Помощь студентам 4 21.10.2008 19:04