Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matlab_лек.8_Символьные вычисл_Текст.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
183.22 Кб
Скачать

2.9.4. Графическое представление функций.

Визуализация символьной функции одной переменной осуществляется при помощи ezplot. Самый простой вариант использования ezplot состоит в указании символьной функции в качестве единственного входного аргумента; при этом в графическое окно выводится график функции на отрезке [-2, 2] :

» f = sym( 'x^2*sin(x)' ) ;

» ezplot(f)

При создании такого графика автоматически создается соответствующий заголовок:

По умолчанию в качестве отрезка, на котором строится график, принимается интервал [-2, 2]. Вторым аргументом может быть задан вектор с границами отрезка, на котором требуется построить график функции ezplot(f, [-3 2]) (см. ниже левый рисунок).

Функция ezplot имеет некоторые отличия от своего аналога - функции fplot, применяемой к числовым функциям. В частности, возможно указание символьной функции, зависящей от двух аргументов (см. правый рисунок):

» z = sym('x^2 + у^3 ' );

» ezplot(z, [-2 1 -3 4])

Примечание :

Пределы изменения определяются названиями аргументов. Первые два числа соответствуют первому по алфавиту аргументу, а последние- второму, например в ezplot(z, [-2 1 -3 4]), где z = sym['х^2 + а^3'), считается, что “а” изменяется от -2 до 1, а “х” - от -3 до 4.

При помощи ezplot возможно так же отображение параметрически заданных функций [1, с. 758].

2.9.5. Упрощение и преобразование символьных выражений [1, с. 760].

Symbolic Math Toolbox имеет ряд сервисных функций, предназначенных для различных преобразований символьных выражений. Например:

- collect - “приведение подобных” по коэффициентам для неизвестных с одинаковыми степенями:

collect(x^2*y + y*x - x^2 - 2*x) возвращает (y-1)*x^2+(y-2)*x ;

если f = -1/4*x*exp(-2*x)+3/16*exp(-2*x) , то

collect(f,exp(-2*x)) возвращает (-1/4*x+3/16)*exp(-2*x) ;

- expand разлагает выражения без приведения подобных слагаемых:

expand((x+1)^3) возвращает x^3+3*x^2+3*x+1

expand(sin(x+y)) возвращает sin(x)*cos(y)+cos(x)*sin(y)

если v = [exp(x + y) (x+y)^2] , то

expand(v) возвращает [exp(x)*exp(y), x^2+2*x*y+y^2]

- factor - разложение символьных полиномов на множители, если получающиеся множители имеют рациональные коэффициенты:

factor(x^2+2*x*y+y^2) возвращает (x+y)^2 ;

- simple - алгоритм, заложенный в этой функции, пытается получить выражение, которое представляется меньшим числом символов, чем исходное, последовательно применяя все функции упрощения Toolbox.

- simplify - реализует мощный алгоритм упрощения выражений, содержащих как тригонометрические, экспоненциальную и логарифмическую функции, так и специальные: гипергеометрическую, Бесселя и гамма-функцию. Кроме того, simplify способна преобразовывать выражения, содержащие символьное возведение в степень, суммирование и интегрирование.

- subs - позволяет произвести подстановку одного выражения в другое. В общем виде subs вызывается с тремя входными аргументами: именем символьной функции, переменной, подлежащей замене, и выражением, которое следует подставить вместо переменной. Функция subs, иногда, облегчает ввод громоздких символьных выражений [1, с.762].