![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 15.10.2014
Сообщений: 5
|
![]()
Есть уравнение произвольной степени (например, n ).
Надо сделать программу, отыскивающую все его корни, включая комплексные. Т.е., задаем вначале степень уравнения, затем его коэффициенты, запускаем - решаем. Очень нужна помощь! (если можно, то в Pascal(c# или c++) |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
![]()
Уважаемый Viraj, хочу Вас огорчить, но это невозможно. Может над Вами просто пошутили - выдав такое задание.
Дело в том, что ещё древние математики знали, что можно решить уравнение 1-й и 2-й степени. В средние века было найдено решение уравнений 3-й и 4-й степени. И всё. А 200 лет назад математик Галуа доказал, что уравнение более высоких порядков не решаемы. Более подробно можете посмотреть здесь (1:40 мин - 13:00 мин): https://www.youtube.com/watch?v=slaH2Gu7Nn0 Но если Вам все таки удатца найти общенную формулу для решения уравнений n-степени, то это произведет революцию в математике. Последний раз редактировалось ura_111; 30.05.2016 в 16:47. |
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 06.01.2011
Сообщений: 369
|
![]() Цитата:
Программирую по необходимости
|
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Мы такое учили когда-то.
Нужно выделять квадратный трёхчлен (x^2+px+q). Потом делить на него исходный, подбирая p и q, пока не получим точный делитель. Решить квадратное уравнение. Оставшееся уравнение (частное от деления) опять делить на новый трёхчлен. В общем прилично писанины и разбирательств алгоритмов. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Плохо вас учили. Не трехчлены нужно выделять, а (x - корень). И вся проблема в подборе корня... Можно попытаться подобрать целый корень среди делителей свободного члена и т.д. Но в общем случае (без приближения корней, без спец. вида и т.д.) - это полный перебор от -бесконечности до +бесконечности, а потом комплексные...
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Нет.
Для исходного многочлена подбирался делитель в виде D(x)=(x^2+px+q) такой, чтобы без остатка (с минимальным остатком) делить исходный многочлен. Для этого делителя находили корни (возможно, комплексные). Потом исходный многочлен делили на делитель D(x), получая новый многочлен. И для нового многочлена всё повторялось. Для подбора p и q пользовались теоремой Виета, и какими-то итерационными методами. Всё быстро сходилось. Полагаю, что именно такое решение и требуется ТС. ----------------------------------------------- А что мы спорим? Кому нужен этот топик? Если ТС нужна программа, пусть рассказывает больше о способах решения, прикладываем методичку. Если же ТСу на лекциях ничего не объясняли, препод тупой, методичек нет, то предлагаю взять любой код с форума и выдавать за решение. Последний раз редактировалось FPaul; 31.05.2016 в 08:34. Причина: пространные рассуждения о смысле жизни, лайфхаках и всём таком... |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Ну что вы придумываете? Чтобы найти ваш многочлен (по той же Виете) надо знать 2 корня + какой смысл усложнять себе задачу и делить на трехчлен, когда можно поделить на простейшие (х - корень1) и (х - корень2)?
http://www.cleverstudents.ru/equatio...er_degree.html http://festival.1september.ru/articles/314216/ http://festival.1september.ru/articles/646258/ |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Не согласен. Но спорить не буду.
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,504
|
![]()
Да численным методом - это просто. Поиск нулей, например методом половинного деления.
Вот только , во-первых : с этим придется повозиться. Создавать комплексный тип, и т.д. И во- вторых - как-то надо определяться с диапазоном поиска. Не искать же от - ∞ до +∞ . |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
То во-вторых и с учетом во-первых и будет основной проблемой для любого итерационного метода - как определиться с оценкой диапазона расположения корня.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нахождения корней уравнения на си | Nalia.dolpfin | Помощь студентам | 3 | 16.06.2013 16:02 |
нахождения корней уравнения | Veryn4ik1993 | C# (си шарп) | 1 | 17.03.2013 12:38 |
определение корней уравнения | Dellinger | Помощь студентам | 0 | 11.10.2011 19:51 |
поиск корней уравнения | шурег | Общие вопросы Delphi | 8 | 15.12.2010 11:41 |
Методы нахождения корней уравнения | werser | Помощь студентам | 8 | 20.02.2008 22:41 |