Matlab: найти диапазон для полиномиальных уравнений - PullRequest
1 голос
/ 22 сентября 2010

У меня есть многочлен y(x)=a0+a1*x^1+a2*x^2+a3*x^3+a4*x^4+......+an*x^n. степени n, где ai - действительное число.

У меня вопрос, есть ли в Matlab функция, которую я могу использовать, чтобы найти диапазон x для всех y(x)>0?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2010

Я не могу придумать функцию, но я бы сделал следующее:

  1. Найдите корни вашего полинома с помощью roots.
  2. Найдите градиент y (x) для наименьшего корня.
  3. Если оно увеличивается, то при следующем корне оно будет уменьшаться, и наоборот.
  4. Теперь вы можете создавать интервалы, в которых y (x) является положительным.

Кроме того, если вы хотите визуализировать свои ответы, вы можете построить свой полином с помощью ezplot. Например. ezplot('5*x^3 + 4*x^2 + 3*x + 2');

2 голосов
/ 22 сентября 2010

Нет, нет явной функции, которая делает это. Однако, если вы хотите получить численное решение, это возможно.

Вы можете найти корни у (х). (подсказка: корни)

Что происходит между любой парой корней? Что происходит выше и ниже самых больших и самых маленьких настоящих корней? Что вы можете сделать с любыми сложными корнями?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...