Навигация
Категории
Линейная алгебра [4]
Программы для вычисления операций над матрицами, а так же для вычисления линейных преобразований.
Численное интегрирование [5]
Программы для вычисления определенных интегралов.
Численные методы [2]
Программы для проведения численных расчетов.
Калькуляторы [1]
Разные типы простых калькуляторов.
Физика [36]
Программы для решения задач по физике.
Уравнения [5]
Программы для вычисления корней уравнений.
Шифраторы [1]
Криптографические программы для шифрования текста.
Геодезические [1]
Программы для геологов - геодезистов.
Геометрические [7]
Программы для вычисления геометрических преобразований.
Графики [2]
Программы для построения графиков функций.
Ряды [1]
Программы для вычисления суммы ряда функции.
Разное [4]
Программы не относящиеся непосредственно к математическим вычислениям.
Примеры [17]
Решение разнообразных задач с примерами исходного кода.
Экономика [1]
Бухгалтерские и экономические программы, выполненные на разных языках программирования.
Новые статьи
Реклама
Главная » Статьи » Авторское ПО » Уравнения

Решение кубических уравнений методом Виета-Кардано

 


Программа умеет вычислять действительные и комплексные корни кубического уравнения.

 

Здесь представлен алгоритм для решения кубического уравнения методом Виета-Кардано. Программа написана для случая действительных коэффициентов (но корни могут быть комплексными).

 

Кубическое уравнение записывается в виде:

 

x3+a*x2+b*x+c=0
 

Для нахождения его корней, в случае действительных коэффициентов, вначале вычисляются:

 

Q=(a2-3b)/9,    R=(2a3-9ab+27c)/54
 

Далее, если R2<Q3, то уравнение имеет три действительных корня, исчисляющихся по формулам Виета:

 

t=acos(R/sqrt(Q3))/3
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,
B=Q/A
при A!=0 или B=0 при A=0.

 

Действительный корень будет:

 

x1=(A+B)-a/3
 

Комплексно-сопряженные корни:

 

x2,3=-(A+B)/2-a/3 + i*sqrt(3)*(A-B)/2

 

В том случае, когда A=B, то комплексно-сопряженные корни вырождаются в действительный:

 

x2=-A-a/3

 

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

 

перейти к программе с использование метода Ньютона

скачать

 

Категория: Уравнения | Добавил: bigsmoke (15 Июля 2012)
Просмотров: 4258 | Рейтинг: 5.0/2
Всего комментариев: 0
ComForm">
avatar
Топ-5 Программ
Решение кубических уравнений методом Виета-Кардано
Вычисление координат теодолитного хода
Калькулятор производных
Решение СЛАУ методом градиентного спуска
QR - разложение
Авторизация
Статистика