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

  • 17 февр. 2015 г.
  • 361 Слова
МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ




Кафедра информатики
Лабораторная работа №1
по теме
«Методы решения нелинейных уравнений»





Вариант №24
Москва 2014

1.Задание для решения нелинейных уравнений:

уравнение f(x)=(x/2)*ln(x-1)
метод решения нелинейных уравнений для ручного расчета – итерации;
метод решения нелинейных уравнений для расчета на ПК –половинного деления.
2. Отделение корней:


















3. «Ручной» расчет трех итераций(см. приложение)

4. Расчет на ПК
Метод половинного деления
1.Схема алгоритма2. Программный код
Option Strict On
Option Explicit On
Imports System.Math
Public Class Form1
Function vvod(ByVal T As TextBox) As Double
Return CDbl((T.Text))
End FunctionSub vivodList(ByVal Z As Double, ByVal LB As ListBox)
LB.Items.Add(Format(Z, "0.000000"))
End Sub
Public Function f(ByVal x As Double) As Double
Return Cos(x / 2) *Log(x - 1)
End Function
Public Sub reshenie(ByVal a As Double, ByVal b As Double, ByRef ttt As Double, ByRef c As Double, ByRef n As Integer)
Dim z, x As Double
c = (a + b)/ 2
n = 0
z = f(x)
Do While (b - a) > ttt

n = n + 1

If f(c) * f(b) < 0 Then
a = c
Else
b = cEnd If
vivodList(n, ListBox1)
vivodList(a, ListBox2)
vivodList(b, ListBox3)
vivodList(f(a), ListBox4)
vivodList(f(b),ListBox5)
c = (a + b) / 2
vivodList(c, ListBox6)
vivodList(f(c), ListBox7)
vivodList(b - a, ListBox8)
Loop

End Sub

Private SubButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a, b, ttt, c As Double
Dim n As Integer
a = vvod(TextBox1)
b =...
tracking img