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 ()