Решите полиномиальное уравнение степени 4

Я получил это уравнение после того, как решил эту проблему здесь

Я хотел бы решить это с помощью Matlab.


person Educ    schedule 01.02.2015    source источник
comment
Вероятно, потому что ваш вопрос был тривиальным для решения. Простой поиск в Google мог бы дать вам ответ. FWIW, я не минусовал, так как, очевидно, дал ответ :)   -  person rayryeng    schedule 01.02.2015
comment
так что я могу сделать, чтобы избежать этого отрицательного голоса, не могли бы вы отредактировать, чтобы решить эту проблему, пожалуйста   -  person Educ    schedule 01.02.2015
comment
@Educ: прочитайте stackoverflow.com/help/how-to-ask для получения совета - здесь важно, что вы делаете не показывать, что вы пробовали, и не объяснять, что мешает вам выполнить работу самостоятельно. Так что кто-то должен догадаться, что не так. В этом случае относительно легко просто дать вам работающий фрагмент кода, чтобы вы получили свой ответ, но обычно этот тип вопроса, когда вы просто ставите проблему (выглядит как домашняя задача), тогда это не так. вам легко помочь — и, возможно, лучшая помощь, которую вы можете получить, — это совет заняться учебой, потому что, переходя сразу к ответу, вы узнаете гораздо меньше.   -  person Neil Slater    schedule 01.02.2015
comment
@Educ - Это вообще не имеет к тебе никакого отношения. Пониженные голоса предназначены для тех вопросов, которые не показывают каких-либо исследовательских усилий, и этот вопрос (к сожалению) попадает в эту категорию. Как я уже говорил, если бы вы выполнили простой поиск, вы бы сразу же нашли ответ. Когда я зашел в Google, я набрал solve polynomial equations matlab, и первая ссылка дала мне ответ на то, что вы искали. Как правило, вопросы, которые можно решить с помощью простого запроса в поисковой системе, в конечном итоге получают отрицательные отзывы и закрываются, поскольку они бесполезны. Однако, пожалуйста, примите один из наших ответов, когда будете готовы!   -  person rayryeng    schedule 02.02.2015
comment
@ Даниэль, это был год, когда я задал этот вопрос, я хочу удалить его, я получил отрицательный голос, поэтому нет необходимости принимать эти ответы.   -  person Educ    schedule 16.02.2016


Ответы (2)


Функция roots возвращает полиномиальные корни. Просто передайте коэффициенты:

roots([1,-6,-36,216,-324])
person Daniel    schedule 01.02.2015

Используйте solve из набора инструментов символьной математики MATLAB:

>> syms x;
>> y = solve('x^4-6*x^3-36*x^2+216*x-324==0')

y =

                                       7.7446378738164683022795580182987
                                      -6.3360292312480789716536487435108
 2.2956956787158053346870453626061 - 1.1543655214730370697054534567177*i
 2.2956956787158053346870453626061 + 1.1543655214730370697054534567177*i

Первая строка кода объявляет, что x — это символическая математическая переменная, которую мы можем использовать с набором инструментов. Затем мы используем solve и вставляем строку, описывающую уравнение, которое видно в вашем сообщении. Имейте в виду, что когда мы умножаем коэффициенты, вам нужно использовать оператор *, а для равенства нам нужно использовать двойное равно, или ==. На выходе вы должны получить четыре корня, как того требует основная теорема алгебры. Вы увидите, что у вас есть два действительных корня, а также два мнимых корня.

В качестве альтернативы вы можете использовать roots в MATLAB, указав вектор коэффициентов начиная с самого высокого порядка до самого низкого согласно ответу Дэниела.

person rayryeng    schedule 01.02.2015