Графики функций двух переменных

Для отображения функций двух переменных следует:

1. Сгенерировать матрицы с координатами узлов сетки на прямоугольной области определения функции.

2. Вычислить функцию в узлах сетки и записать полученные значения в матрицу.

3. Использовать одну из графических функций MatLab.

4. Нанесение на график дополнительной информации.

Сетка генерируется при помощи команды meshgrid, вызываемой с двумя переменными. Аргументами являются векторы, элементы которых соответствуют сетке на прямоугольной области построения функции (если область квадрат, то используется один аргумент).

Например: Построим график функции на прямоугольной области определения хÎ[-1; 1], yÎ[0; 1].

Сначала подготовим с координатами узлов сетки и значениями функции:

>> [x, y]= meshgrid(-1:0.05:1, 0:0.05:1);

>>z=4*sin(2*pi*x).*cos(1.5*pi*y);

Для построения каркасной поверхности, используется функция mesh, вызываемая с тремя аргументами:

>> mesh (x, y, z)

Кроме этого, существуют несколько команд, которые меняют внешний вид графика:

hidden off – делает каркасную поверхность «прозрачной», добавив скрытую часть;

hidden on – возвращает графику прежний вид;

shading flat – убирает каркасные линии;

shading interp – получает поверхность, плавно залитой цветом, зависящим от значений функций.

 

Вычисление всех корней полинома

Полином в MatLab задается вектором его коэффициентов. Например, для определения полинома следует использовать команду

>> p=[1 0 3.2 -5.2 0 0.5 1 -3];

Число элементов вектора, т.е. число коэффициентов полинома, всегда на единицу больше его степени, нулевые коэффициенты должны содержаться в векторе.

Функция polyval предназначена для вычисления значения полинома от некоторого аргумента:

>> polyval(p,1)

ans=

-2.5000

Нахождение всех корней полиномов осуществляется при помощи функции roots, в качестве аргумента которой указывается вектор с коэффициентами полинома. Функция roots возвращает вектор корней полинома.

 

Задание символьных переменных

Поскольку переменные системы Matlab по умолчанию не определены и традиционно задаются как векторные, матричные, числовые и т. д., то есть не имеющие отношения к символьной математике, для реализации символь­ных вычислений нужно создать специальные символьные переменные. В простейшем случае их можно определить как строковые переменные, заключив имена в апострофы.

Пример: Сумма квадратов синуса и косинуса переменной ‘x’ равна 1.

>> sin(‘x’)^2+cos(‘x’)^2

ans =

Для создания символьных переменных или объектов используется функ­ция sym:

• S = sym (А) - возвращает символьный объект S класса 'sym' для вход­ного параметра А. Если А — строка, то будет получена символьная стро­ка или символьная переменная, а если А — это число (скаляр) или мат­рица, то будут получены их символьные представления;

• х = sym('x') — возвращает символьную переменную с именем 'х'.

Для создания группы символьных объектов служит функция syms:

• syms argl arg2 ... — создает группу символьных объектов, подобную выражениям

argl = sym('argl'); arg2 = sym('arg2');

• syms argl arg2 ... real и syms argl arg2 ... unreal — создают груп­пы символьных объектов с вещественными (real) и невещественными (unreal) значениями. Последнюю функцию можно использовать для отмены задания вещественности объектов.

 

Вычисление производных

Для вычисления в символьном виде производных от выражения S служит функция dif f, записываемая в формате dif f (S, 'v') или dif f (S, sym(' v')). Она возвращает символьное значение первой (n=1) производной от символьно­го выражения или массива символьных выражений S по переменной v. Эта функция возвращает .

 

diff (S, n) — возвращает n-ю (n — целое число) производную от симво­льного выражения или массива символьных выражений S по перемен­ной V.

• diff (S, ' v' , n) и diff(S,n,'v') —возвращает n-ю производную S no переменной v, то есть значение .

Пример:

>> x=sym(‘x’); y=sym(‘y’);

>> diff(x^y)

ans=

x^y*y/x

Вычисление интегралов

В практической работе часто возникает необходимость вычисления неоп­ределенных и определенных интегралов вида и .

Здесь f(x) — подынтегральная функция независимой переменной х, а - нижний и b - верхний пределы интегрирования для определенного интеграла.

• int(S) - возвращает символьное значение неопределенного интеграла от символьного выражения или массива символьных выражений S по пе­ременной, которая автоматически определяется функцией findsym. Если S - скаляр или матрица, то вычисляется интеграл по переменной 'х'.

• int (S, v) — возвращает неопределенный интеграл от S по переменной v.

• int (S, a, b) — возвращает определенный интеграл от S с пределами ин­тегрирования от а до b, причем пределы интегрирования могут быть как символьными, так и числовыми.

• int(S,v,a,b) — возвращает определенный интеграл от S по перемен­ной v с пределами от а до b.

Пример:

>> x=sym(‘x’); y=sym(‘y’);

>> int(x^2, x)

ans=

1/3*x^3

Вычисление пределов

Вычисление пределов функций представляет собой важный раздел мате­матического анализа.

Для вычисления пределов аналитически (символьно) заданной функции F(x) служит функция limit, которая записывается в следующих вариантах:

• limit (F, х, а) — возвращает предел символьного выражения F в точке х®а;

• limit (F, a) — возвращает предел для независимой переменной, опреде­ляемой функцией findsym;

• limit (F) — возвращает предел при а=0;

• limit (F, х, а, 'right') или limit (F,x, a, 'left') —возвращает пре­дел в точке а справа или слева.

Пример:

>> syms a x

>> limit(sin(a*x)/(a*x))

ans=