lection_matlab_all / matlab_11
.pdfПримеры:
вычисление факториала со всеми точными цифрами:
>>nfact = sym( 'n!' ) → nfact = n!
>>syms n → ans = n
>>subs( nfact, 10 ) → ans = 3628800
>>subs( nfact, 100 )
ans = 933262154439441526816992388562667004907159682 64381621468592963895217599993229915608941463976156 51828625369792082722375825185210916864000000000000 000000000000
Для вычисления в символьном виде производных от выражения S служит функция diff, записываемая в формате diff(S, 'v' ) или diff (S, sym ( 'v' ) ) . Она возвращает символьное значение первой (n=l) производной от символьного выражения или массива символьных выражений S по переменной v:
•diff(S, n) — возвращает n-ю (n — целое число) производную от символьного выражения или массива символьных выражений S по переменной v.
•diff(S, ' v ', n) и diff (S, n, ' v ' ) — возвращает n-ю частную производную S пo переменной v.
Примеры:
>>syms x y;
>>diff(x^y) → ans = х^у*у/х
>>diff(х^у, х) → ans = х^у*у/х
>>simplify(ans) → ans = х^( y - 1 ) * y
>>diff ( sin ( y*x ), x, 3 ) → ans = - cos ( y*x ) * у^3
>>diff ( [ x^3, sin(x), exp(x) ], x ) → ans = [ 3*х^2, cos(x), exp(x) ]
Для вычисления интегралов служит функция int:
•int(S) — возвращает символьное значение неопределенного интеграла от символьного выражения или массива символьных выражений s по переменной, которая автоматически определяется функцией findsym. (по умолчанию 'х').
•i n t ( S, v ) — возвращает неопределенный интеграл от S по переменной v.
•i n t (S, a, b) — возвращает определенный интеграл от s с пределами интегрирования от а до b, причем пределы интегрирования могут быть как символьными, так и числовыми.
Примеры:
>>syms a x у z
>>int( х^2, х ) ans = 1/3 * х^3
>>int ( sin(х)^3, х )
ans = - l/3 * sin(x)^2 * cos(x) - 2/3 * cos(x)
%несобственный интеграл >> int ( х*ехр (-х), х, 0, inf ) ans = 1
%тройной интеграл
>>syms x у z a
>>int( int( int( (x^2 + y^2)*z, x, 0, a ), y, 0, a ), z, 0, a ) ans = 1/3*а^6
Для вычисления пределов в символьном виде служит функция limit:
•limit( F, x, a ) — возвращает предел символьного выражения F при х —> а;
•limit(F) — возвращает предел при а=0;
•limit( F, x, a, 'right' ) или limit( F, x, a, 'left' ) — возвращает предел в точке а справа или слева.
Примеры:
>>syms а х;
>>limit( sin( a*x )/x ) → ans = а
>>limit( tan(х), х, pi/2, 'right' ) → ans = -inf
>>limit( tan(х), х, pi/2 ) → ans = NaN
Для получения разложений аналитических функций в ряды Тейлора и Маклорена (ряд Тейлора в точке х = 0) служит функция taylor:
•taylor( f, n, x, a ) — возвращает n первых членов (до (n- l)-гo порядка) разложения функции f в ряд Тейлора по переменной x с центром в точке x = а.
•taylor( f ) — возвращает шесть первых членов ряда Маклорена.
•taylor( f, n ) — возвращает члены ряда Маклорена до (n- l)-ro порядка;
•taylor( f, а ) — возвращает ряд Тейлора в окрестности точки а
Примеры:
>>syms х;
>>F = sin(x);
>>taylor(F)
ans = х - 1/6*х^3 + 1/120*х^5
>> taylor( F, 10 )
ans = х - 1/6*х^3 + 1/120*х^5 - 1/5040*х^7 + 1/362880*х^9
>>taylor(exp(x), 1) ans = 1
>>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
Для аналитического вычисления суммы ряда S служит функция symsum:
•symsum( S, v ) — возвращает сумму бесконечного ряда с общим членом S(v) по переменной v;
•syrasum( S, a, b ) или symsum( S, v, a, b ) — возвращает конечную сумму ряда в пределах номеров слагаемых от а до b
Примеры:
>>syms x;
>>symsum( x^2 ) → ans = 1/3*х^3 - 1/2*х^2 + 1/6*х
>>symsum( 1/х^4 ) → ans = -1/6 * Psi(3, x)
>>symsum( 1/х^4, 1, 5 ) → ans = 14001361/12960000
Для аналитического вычисления суммы ряда S служит функция symsum:
•symsum( S, v ) — возвращает сумму бесконечного ряда с общим членом S(v) по переменной v;
•syrasum( S, a, b ) или symsum( S, v, a, b ) — возвращает конечную сумму ряда в пределах номеров слагаемых от а до b
Примеры:
>>syms x;
>>symsum( x^2 ) → ans = 1/3*х^3 - 1/2*х^2 + 1/6*х
>>symsum( 1/х^4 ) → ans = -1/6 * Psi(3, x)
>>symsum( 1/х^4, 1, 5 ) → ans = 14001361/12960000