Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.97
vfrc92
0 / 0 / 0
Регистрация: 13.06.2011
Сообщений: 2
#1

Посчитать корни уравнения 4-ой степени - C#

16.06.2011, 23:14. Просмотров 4932. Ответов 12
Метки нет (Все метки)

Короче я в си# ваще ноль нужно посчитать все корни уравнения 4-ой степени типа ax^4+bx^3+cx^2+dx+t=0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2011, 23:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Посчитать корни уравнения 4-ой степени (C#):

Корни уравнения 5-й степени - C#
Нужно решить уравнение 5-ой степени с использованием метода итераций. Как вывести на экран все 5 корней? в программе выводит только 1 , и...

Найти корни уравнения - C#
Здравствуйте, форумчане. Возникла проблема при решении уравнения, а, именно, нужно, чтобы Y выдавал только целые числа. Вот код: ...

Найти корни уравнения - C#
Здравствуйте, форумчане. Пытаюсь отсеить корни в следующем задании: sin(x) = 2006 * x. Насколько я понял должно быть 3 корня,...

Вычислить корни квадратного уравнения - C#
Помогите пожалуйста с написанием кода. 1.Вычислить корни квадратного уравнения ax2 + bx + с = 0 с заданными коэффициентами а, b и с...

Найдите корни заданного уравнения - C#
Дана строка, которое содержит квадратное уравнение, состоящая из цифр, символа умножения '*', символа 'x' неизвестной, символов '+', '-',...

Вычислить корни квадратного уравнения - C#
Вычислить корни квадр-о уравнения ax(квадрат)+bx+c=0 , заданного коэфициентами a,b,c Помогите пожалуйста ! не могу решить эту...

12
chessman1
165 / 94 / 1
Регистрация: 13.03.2011
Сообщений: 402
16.06.2011, 23:54 #2
Метод какой?
0
vfrc92
0 / 0 / 0
Регистрация: 13.06.2011
Сообщений: 2
19.06.2011, 20:17 #3
метод можно использовать любой какой только можно
0
ushim
169 / 170 / 14
Регистрация: 01.06.2011
Сообщений: 507
19.06.2011, 23:52 #4
Ну это понятно, что тебе нужен готовый код. А сам что-нибудь сделал?
0
chessman1
165 / 94 / 1
Регистрация: 13.03.2011
Сообщений: 402
20.06.2011, 00:34 #5
Цитата Сообщение от vfrc92 Посмотреть сообщение
Короче я в си# ваще ноль нужно посчитать все корни уравнения 4-ой степени типа ax^4+bx^3+cx^2+dx+t=0
Возьмите мат.метод и вперёд. Хотя - если мне не изменяет память - уравнения 4-ой степени
решаются карандашом.
0
Moonlight#
107 / 107 / 8
Регистрация: 24.02.2011
Сообщений: 325
Завершенные тесты: 1
20.06.2011, 00:43 #6
Найти все действительные решения данного биквадратного уравнения
0
Ciberst
507 / 420 / 18
Регистрация: 16.12.2010
Сообщений: 939
20.06.2011, 00:52 #7
Тут речь не о биквадратных уравнениях, а об уравнениях четвертой степени
0
Moonlight#
107 / 107 / 8
Регистрация: 24.02.2011
Сообщений: 325
Завершенные тесты: 1
20.06.2011, 00:55 #8
извиняюсь, перепутал))
0
Ciberst
507 / 420 / 18
Регистрация: 16.12.2010
Сообщений: 939
20.06.2011, 00:59 #9
А решать придется методом наверное Декарта— Эйлера. только мне кажется не каждый человек смог бы решить его методом....
0
Elman12
6 / 6 / 1
Регистрация: 10.12.2010
Сообщений: 64
20.06.2011, 15:18 #10
Общий аналитический метод решения алгебраических уравнений четвертой степени
Валентин Подвысоцкий

Уравнение:
X4 + TX2 + PX + Q = 0
(1)
имеет четыре корня X1, X2, X3, X4.
Известно, что:
X1 + X2 + X3 + X4 = 0,
(2)
X1X2 + X1X3 + X1X4 + X2X3 + X2X4 + X3X4 = T,
(3)
X1X2X3 + X1X2X4 + X1X3X4 + X2X3X4 = –P,
(4)
X1X2X3X4 = Q.
(5)
Путем простых алгебраических преобразований из соотношений (2), (3), (4) получаем:
X1X2 + X3X4 = T + (X1 + X2)2,
(6)
(X1 + X2)(X1X2 – X3X4) = P.
(7)
Составляем квадратное уравнение:
Y2 – (X1X2+X3X4)Y + X1X2X3X4 = 0,
(8)
где Y1 = X1X2, Y2 = X3X4.
Используя ф-лы (5), (6), (7) и обозначая A = (X1 + X2)2 перепишем уравнение (8) в виде:
Y2 – (T + A)Y + Q = 0.
Решая уравнение (8) получаем:
X1X2 = 1/2(T + A2 + ([T + А]2 – 4Q)1/2),
(9)
X3X4 = 1/2(T + A2 – ([T + A]2 – 4Q)1/2).
(10)
Таким образом, используя ф-лы (9), (10) получаем:
X1X2 – X3X4 = ([T + A]2 – 4Q)1/2.
(11)
Учитывая, что A1/2 = X1 + X2 перепишем формулу (7) в виде:
X1X2 – X3X4 = Р/А1/2.
(12)
Подставляя в ф-лу (12) ф-лу (11) получаем
P/A1/2 = ([T + A]2 – 4Q)1/2.
(13)
Путем простых алгебраических преобразований из ф-лы (13) получаем кубическое уравнение относительно переменной А:
A3 + 2TA2 + (T2 – 4Q)A – P2 = 0.
(14)
Таким образом решение уравнение четвертой степени (1) сводится к решению кубического уравнения (13), где A = (X1 + X2)2 и двух квадратных уравнений:
X2 – (X1 + X2)X + X1X2 = 0,
(15)
X2 – (X3 + X4)X + X3X4 = 0.
(16)
Используя ф-лы (9), (10) и учитывая, что X1 + X2 = – (X3+X4) перепишем ф-лы (15), (16) в виде:
X2 – A1/2X + 1/2(T+A + ([T + A]2 – 4Q)1/2) = 0,
(17)
X2 + A1/2X + 1/2(T+A – ([T + A]2 – 4Q)1/2) = 0.
(18)
Полное уравнение четвертой степени X4 + KX3 + TX2 + PX + Q = 0 сводится уравнению (1) путем замены переменной X на переменную Y = X + K/4.
0
Space Odyssey
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 2
23.03.2012, 10:33 #11
С чего Вы взяли, что Подвысоцкий знает метод решения ?
Это же просто гиперактивный шарлатан http://scipeople.ru/group/4313/
Следует выбирать научные источники знаний :-)
0
Learx
1044 / 851 / 86
Регистрация: 31.03.2010
Сообщений: 2,479
23.03.2012, 12:50 #12
гораздо проще будет создать список кандидатов в рациональные корни и методом подстановки найти те, которые являются решением.
про кандидаты в корни
0
Space Odyssey
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 2
24.03.2012, 10:31 #13
Рациональных корней может не быть, поэтому метод подстановки в общем случае не годится. Вещественный корень любого уравнения легко найти методом половинного деления. Вопрос том, как найти комплексные корни ?

Подставляем в исходное уравнение комплексное выражение x+i*y , затем выделяем вещественную и дробную части, затем обе приравниваем нулю. Получаем систему полиномиальных уравнений вида P(x,y)=0 и Q(x,y)=0 .
Чтобы найти ее решение, ищем точку минимума функции f(x,y) = P^2(x,y)+Q^2(x,y) . Для нахождения точки минимума рекомендуется метод градиентного или координатного спуска. Если в полученной точке значение функции больше нуля, то перезапускаем алгоритм с другой начальной итерацией.

Так получите один корень - вещественный или комплексный, не суть важно. Чтобы найти остальные 3 корня, перезапускаете алгоритм минимизации с другими начальными итерациями (т.е. начальными значениями x , y). Перебор начальных итераций можно сделать случайным - при заранее известном числе корней (в данном случае 4 корня) все равно достаточно быстро получите все корни.

Наконец, систему уравнений P(x,y)=0 и Q(x,y)=0 можно тупо решать методом Ньютона. Для этого преобразовать к виду P(x,y) + x = x и Q(x,y) + y = y , после чего запустить итерационный процесс (т.е. рекурсию) x_{n+1} = P(x_n, y_n) + x_n , y_{n+1} = P(x_n, y_n) + y_n , начиная с любой начальной итерации x_0 , y_0 . Опять же, случайно перебирая стартовые значения x_0 и y_0 , получите все корни исходного уравнения. Метод Ньютона пожалуй проще всего.
0
24.03.2012, 10:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2012, 10:31
Привет! Вот еще темы с ответами:

Найти корни квадратного уравнения - C#
помогите пожалуйста, ax^2+bx+c =0 нужно найти x1 и x2. искал на форуме, нигде не нашел нужного мне ответа :(

Найти корни квадратного уравнения - C#
Помогите с решением вопросов для экзамена. Спасибо! Дано квадратное уравнение ax^2+bx+c=0, где a,b,c – действительные числа. Выяснить...

Решение уравнения 4 степени - C#
Всем доброго времени суток. У меня есть задание - решить уравнение 4 степени вида x^4+a*x^3+b*x^2+c*x+d=0. Изначально преподавателем был...

Корни квадратного уравнения: проверить имеющиеся - C#
Проверить истинность высказывания: «Квадратное уравнение A·x2 + B·x + C = 0 с данными коэффициентами A, B, C имеет вещественные корни». ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru