Как найти корень уравнения в matlab?

Пользователь

от guillermo , в категории: Другие , год назад

Как найти корень уравнения в matlab?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от cade , год назад

@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 корень.