7 JFCOBIAN Вычисление якобиана функции. Функция R = jacobian(F,v) вычисляет матрицу Якоби для функции F по переменной v
Пример: syms x y z
F = [x*y*z ; y ; x+z]
V = [x, y, z]
J = jacobian(F, v)
J =
[y*z, x*z, x*y]
[0, 1, 0]
[1, 0, 1]
Вычислим матрицу Якоби для второго примера из пункта 6а.
Syms x y z
F = [(2*x)+(3*y)-z ; x-y + z; (3*x)+(2*y)]
v = [x, y, z]
J = jacobian(F, v)
J =
[ 2 3 –1]
[1 -1 1] = 0 . Функции зависимые, система несовместна.
[3 2 0]
Для одного уравнения можно делать запись:
b = jacobian (x + z, v)
b =
[ 1, 1]
8. Нахождение зависимых функций от независимых переменных (суперпозиция). СOMPOSE Функция compose(f,g) находит функцию f(g(у), где а = f(x) и g = g(y), как функция независимой переменной у.
compose(f,g,z) находит функцию f(g(y)), где f= f(x) и g = g(y), как функция новой переменной z .
compose(f, g, x, z) находит функцию f(g(z)), где f = f(x) , это существенно , так как функция f может зависеть от двух или более независимых переменных.
Например: f = cos(x/t) тогда compose(f,g,x,z) находит cos(g(z)/t), а compose(f,g,t,z) находит cos(x/g(z)) .
сompose(f,g,,x,y,z) находит функцию f(g(z)), где f = f(x), а у-как независимая переменная функции g .
Например: f = cos(x/t) , а g = sin(y/u), тогда compose(f,g,x,y,z) находит cos(sin(z/u)/t), а сompose(f,g,x,u,z) находит cos(sin(y/z)/t) .
Разберем элементарный пример . Допустим, требуется найти некоторое выражение, содержащее две независимые переменные x и у. Нам известна одна из функций этого выражения по переменной х f =f(x) равная f = и вторая по переменной у равная g = .
Используя программу MATLAB, найдем функцию f = f(g(y)). Запишем:
syms x y v
f =(v^2-x^2)^(1/2); g = (v^2-y^2)^(1/2);
compose(f, g)
ans =
(y^2)^(1/2)
Имеем: величина f = y. Искомое выражение будет: v2 = x2+y2.
Аналогично:
Syms x y z t u;
F = 1/(1+x^2); g = sin(y); h = x^t; p = exp(-y/u);
Compose(f, g)
ans =
1/(1+sin(y)^2)
compose(f, g, t)
ans =
1/(1+sin(t)^2
compose(h, g, x, z)
ans =sin(z)^t
compose(h, g, t, z)
ans =
x^sin(z)
compose(h, p, x, y, z)
ans = exp(-z/u)^t
compose(h, p, t, u, z)
ans =x^exp(-y/z)
Cсоответственно: и т.д.
9 .SOLVE Решение уравнений и систем уравнений . СПРАВКА .
Случай, когда число неизвестных равно числу уравнений
а11 х1 + а12 х2+…+а1n хn = b1
а 21 x1 + a22 x2 +…+a 2n xn = b2 система S
………………………………..
an1 x1 + an2 x2 + …+ ann xn = bn
Определитель системы D = , Dj -определитель, получающийся
из D заменой столбца, составленного из коэффициентов akj при неизвестном xj, столбцом , составленным из свободных членов bk;
например: D = .
Система S называется однородной, если все bk = 0, а значит и все Dj = 0, и не однородной, если хотя бы одно bk отлично от нуля. Если определитель D 0 система S – определенная;
она имеет одно решение: корни xj выражаются формулой Крамера (см п.6).
Если D = 0 и не все Dj = 0, то система S – несовместная (не имеет решения)
Функция g = solve(eg,var) решает уравнение относительно переменной var. Если знак равенства не указан, то предполагается уравнение вида
eg = 0. Функции g = solve(eg1, eg2,…,egn) и g = solve(eg1, eg2,…egn,
var1, var2,…varn) решают системы уравнений относительно n переменных . Если переменные не указаны они определяются автоматически .
Результаты вычислений выдаются:
для одного уравнения и одного входного аргумента в виде одномерного или многомерного массива ячеек; для систем уравнений с одним входным аргументом в виде массива записей; для систем уравнений с числом аргументов, равным числу переменных решения выдаются по именам переменных в алфавитном порядке
Примеры:
syms x
.x = solve(‘p*sin(x) = r’)
ans =
asin (r/p) .
syms x или syms a b c x
x = solve(‘a*x^2 + b*x = -c’) x = solve(a*x^2 + b*x + c)
x =
[1/2/a*(-b+(b^2-4*a*c)^(1/2))]
[1/2/a*(-b-(b^2-4*a*c)^(1/2))]
syms t
t = solve(tan(t)-sin(2*t))
t =
[ 0]
[ pi]
[1/4*pi]
[-3/4*pi]
syms x
x= solve(cos(x) – sin(x^2))
x = 849368862392….
Примеры решения систем:
syms x y
S = solve('x^2+x*y+y = 3','x^2-4*x+3 = 0')
S =
x: [2x1 sym]
y: [2x1 sym]
S.x
ans =
[ 1]
[ 3]
S.y
ans =
[ 1]
[ -3/2]
syms x y
[x,y] = solve('x^2+x*y+y','x^2-4*x+3 = 0')
x =
[ 1]
[ 3]
y =
[ 1 ]
[-3/2]
syms a u v
[u,v] = solve('a*u^2+v^2 = 0','u-v = 1')
u =
[1/2/(a+1)*(-2*a+2*(-a)^(1/2))+1]
[1/2/(a+1)*(-2*a-2*(-a)^(1/2))+1]
v =
[1/2/(a+1)*(-2*a+2*(-a)^(1/2))]
[1/2/(a+1)*(-2*a-2*(-a)^(1/2))]
syms a u v
» S =solve('a*u^2+v^2','u-v = 1', a,u)
S =
a: [1x1 sym]
u: [1x1 sym]
» S.a
ans =
-v^2/(v^2+2*v+1)
» S.u
ans =
v+1
» syms a u v
» [a,u,v] = solve('a*u^2+v^2','u-v = 1','a^2-5*a+6')
a =
[ 2]
[ 2]
[ 3]
[ 3]
u =
[ 1/3+1/3*i*2^(1/2)]
[ 1/3-1/3*i*2^(1/2)]
[ 1/4+1/4*i*3^(1/2)]
[ 1/4-1/4*i*3^(1/2)]
v =
[ -2/3+1/3*i*2^(1/2)]
[-2/3-1/3*i*2^(1/2)]
[-3/4+1/4*i*3^(1/2)]
[-3/4-1/4*i*3^(1/2)]
syms a u v
» A = solve('a*u^2+v^2','u-v = 1','a^2-5*a+6')
A =
a: [4x1 sym]
u: [4x1 sym]
v: [4x1 sym]
» A.a
ans =
[ 2]
[ 2]
[ 3]
[ 3]
» A.u
ans =
[ 1/3+1/3*i*2^(1/2)]
[ 1/3-1/3*i*2^(1/2)]
[ 1/4+1/4*i*3^(1/2)]
[ 1/4-1/4*i*3^(1/2)]
» A.v
ans =
[ -2/3+1/3*i*2^(1/2)]
[ -2/3-1/3*i*2^(1/2)]
[ -3/4+1/4*i*3^(1/2)]
[ -3/4-1/4*i*3^(1/2)]
|