Другие языки программирования и технологии
может помочь мне написать программу на VBA? Благодарность не меньше 200р. Решение кубических уравнений!!!
пиши в агент
Вот доработай (нужно сделать проверку, что на выбранном участке есть корень, т. е. функция на концах интервала имеет разные знаки) . Это только метод уточнения. Участок локализации (интервал существования корня) не имеет отношения к численному методу половинного деления. Это просто перебор значений функции и проверка смены знака от.. . и до.. . с заданым шагом, пока не произойдет смена значений функции.
Sub iter()
Dim x, xn, xk, h As Double
'Задаем начальные значения
xn = CDbl(InputBox("Начальное значение"))
xk = CDbl(InputBox("Конечное значение"))
Dim a, b, c, d As Double
'Это коэффициенты уравнения
a = 1: b = 0: c = 0: d = 1
h = 0.01
If xn > xk Then
MsgBox "Не верно задан участок локализации корня"
Exit Sub
End If
newiter:
x = (xn + xk) / 2
y = a * x ^ 3 + b * x ^ 2 + c * x + d
If Abs(xk - xn) > h Then
If a * xn ^ 3 + b * xn ^ 2 + c * xn + d < 0 Then
If y < 0 Then
xn = x
Else
xk = x
End If
Else
If y > 0 Then
xn = x
Else
xk = x
End If
End If
DoEvents
GoTo newiter
End If
MsgBox x
End Sub
Sub iter()
Dim x, xn, xk, h As Double
'Задаем начальные значения
xn = CDbl(InputBox("Начальное значение"))
xk = CDbl(InputBox("Конечное значение"))
Dim a, b, c, d As Double
'Это коэффициенты уравнения
a = 1: b = 0: c = 0: d = 1
h = 0.01
If xn > xk Then
MsgBox "Не верно задан участок локализации корня"
Exit Sub
End If
newiter:
x = (xn + xk) / 2
y = a * x ^ 3 + b * x ^ 2 + c * x + d
If Abs(xk - xn) > h Then
If a * xn ^ 3 + b * xn ^ 2 + c * xn + d < 0 Then
If y < 0 Then
xn = x
Else
xk = x
End If
Else
If y > 0 Then
xn = x
Else
xk = x
End If
End If
DoEvents
GoTo newiter
End If
MsgBox x
End Sub
Похожие вопросы
- люди добрые помогите мне написать программу в паскале, метод Рунге Кутта. Математическое решение есть у меня
- Написать программу в VBA арифметической прогрессии в динамическом массиве.
- Написать программу в VBA:определить во введенном тексте количество слов,начинающиеся с заданной буквы.
- Помогите пожалуйста написать программу в с++
- Помогите пожалуйста написать функцию в VBA
- Напишите программу на языке программирования Паскаль, . которая вычисляет дискриминант квадратного уравнения
- Помогите пожалуйста написать программу на языке программирования AssemblerКто первый поможет сделать правильно10балов+50
- Помогите, пожалуйста, написать программу на делфи с ассемблерными вставками.
- Помогите пожалуйста написать программу на языке Borland С++ Builder
- Помогите, пожалуйста, написать программу на С++