Xreferat.com » Рефераты по информатике и программированию » Численные методы решения систем линейных уравнений

Численные методы решения систем линейных уравнений

= 1440

Width = 375

End

Begin VB.Label Метка1

Caption = $"frmSlay.frx":0000

BeginProperty Font

Name = "Times New Roman"

Size = 12

Charset = 204

Weight = 700

Underline = 0 'False

Italic = 0 'False

Strikethrough = 0 'False

EndProperty

Height = 855

Left = 120

TabIndex = 0

Top = 120

Width = 7575

End

End

Attribute VB_Name = "frmAriel"

Attribute VB_GlobalNameSpace = False

Attribute VB_Creatable = False

Attribute VB_PredeclaredId = True

Attribute VB_Exposed = False

Private Sub cmdClean_Click()

Dim с As Byte

с = MsgBox("Хотите очистить?", 33, "Очистка")

If с = 1 Then

txtA11.Text = ""

txtA12.Text = ""

txtA13.Text = ""

txtA21.Text = ""

txtA22.Text = ""

txtA23.Text = ""

txtA31.Text = ""

txtA32.Text = ""

txtA33.Text = ""

txtB1.Text = ""

txtB2.Text = ""

txtB3.Text = ""

txtMKX.Text = ""

txtMGX.Text = ""

txtMOMX.Text = ""

txtMKY.Text = ""

txtMGY.Text = ""

txtMOMY.Text = ""

txtMKZ.Text = ""

txtMGZ.Text = ""

txtMOMZ.Text = ""

End If

End Sub


Private Sub cmdCount_Click()

If (Val(txtA11) * Val(txtA22) * Val(txtA33) + Val(txtA12) * Val(txtA23) * Val(txtA31) + Val(txtA21) * Val(txtA32) * Val(txtA13) - Val(txtA13) * Val(txtA22) * Val(txtA31) - Val(txtA12) * Val(txtA21) * Val(txtA33) - Val(txtA23) * Val(txtA32) * Val(txtA11)) = 0 Then

Dim g As Byte

g = MsgBox("Решить данную систему методом Крамера и методом обратной матрицы невозможно", 32, "Определитель системы равен 0")

Else

ds = (Val(txtA11) * Val(txtA22) * Val(txtA33) + Val(txtA12) * Val(txtA23) * Val(txtA31) + Val(txtA21) * Val(txtA32) * Val(txtA13) - Val(txtA13) * Val(txtA22) * Val(txtA31) - Val(txtA12) * Val(txtA21) * Val(txtA33) - Val(txtA23) * Val(txtA32) * Val(txtA11))

dx = (Val(txtB1) * Val(txtA22) * Val(txtA33) + Val(txtA12) * Val(txtA23) * Val(txtB3) + Val(txtB2) * Val(txtA32) * Val(txtA13) - Val(txtA13) * Val(txtA22) * Val(txtB3) - Val(txtA12) * Val(txtB2) * Val(txtA33) - Val(txtA23) * Val(txtA32) * Val(txtB1))

dy = (Val(txtA11) * Val(txtB2) * Val(txtA33) + Val(txtB1) * Val(txtA23) * Val(txtA31) + Val(txtA21) * Val(txtB3) * Val(txtA13) - Val(txtA13) * Val(txtB2) * Val(txtA31) - Val(txtB1) * Val(txtA21) * Val(txtA33) - Val(txtA23) * Val(txtB3) * Val(txtA11))

dz = (Val(txtA11) * Val(txtA22) * Val(txtB3) + Val(txtA12) * Val(txtB2) * Val(txtA31) + Val(txtA21) * Val(txtA32) * Val(txtB1) - Val(txtB1) * Val(txtA22) * Val(txtA31) - Val(txtA12) * Val(txtA21) * Val(txtB3) - Val(txtB2) * Val(txtA32) * Val(txtA11))

txtMKX.Text = (dx / ds)

txtMKY.Text = (dy / ds)

txtMKZ.Text = (dz / ds)

txtMOMX.Text = (((Val(txtA22) * Val(txtA33) - Val(txtA23) * Val(txtA32)) / ds) * Val(txtB1) + ((Val(txtA13) * Val(txtA32) - Val(txtA12) * Val(txtA33)) / ds) * Val(txtB2) + ((Val(txtA12) * Val(txtA23) - Val(txtA13) * Val(txtA22)) / ds) * Val(txtB3))

txtMOMY.Text = (((Val(txtA23) * Val(txtA31) - Val(txtA21) * Val(txtA33)) / ds) * Val(txtB1) + ((Val(txtA11) * Val(txtA33) - Val(txtA13) * Val(txtA31)) / ds) * Val(txtB2) + ((Val(txtA13) * Val(txtA21) - Val(txtA11) * Val(txtA23)) / ds) * Val(txtB3))

txtMOMZ.Text = (((Val(txtA21) * Val(txtA32) - Val(txtA22) * Val(txtA31)) / ds) * Val(txtB1) + ((Val(txtA12) * Val(txtA31) - Val(txtA11) * Val(txtA32)) / ds) * Val(txtB2) + ((Val(txtA11) * Val(txtA22) - Val(txtA12) * Val(txtA21)) / ds) * Val(txtB3))

End If

If Val(txtA11) = 0 Then

Dim gg As Byte

gg = MsgBox("Решить данную систему методом Гаусса невозможно. Поменяйте уравнения местами, и попробуйте снова", 48, "Коэффициент при х в первом уравнении равен 0")

Else

s1 = ((Val(txtB3) * Val(txtA11)) - (Val(txtB1) * Val(txtA31)))

s2 = ((Val(txtA22) * Val(txtA11)) - (Val(txtA12) * Val(txtA21)))

s3 = ((Val(txtB2) * Val(txtA11)) - (Val(txtB1) * Val(txtA21)))

s4 = ((Val(txtA32) * Val(txtA11)) - (Val(txtA12) * Val(txtA31)))

s5 = ((Val(txtA33) * Val(txtA11)) - (Val(txtA12) * Val(txtA31)))

s6 = s2

s7 = ((Val(txtA23) * Val(txtA11)) - (Val(txtA13) * Val(txtA21)))

s8 = s4

s12 = s1 * s2

s34 = s3 * s4

s56 = s5 * s6

s78 = s7 * s8

sh = s12 - s34

sz = s56 - s78

If sz = 0 Then

Dim с As Byte

с = MsgBox("Делить на ноль нельзя.", 48, "Ошибка")

Else

txtMGZ.Text = (sh / sz)

End If

sy1 = s3

sy2 = s2

sy3 = ((Val(txtA23) * Val(txtA11)) - (Val(txtA13) * Val(txtA21)))

sy4 = s2

sy12 = (sy1) / (sy2)

sy34 = (sy3) / (sy4)

txtMGY.Text = ((sy12) - ((sy34) * (sh / sz)))

sx1 = ((Val(txtB1)) / (Val(txtA11)))

sx2 = ((Val(txtA13)) / (Val(txtA11)))

sx3 = ((Val(txtA12)) / (Val(txtA11)))

txtMGX.Text = ((sx1) - ((sx2) * (sh / sz)) - ((sx3) * ((sy12) - ((sy34) * (sh / sz)))))

End If


End Sub


Private Sub cmdExit_Click()

Dim a As Byte

a = MsgBox("Хотите выйти?", 33, "Выход")

If a = 1 Then

End

End If

End Sub


Польза введения расчетов.


Огромное количество численных методов ставит актуальной задачей не столько создание новых, сколько исследование и классификацию старых, выявление лучших. Анализ влияния ошибок показал, что между лучшими методами нет принципиальной разницы с точки зрения устойчивости к ошибкам округления. Создание мощных компьютеров существенно ослабило значение различия между методами (в таких характеристиках, как объём требуемой памяти, количество арифметических операций). В этих условия наиболее предпочтительными становятся те методы, которые не очень отличаются от лучших по скорости и удобству реализации на компьютерах, позволяют решать широкий класс задач как хорошо, так и плохо обусловленных и давать при этом оценку точности вычислительного решения.

В MathCAD и Excel численные методы представляют собой те же самые общепринятые ручные расчёты, но выполняемые не человеком, а компьютером, что понижает возможность ошибки до нуля. Программа на Visual Basic намного упрощает задачу. С помощью единожды созданной программы можно решать системы линейных уравнений, вводя минимум значений. Также эта программа может быть использована не только вами, но и простыми пользователями.


Литература

1) М. Додж, К. Кината, К. Стинсон "Эффективная работа в Microsoft Excel 97", издательство "Питер"; Санкт-Петербург, 1998г.

2) Е.К. Овчаренко, О.П. Ильина, Е.В. Балыбердин "Финансово - экономические расчеты в Excel", Москва, 1999 г.

3) Йорг Шиб, Excel 7,0: Сотни полезных рецептов, Дюссельдорф-Киев-Москва- Санкт-Петербург, 1997 г.

4) Симонович С.В. и др. Информатика Базовый курс: Учеб, для технических вузов. СПБ: Изд. «Питер», 2004.–640с

5) Калиткин Н.Н. и др. Численные методы. М.: Наука, 1982

6) Турчак Л.И. Основы численных методов. М.: Наука, 1987

7) Дьяконов В.П. Система MathCAD. М.: Радио и связь, 1993


64

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: