Линейная алгебра
[4]
Программы для вычисления операций над матрицами, а так же для вычисления линейных преобразований.
|
Численное интегрирование
[5]
Программы для вычисления определенных интегралов.
|
Численные методы
[2]
Программы для проведения численных расчетов.
|
Калькуляторы
[1]
Разные типы простых калькуляторов.
|
Физика
[36]
Программы для решения задач по физике.
|
Уравнения
[5]
Программы для вычисления корней уравнений.
|
Шифраторы
[1]
Криптографические программы для шифрования текста.
|
Геодезические
[1]
Программы для геологов - геодезистов.
|
Геометрические
[7]
Программы для вычисления геометрических преобразований.
|
Графики
[2]
Программы для построения графиков функций.
|
Ряды
[1]
Программы для вычисления суммы ряда функции.
|
Разное
[4]
Программы не относящиеся непосредственно к математическим вычислениям.
|
Примеры
[17]
Решение разнообразных задач с примерами исходного кода.
|
Экономика
[1]
Бухгалтерские и экономические программы, выполненные на разных языках программирования.
|
Главная » Статьи » Авторское ПО » Уравнения |
Здесь представлен алгоритм для решения кубического уравнения методом Виета-Кардано. Программа написана для случая действительных коэффициентов (но корни могут быть комплексными).
Кубическое уравнение записывается в виде:
Для нахождения его корней, в случае действительных коэффициентов, вначале вычисляются:
Далее, если R2<Q3, то уравнение имеет три действительных корня, исчисляющихся по формулам Виета:
x1=-2*sqrt(Q)cos(t)-a/3 x2=-2*sqrt(Q)cos(t+(2*pi/3))-a/3 x3=-2*sqrt(Q)cos(t-(2*pi/3))-a/3 В том случае, когда R2>=Q3, то действительных корней один (общий случай) или два (вырожденные случаи). Кроме действительного корня, имеется два комплексно-сопряженных. Для их нахождения вычисляются (формула Кардано): A=-sign(R)[|R|+sqrt(R2-Q3)]1/3,
Действительный корень будет:
x1=(A+B)-a/3
Комплексно-сопряженные корни:
x2,3=-(A+B)/2-a/3 + i*sqrt(3)*(A-B)/2
В том случае, когда A=B, то комплексно-сопряженные корни вырождаются в действительный:
x2=-A-a/3
Формулы Кардано и Виета требуют применения специальных функций, и в том случае, когда требуется провести большую серию вычислений корней кубического уравнения с не слишком сильно меняющимися коэффициентами, более быстрым алгоритмом является использование метода Ньютона или других итерационных методов (с нахождением начального приближения по формулам Кардано-Виета).
перейти к программе с использование метода Ньютона
| |
Просмотров: 4258 | Рейтинг: 5.0/2 |
Всего комментариев: 0 | |