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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2012, 21:37   #1
ксю03
Новичок
Джуниор
 
Регистрация: 09.12.2012
Сообщений: 2
По умолчанию Итерационный метод Зейделя

составляю программу для решения слау методом Зейделя
Console.WriteLine("Введите значение e")
Dim e = CDbl(Console.ReadLine())
Dim a(3, 3) As Integer
Console.WriteLine("Введите значения коэффициентов")
For i = 0 To 3
For j = 0 To 3
a(i, j) = CInt(Console.ReadLine())
Next j
Next i

Dim b(3, 0) As Integer
Console.WriteLine("Введите значения b")
For i = 0 To 3
For j = 0 To 0
b(i, j) = CInt(Console.ReadLine())
Next j
Next i

If Math.Abs(a(0, 0)) > Math.Abs(a(0, 1)) + Math.Abs(a(0, 2)) + Math.Abs(a(0, 3)) And Math.Abs(a(1, 1)) > Math.Abs(a(1, 0)) + Math.Abs(a(1, 2)) + Math.Abs(a(1, 3)) And Math.Abs(a(2, 2)) > Math.Abs(a(2, 0)) + Math.Abs(a(2, 1)) + Math.Abs(a(2, 3)) And Math.Abs(a(3, 3)) > Math.Abs(a(3, 0)) + Math.Abs(a(3, 1)) + Math.Abs(a(3, 2)) Then
Dim x1, x2, x3, x4 As Double
x2 = 1
x3 = 1
x4 = 1
x1 = (b(0, 0) - a(0, 1) * x2 - a(0, 2) * x3 - a(0, 3) * x4) / a(0, 0)

x2 = (b(1, 0) - a(1, 0) * x1 - a(1, 2) * x3 - a(1, 3) * x4) / a(1, 1)
x3 = (b(2, 0) - a(2, 0) * x1 - a(2, 1) * x2 - a(2, 3) * x4) / a(2, 2)
x4 = (b(3, 0) - a(3, 0) * x1 - a(3, 1) * x2 - a(3, 2) * x3) / a(3, 3)
'y1=x1
Dim y1, y2, y3, y4 As Double
y1 = (b(0, 0) - a(0, 1) * x2 - a(0, 2) * x3 - a(0, 3) * x4) / a(0, 0)
y2 = (b(1, 0) - a(1, 0) * x1 - a(1, 2) * x3 - a(1, 3) * x4) / a(1, 1)
y3 = (b(2, 0) - a(2, 0) * x1 - a(2, 1) * x2 - a(2, 3) * x4) / a(2, 2)
y4 = (b(3, 0) - a(3, 0) * x1 - a(3, 1) * x2 - a(3, 2) * x3) / a(3, 3)
While Math.Abs(y4 - x4) > e And Math.Abs(y3 - x3) > e And Math.Abs(y2 - x2) > e And Math.Abs(y1 - x1) > e
x1 = (b(0, 0) - a(0, 1) * y2 - a(0, 2) * y3 - a(0, 3) * y4) / a(0, 0)

x2 = (b(1, 0) - a(1, 0) * y1 - a(1, 2) * y3 - a(1, 3) * y4) / a(1, 1)

x3 = (b(2, 0) - a(2, 0) * y1 - a(2, 1) * y2 - a(2, 3) * y4) / a(2, 2)

x4 = (b(3, 0) - a(3, 0) * y1 - a(3, 1) * y2 - a(3, 2) * y3) / a(3, 3)

y1 = (b(0, 0) - a(0, 1) * x2 - a(0, 2) * x3 - a(0, 3) * x4) / a(0, 0)

y2 = (b(1, 0) - a(1, 0) * x1 - a(1, 2) * x3 - a(1, 3) * x4) / a(1, 1)

y3 = (b(2, 0) - a(2, 0) * x1 - a(2, 1) * x2 - a(2, 3) * x4) / a(2, 2)

y4 = (b(3, 0) - a(3, 0) * x1 - a(3, 1) * x2 - a(3, 2) * x3) / a(3, 3)
End While

Console.WriteLine("y1={0:f5}", y1)
Console.WriteLine("y2={0:f5}", y2)
Console.WriteLine("y3={0:f5}", y3)

Console.WriteLine("y4={0:f5}", y4)





Else : Console.WriteLine("Эту систему невозможно решить методом Зейделя")

End If
Console.ReadKey()
Скажите, пожалуйста, где ошибка в цикле.Заранее спасибо)
ксю03 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
метод простых операций и метод гаусса зейделя tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 1 23.09.2012 14:46
Pascal итерационный метод Tent Помощь студентам 1 20.12.2011 18:50
итерационный метод phasha Microsoft Office Excel 4 14.11.2011 13:05
Метод Зейделя с++ Fackey Помощь студентам 3 29.01.2011 16:26
Метод итераций и метод Зейделя prikolist Общие вопросы C/C++ 40 18.06.2009 17:40