Смекни!
smekni.com

Символьные вычисления (стр. 2 из 2)

- Функция limit (F, a) автоматически определяет независимую переменную, например t, с помощью функции findsym(F) и затем вычисляется предел функции F(t) при t->a.

- Функция limit(F) предполагает по умолчанию в качестве предельной точки a=0.

- Функции limit (F, x, a, ’right’) и limit (F, x, a, ’left’) вычисляют соответственно правосторонний и левосторонний пределы.

Примеры.

>>syms x a t h

>>limit (sin(x)/x)

ans=1

>>limit((x‑2)/(x^2–4), 2)

ans=1/4

>>limit((1+2*t/x)^(3*x), x, inf)

ans=exp (6*t)

>>limit (1/x, x, 0,’right’)

ans=inf

>>limit (1/x, x, 0,’left’)

ans=-inf

>>limit((sin (x+h) – sin(x))/h, h, 0)

ans=cos(x)

v=[(1+a/x)^x, exp(-x)]

>>limit (v, x, inf, ’left’)

ans=[exp(a), 0]

Функция diff – выполняет дифференцирование функции одной переменной

Синтаксис

diff(S)

diff (S, ’v’)

diff (S, sym(‘v’))

diff (S, n)

diff (S, ’v’, n)

diff (S, n, ’v’)

- Функция diff(S) автоматически определяет независимую переменную с помощью функции findsym(S) и затем выполняет соответствующее дифференцирование.

- Функция diff (S, ’v’) и diff (S, sym(‘v’)) дифференцирует символьное выражение S по переменной, указанной в ‘v’.

- Функции diff (S, n), diff (S, ’v’, n), diff (S, n, ’v’) дифференцируют n раз символьное выражение S по переменной, указанной в ‘v’.

- Если S матрица, то операция дифференцирования применяется к каждому элементу матрицы.

Примеры

>>syms x t

>>diff (sin(x^2))

ans=2*cos (x^2)*x

>>diff (t^6,6)

ans=720

Функция int – выполняет интегрирование функции одной переменной

Синтаксис

R=int(S)

R=int (S, v)

R=int (S, a, b)

R=int (S, v, a, b)

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

- Функция int (S, v) возвращает неопределенный интеграл от S по переменной v.

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

- Функция int (S, v, a, b) возвращает определенный интеграл от S по переменной v с пределами интегрирования от a до b.

Примеры

>> x=sym('x');

>> int (x^2, x)

ans =

1/3*x^3

>> int (sin(x)^3, x)

ans =

-1/3*sin(x)^2*cos(x) – 2/3*cos(x)

>> int (log(2*x), x)

ans =

log (2*x)*x-x

>> int((x^2–2)/(x^3–1), x, 1,2)

ans =

– inf

>> int((x^2–2)/(x^3–1), x, 2,5)

ans =

-2/3*log(2)+2/3*log(31)+2/3*3^(1/2)*atan (11/3*3^(1/2)) – 2/3*log(7) – 2/3*3^(1/2)*atan (5/3*3^(1/2))

>> int([x^3 sin(x) exp(x)], x)

ans =

[1/4*x^4, – cos(x), exp(x)]

Функция taylor – служит для получения разложений аналитических функций в ряд Тейлора (и Маклорена)

Синтаксис

taylor(f)

taylor (f, n)

taylor (f, a)

taylor (f, x)

- Функция taylor(f) возвращает шесть первых членов ряда Маклорена (ряд Тейлора в точке x=0). В любом разложении можно задавать число членов ряда n, точку a, относительно которой ищется разложение, и переменную x, по которой ищется разложение, например taylor (f, n, x, a).

- Функция taylor (f, a) возвращает ряд Тейлора в окрестности точки a.

- Функция taylor (f, x) возвращает ряд Тейлора для переменной x, определяемой функцией findsym.

Примеры

>> x=sym('x');

>> F=sin(x);

>> taylor(F)

ans =

x‑1/6*x^3+1/120*x^5

>> taylor (F, 10)

ans =

x‑1/6*x^3+1/120*x^5–1/5040*x^7+1/362880*x^9

>> taylor (exp(x), 1)

ans =

>> taylor (cos(x), – pi/2,6)

ans =

x+1/2*pi‑1/6*(x+1/2*pi)^3+1/120*(x+1/2*pi)^5

Функция yacobian – вычисляет матрицу Якоби

Синтаксис

yacobian (f, v)

- Функция yacobian (f, v) возвращает матрицу Якоби для скаляра или вектора f по вектору переменных v. Каждый (i, j) – й элемент матрицы представляет собой частную производную ∂fi/∂vj.

Примеры

>> v=[x, y, z];

>> J=jacobian (F, v)

J =

[2*x, 0, 0]

[1, 1/z, – y/z^2]

[z, 0, x]

>> v=[x; y];

>> J=jacobian (F, v)

J =

[2*x, 0]

[1, 1/z]

[z, 0]

>> J=jacobian (x*y, v)

J =

[y, x]

Функция symsum – вычисляет аналитическое значение суммы ряда

Синтаксис

symsum(S)

symsum (S, v)

symsum (S, a, b)

- Функция symsum(S) возвращает символьное значение суммы бесконечного ряда по переменной, найденной автоматически с помощью функции findsym.

- Функция symsum (S, v) возвращает сумму бесконечного ряда по переменной v.

- Функция symsum (S, a, b) возвращает конечную сумму ряда в пределах номеров слагаемых от a до b.

Примеры

>> x=sym('x');

>> symsum (x^2)

ans =

1/3*x^3–1/2*x^2+1/6*x

>> symsum (1/x^4)

ans =

-1/6*Psi (3, x)

>> symsum (1/x^4,1,5)

ans =

14001361/12960000

>> symsum([x, x^2, x^3], 1,5)

ans =

[15, 55, 225]

Функция solve – решает системы алгебраических уравнений и одиночных уравнений

Синтаксис

solve (expr1, expr2,…, exprN, var1, var2,…, varN)

solve (expr1, expr2,…, exprN)

- Функция solve (expr1, expr2,…, exprN, var1, var2,…, varN) возвращает значения переменных varI, при которых соблюдаются равенства, заданные выражениями exprI. Если в выражениях не используются знаки равенства, то полагается exprI=0.

- Функция solve (expr1, expr2,…, exprN) аналогична предшествующей функции, но переменные, по которым ищется решение, определяются функцией fimdsym.

Примеры

>> syms x y;

>> solve (x^3–1, x)

ans =

[1]

[-1/2+1/2*i*3^(1/2)]

[-1/2–1/2*i*3^(1/2)]

>> solve (x^2‑x‑9, x)

ans =

[1/2+1/2*37^(1/2)]

[1/2–1/2*37^(1/2)]

>> syms a b c;

>> solve (a*x^2+b*x+c)

ans =

[1/2/a*(-b+(b^2–4*a*c)^(1/2))]

[1/2/a*(-b – (b^2–4*a*c)^(1/2))]

>> S=solve ('x+y=3', 'x*y^2=4', x, y)

S =

x: [3x1 sym]

y: [3x1 sym]

>> S.x

ans =

[4]

[1]

[1]

>> S.y

ans =

[-1]

[2]

[2]

>> solve ('sin(x)=0.5', x)

ans =

52359877559829887307710723054658

Функция dsolve – решает дифференциальные уравнения в форме Коши

Синтаксис

dsolve (‘eqn1’, ‘eqn2’,…)

- Функция dsolve (‘eqn1’, ‘eqn2’,…) возвращает аналитическое решение системы дифференциальных уравнений с начальными условиями. Они задаются равенствами eqnI.

Примеры

>> dsolve ('D2x=-2*x')

ans =

C1*sin (2^(1/2)*t)+C2*cos (2^(1/2)*t)

>> dsolve ('D2y=-2*x+y', 'y(0)=1', 'x')

ans =

2*x+C1*sinh(x)+cosh(x)

4. Графические возможности

Функция ezplot – строит графики символьно заданной функций

Синтаксис

ezplot(f)

ezplot (f, xmin, xmax)

ezplot (f, [xmin xmax])

ezplot (f, [xmin xmax], fig)

- Функция ezplot(f) строит график символьно заданной функции f(x) независимой переменной ‘x’ в интервале [-2*pi 2*pi].

- Функции ezplot (f, xmin, xmax) и ezplot (f, [xmin xmax]) позволяют задать диапазон изменения независимой переменной x от xmin до xmax.

- Функция ezplot (f, [xmin xmax], fig) обеспечивает спецификацию с помощью параметра fig.

Примеры

>> ezplot ('tan(x)', 0,20)

>> grid on

Рис. 1 Графические возможности функции ezplot

Функция ezcontour – строит контурные графики функций вида f (x, y)

Синтаксис

ezcontour(f)

ezcontour (f, domain)

ezcontour(…, n)

- Функция ezcontour(f) строит контурный график с настройкой по умолчанию.

- Функция ezcontour (f, domain) строит контурный график с заданными параметром domain пределами изменения x и y.

- Функция ezcontour(…, n) обеспечивает ранее указанные построения при явном задании числа линий n.

Примеры

>> syms x y

>> ezcontour (sin(x*y), [-3,3], 30)


Рис. 2 Графические возможности функции ezcontour

>> syms x y

>> ezcontour (sin(x)*sin(y), [-3,3], 50)

Рис. 3 Графические возможности функции ezcontour

Функция ezplot3 – строит трехмерные графики параметрически заданных функций

ezplot3 (x, y, z)

ezplot3 (x, y, z, [tmin tmax])

ezplot3 (…, ‘animate’)

- Функция ezplot3 (x, y, z) строит трехмерный график функции, заданной параметрически уравнениями x(t), y(t), z(t) при настроеке по умолчанию.

- Функция ezplot3 (x, y, z, [tmin tmax]) строит трехмерный график функции, заданной параметрически уравнениями x(t), y(t), z(t) при изменениях аргумента t от tmin до tmaxю

- Функция ezplot3 (…, ‘animate’) аналогична предшествующим функциям, но обеспечивает анимацию графика.

Примеры

>> syms t;

>> ezplot3 (cos(t), sin(t), t, [0 20], 'animate')

Рис. 4 Графические возможности функции ezplot3

Функция ezsurf – строит графики поверхностей, задаваемых функциями двух переменных f (x, y)

Синтаксис

ezsurf(f)

ezsurf (f, domain)

ezsurf (x, y, z)

ezsurf (x, y, z, [smin, smax, tmin, tmax])

ezsurf (x, y, z, [min max])

ezsurf(…, n)

ezsurf(…, ‘circ’)

- Функция ezsurf(f) строит поверхность f (x, y) с параметрами x и y, меняющимися по умолчанию от -2π до 2π.

- Функция ezsurf (f, domain) строит поверхность f (x, y) с пределами изменения x и y, заданными параметром domain.

- Функция ezsurf (x, y, z) строит поверхность, заданной параметрически зависимостями x (s, t), y (s, t), z (s, t) при s и t, меняющихся в интервале -2π до 2π.

- Функция ezsurf (x, y, z, [smin, smax, tmin, tmax]) строит поверхность, заданной параметрически зависимостями x (s, t), y (s, t), z (s, t) при s и t, меняющихся в заданном интервале.

- Функция ezsurf (x, y, z, [min max]) строит поверхность, заданной параметрически зависимостями x (s, t), y (s, t), z (s, t) при s и t, меняющихся в одинаковом интервале от min до max.

- Функция ezsurf(…, n) аналогична описанным выше командам, но с задаваемым числом линий сетки n.

Функция ezsurf(…, ‘circ’) аналогична описанным выше командам, но вписывает поверхность в окружность