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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2009, 23:31   #1
vfrc
 
Регистрация: 29.10.2009
Сообщений: 6
По умолчанию Помогите исправить ошибку.

Помогите, пожалуйста, исправить программу для решения системы линейных уравнений методом Зейделя. (Если она вообще корректно составлена).

Sub metod_Zeydelya()

Dim a11 As Double, a21 As Double, a31 As Double
Dim a12 As Double, a22 As Double, a32 As Double
Dim a13 As Double, a23 As Double, a33 As Double
Dim b1 As Double, b2 As Double, b3 As Double
Dim x1 As Double, x2 As Double, x3 As Double
Dim x1k As Double, x2k As Double, x3k As Double
Dim eps As Double, n As Integer


Sheets("Лист1").Select

Cells(1, 6) = "Ввод исходных данных"
Cells(10, 6) = "Вывод результатов"
Cells(3, 1) = "a11 ="
Cells(4, 1) = "a21 ="
Cells(5, 1) = "a31 ="
Cells(3, 4) = "a12 ="
Cells(4, 4) = "a22 ="
Cells(5, 4) = "a32 ="
Cells(3, 7) = "a13 ="
Cells(4, 7) = "a23 ="
Cells(5, 7) = "a33 ="
Cells(3, 10) = "b1 ="
Cells(4, 10) = "b2 ="
Cells(5, 10) = "b3 ="
Cells(12, 1) = "x1 ="
Cells(12, 4) = "x2 ="
Cells(12, 7) = "x3 ="
Cells(12, 10) = "n ="
Cells(8, 5) = "eps="


a11 = Cells(3, 2)
a21 = Cells(4, 2)
a31 = Cells(5, 2)
a12 = Cells(3, 5)
a22 = Cells(4, 5)
a32 = Cells(5, 5)
a13 = Cells(3, 8)
a23 = Cells(4, 8)
a33 = Cells(5, 8)
b1 = Cells(3, 11)
b2 = Cells(4, 11)
b3 = Cells(5, 11)
eps = Cells(8, 6)


n = 1

x1k = 0
x2k = 0
x3k = 0

metka:

x1 = 1 / a11 * (b1 - a12 * x2k - a13 * x3k)
x2 = 1 / a22 * (b2 - a21 * x1 - a23 * x3k)
x3 = 1 / a33 * (b3 - a31 * x1 - a32 * x2)

If Abs(x1 - x1k) < eps And Abs(x2 - x2k) < eps And Abs(x3 - x3k) < eps Then


Cells(12, 2) = x1
Cells(12, 5) = x2
Cells(12, 8) = x3
Cells(12, 11) = n

Else

x1k = x1
x2k = x2
x3k = x3

n = n + 1

GoTo metka

End If

End Sub
vfrc вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку girkoff Общие вопросы C/C++ 2 28.10.2009 13:02
Помогите исправить ошибку masha17 Общие вопросы C/C++ 3 22.10.2009 14:21
Помогите исправить ошибку sergoss Общие вопросы Delphi 2 14.02.2009 09:59
помогите исправить ошибку. RUSLAN13 Помощь студентам 1 25.12.2008 17:22
Помогите исправить ошибку Булат Общие вопросы Delphi 3 25.04.2008 10:01