@guillermo Если уравнение представляет собой полином (или многочлен), то конечно удобнее всего найти корни через функцию roots(), задав значения коэффициентов
1 2 |
% 2*x^2-16*x+14=0; roots([2 -16 14]); |
получим в ответе 7 и 1.
Если уравнение задано в общем виде, то проще всего воспользоваться символьными вычислениями и решателем vpasolve()
1 2 3 4 5 |
syms x f1(x) = 2*x^2-1/x+exp(x); vpasolve(f1) fplot(f1); grid on; saveas(gca, 'out1.png'); |
В ответе получим высокой точности корень: ans = 0.48082057254304785525398632869782
График этой функции:
Также можно найти нули функции при помощи функции fzero(), но у этого решения есть некоторые ограничения -- функция не должна уходить в бесконечность и даёт максимум 1 корень.