Пример 6.2.4-13. Найти корень уравнения с помощью функции fzero( ) и использовать дополнительные параметры этой функции.

Пример 6.2.4-13
» [x,f,e_flag,inform]=fzero('x.*exp(-)+sin(x)',[3,4]) x = 3.2665 f= 2.0817e-016 e_flag = inform = iterations: 8 funcCount: 8 algorithm: 'bisection, interpolation'

Обратите внимание на то, что для достижения очень высокой точности по­требовалось всего 8 итераций. Простое деление отрезка пополам для дости­жения такой же точности потребовало бы намного больше итераций.

Условие обнаружения интервала, на концах которого функция принимает значения разных знаков, является принципиальным для алгоритма, исполь­зованного в функции fzero(). Даже в таких тривиальных уравнениях, как х2= 0, обычно не удается найти решение.

Для символьного (аналитического) решения уравнений в MatLab используется функция solve(), которая представляется в следующем виде: solve('f(x)',x), solve('f(x)'), где: 'f(x)' – решаемое уравнение, записанное в одиночных кавычках и представленное в произвольной форме; x – искомая символьная неизвестная (syms x).

Рассмотрим технологию определения корня уравнения с помощью функции solve( ) на примерах.

 

Пример 4.2.4-14. Найти решение уравнения 2x–3(a–b)=0 в символьном виде.

Пример 6.2.4-14
>> syms x >> y=solve(‘2^x-3*(a-b)=0’) y = log((3*a-3*b)/log(2)) >>

Пример 4.2.4-15. Решить уравнение 2x–4∙x + 3=0 аналитически.

Пример 6.2.4-15
>> syms x >> y=solve(‘2^x-4*x+3=0’) y = 1.418 3.413 >>

 

Функция в ряде случаев позволяет определить все корни уравненияf(x) = 0 без указания начальных значений x или областей изоляции корней.

Функция solve( ) имеет следующий недостаток. Она не требует информации о начальном значении корня или области его изоляции. Поэтому в случае трансцендентных уравнений и в ряде других случаев, она не находит всех корней уравнения.

 

Пример 4.2.4-16. Решить уравнение 2x–3(a–b)=0, где a – независимая переменная.

Пример 6.2.4-16
>> syms a >> y=solve(‘2^x-3*(a-b)=0’, a) y = 1/3*2^x+b >>

6.2.5. Тестовые задания по теме
«Методы решения нелинейных уравнений»