Упрощение выражений, подстановки и разложение на множетели

1. Упращение выражений – simple() и simplify(S)

Для упрощения выражений в MatLaвобщего видаиспользуются функции simple() и simplify(S).Функцияsimplify(S)реализует мощный алгоритм упрощениясимвольных выражений массива S, содержащих как тригонометрические, экспоненциальные и логарифмические функции, так и специальные. Алгоритм, заложенный в simplе(S),пытается получить выражение, которое представляется меньшим числом символов, чем исходное.Если упрощение невозможно, то возвращается исходное выражение. Например:

>>syms a b x >>V = [sin(х)^2 + соs(х)^2 log(a*b)]; >>simplify(V) ans = [ 1, log(a*b)] >>simplify((a^2 - 2*a*b + b^2) / (a - b)) ans = a – b >>

2. Расширение выражений – expand(S)

Для расширения (раскрытия скобок) выражений используется функция expand(S).Эта функция расширяет выражения, входящие в массив S. Ра­циональные выражения она раскладывает на простые дроби, поли­номы — на полиномиальные разложения и т. д. Функция работает со многими алгебраическими и тригонометрическими функциями. Например:

>>syms a b x >>S=[(x + 2)*(x + 3)*(x + 4) sin(2*x)]; >>expand(S) ans = [ x^3 + 9*x^2 + 26*x + 24 , 2*sin(x)*cos(x)] >>expand(sin(a + b)) ans = sin(a)*cos(b) + cos(a)*sin(b) >>expand((a + b)^:3) ans = а^3 + 3*а^2*Ь + 3*а*Ь^2 + Ь^3 >>

3.Операция подстановки– subs( )

Одной из самых эффектных и часто используемых операций символьной математики является операция подстановки. Она реализуется функцией subs( ), имеющей несколько различных форм записи:

· subs(S) – заменяет в символьном выражении S все переменные их символьными значениями, которые берутся из вычисляемой функции или рабочей области системы MatLaв.

· subs(S,NEW)– заменяет все свободные символьные переменные в S из списка NEW.

· subs (S, OLD, NEW) – заменяет OLD на NEW в символьном выражении S. При одинаковых размеров массивов OLD и NEW замена идет поэле­ментно. Если S OLD - скаляры, a NEW – числовой массив или массив ячеек, то скаляры расширяются до массива результатов.

>> syms a b x у >>subs(x - y, y, l) ans = x - l >> subs(sin(x) + cos(y), [x,y], [a,b]) ans = sin(a)+cos(b) >>

4. Обращение функции – finverse

Часто возникает необходимость в задании функции, обратной по от­ношению к заданной функции f . Для этого в Symbolic имеется две формы функ­ции обращения inverse:

· g = finverse(f) – возвращает функцию, обратную к f. Считается, что f – функция одной переменной, например 'х'. Тогда g(f(x)) = х.

· g = finverse(f,v) – возвращает функцию, обратную к f, относитель­но заданной переменной v, так что g(f(v)) = v. Эта форма исполь­зуется, если f – функция нескольких переменных.

>> sym х; >> finverse(sinh(x)) ans = asnnh(x) >> finverse(exp(x)) ans = log(x)

5. Суперпозиция функций – compose( )

· compose(f, g) — возвращает f(g(y)), где f = f(x) и g = g(y). Незави­симые переменные х и у находятся с помощью функции findsym( ).

 

6. Функция разложения в ряд – taylor используется функцияtaylor( )

Наши рекомендации