Величина х воспринимается как числовая переменная, поэтому появляется сообщение: «Функция или переменная ‘x’ не определены». Для того чтобы операция была корректной, величину х необходимо определить как символьную, например
» x=sym(‘x’);
Альтернативный вариант определения символьной переменной (применяется также применительно к групповым определениям):
» syms x;
Продолжаем пример:
» sin(x)^2+cos(x)^2
ans =
sin(x)^2+cos(x)^2
Переменная ans в данном случае имеет смысл символьного выражения. Проверяем, нельзя ли его упростить, т.е. привести к более компактной форме:
» simplify(ans)
ans =
Следует обратить внимание на то, что результат выполнения символьной операции выводится без отступа.
Более простой способ решения данной задачи:
» sin('x')^2+cos('x')^2
ans =
Основные функции
Функция expand(s)представляет элементы символьного выражения в развернутой форме:
» expand((x-2)^3*(1-x))
ans =
7*x^3-x^4-18*x^2+20*x-8
Функция factor(s)используется для разложения символьного выражения на простые множители:
» factor(sym('125'))
ans =
(5)^3
или символьные:
» syms a b; A=[a^2-b^2,a^3+b^3];
» factor(A)
ans =
[(a-b)*(a+b), (a+b)*(a^2-a*b+b^2)]
Данная функция применяется также при разложении скалярных чисел на простые множители:
» factor(sym('5040'))
ans =
(2)^4*(3)^2*(5)*(7)
В этом примере 5040=7!; встроенной функции, вычисляющей факториал n!, нет, но ее нетрудно создать самостоятельно (и включить в соответствующий раздел системы):
% Вычисление факториала n!
function ypr=fact(n);
ypr=1;
if n~=0
for k=1:n
ypr=ypr*k;
End
End
Функция subs– подстановка:
subs(s) – замена свободных символьных переменных их числовыми значениями из рабочего пространства:
» a=1;
» u=sym('sin(pi/(2*a))');
» subs(u) % sin(pi/2)
ans =
subs(s,new)– замена свободных символьных переменных их числовыми значениями из списка new:
» syms a s x
» x=pi/16;
» u=sin(a^s*x);
» subs(u,[a s],[2 3]) % sin(pi/2)
ans =
subs(s,old,new)– замена свободных символьных переменных oldчисловыми значениями из списка new:
» subs(u,[a s],[3 2])
ans =
0.9808
Математический анализ
6.3.1. Функция limit – предел функции одной переменной
Система MATLAB реализует важную математическую операцию – вычисление предела, т е. . Предел может быть конечным числом (в том числе 0), а также и . В точках разрыва функции можно различать пределы слева: и справа: ; при равенстве этих пределов существует предел в точке a.
Синтаксискоманды ( ):
limit(f) – предел при :
первый замечательный предел:
» x=sym('x'); limit(sin(x)/x)
ans =
второй замечательный предел :
» limit((1+x)^(1/x))
ans =
Exp(1)
» limit((x-sin(x))/x^3)
ans =
1/6
» limit(x^x)
ans =
limit(f,a)– предел при (предварительно с помощью функции findsym(f) определяется независимая переменная – в данном случае х),
» limit((pi-2*x)*tan(x),pi/2)
ans =
limit(f,x,a) – явный предел при ,
» syms t x;
» limit((1+2*t/x)^(3*x),x,inf)
ans =
exp(6*t)
limit(f,x,a,’left’), limit(f,x,a,’right’) – вычисление соответственно левого и правого пределов.
» syms x a
» v=[(1+a/x)^x,exp(-x)]; limit(v,x,inf,'left')
ans =
[ exp(a), 0]
Упражнение. Найти пределы
; ; .
6.3.2. Функция diff – дифференцирование функции одной переменной
Синтаксис функции:
diff(f) – автоматическое определение переменной с помощью findsym(f) и дифференцирование – ,