Решението на уравнение третия, четвъртия и петия градус на сла
Разтворът на уравнение 3, 4 и 5 градуса C ++
Формулите на степен 3
Линейни и квадратно уравнение с реални коефициенти се решават просто. За решаване на кубични уравнения може да отнеме тригонометрични формула Wyeth, програмен код заема около две дузини линии. Корените на уравнение х 3 + 2 + брадва BX + С = 0 са намерени функция където х трябва да масиви дължина 3.
В случая на три реални корени на функцията връща броя 3, корените си се връщат х [0], X [1] х [2].
Забележка 1. Корените не са непременно поръча!
Ако двете корените са същите, след това функцията връща числото 2, и х в масива са все още много три.
Ако функцията връща 1, тогава х [0] - корен и х [1] ± I * х [2] - чифт комплекс конюгат.
Забележка 2. поради закръгляване грешки двойка сложни конюгат корени с много малък имагинерна част понякога може да бъде валиден корен множество 2. Например, уравнението х 3 - 5x 2 + 8x - 4 = 0 корените на корени 1,2,2 получава 1,0 , 2.0 ± I * 9.6e-17. Ако имагинерната част на корена на модула е по-малко от 1e-14, самата функция SolveP3 замества един чифт на един реален двоен корен, но потребителят все пак трябва да се има предвид възможността за такава ситуация.
уравнение 4 степен
За решаването на четвъртата степен е по-добре да се вземе решение Декарт - Ойлер. Корените на уравнение 4 х 3 + брадва + BX 2 + СХ + г = 0 са функции чрез Тук х трябва да бъдат с дължина 4 масив.
връща броя 4, в случая на 4-реални корени, самите корени се връщат х [0], х [1] х [2] х [3].
В случай на 2 чифта реално или сложна функция конюгатни корени връща броя 2 х [0], X [1] - реални корени и х [2] ± I * х [3] - чифт комплекс конюгат.
Ако уравнението има два чифта сложни конюгат двойки нули, след това функцията връща 0, х [0] ± I * х [1] и Х [2] ± I * х [3] - самите корени.
Забележка 3. Числени експерименти показват, че в някои случаи, в резултат на грешката е доста голям, до 10 -12. Следователно, резултатите в края на истинските корени са определени от една единствена стъпка на метода на Нютон.
Например, за уравнението х * (х-1) * (х 0.0001) * (х 0.0002), без да се посочва грешка ще бъде от порядъка на 0,25 х 10 -9. изясняване порядъка на 10 -16.
уравнение 5 степен
Всички корените на уравнение пета степен е (х) = х 5 + брадва 4 + BX 3 + CX 2 + DX + е = 0 не превишава модул стойност BRD = 1 + макс (| а |, | б |, | в |, | г |, | д |).
Уравнението на пета степен винаги има поне един реален корен. За разположението му, тъй като интервал [-brd, BRD] направи 6 "интервал разполовяване." След това ще се уточни в основата на метода на Нютон.
Намирането на един реален корен x0. Ние разделя го оригиналния полином е (х) и да намерят корените на получената полином на четвърта степен.
Корените на полином F (X) са функции чрез Тук х трябва да бъдат с дължина 5 масив.
В случай на реални корени 5 връща номер 5, корените си се връщат х [0], х [1], X [2] х [3] х [4].
В случай 3 реалното и чифт сложна функция конюгат корени връща броя 3 х [0], X [1] х [2] - реални корени и х [3] ± I * х [4] - чифт комплекс конюгат.
Ако уравнението има два чифта сложни конюгат двойки нули, след това функцията връща 1, х [0] - корен и х [1] ± I * х [2]. х [3] ± I * х [4] - комплексни корени.
C ++ - модул
Модулът се състои от два файла, poly34.h, poly34.cpp. За работата си не изисква никакви допълнителни библиотеки. На стандарта включват-файлове само свързан math.h. Динамично разпределение на паметта не се използва.
Разтворът на кубични уравнения се прави в една функция SolveP3. За решаването на четвъртата степен са три допълнителни функции:
Първият служи за извличане на корен квадратен от комплексно число: а + I * S = SQRT (х + у I *).
Второ - за решаването на уравнението биквадратен, третият - за решаването на частични уравнения.
Забележка 4. Както в случая на кубични уравнения корен множество 2 или пара е много близо до реалните корени могат да бъдат показани като двойка сложни конюгат корени с малка имагинерна част.
За решаването на уравнения от степен 5 с помощта на функцията: