Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MATLAB.doc
Скачиваний:
202
Добавлен:
13.11.2018
Размер:
1.36 Mб
Скачать

6.3. Математический анализ

6.3.1. Функция limit – предел функции одной переменной

Система MATLAB реализует важную математическую операцию – вычисление предела, т е. . Предел может быть конечным числом (в том числе 0), а также и . В точках разрыва функции можно различать пределы слева: и справа: ; при равенстве этих пределов существует предел в точке a.

Синтаксис команды ():

limit(f) – предел при :

первый замечательный предел:

» x=sym('x'); limit(sin(x)/x)

ans =

1

второй замечательный предел :

» limit((1+x)^(1/x))

ans =

exp(1)

» limit((x-sin(x))/x^3)

ans =

1/6

» limit(x^x)

ans =

1

limit(f,a) – предел при (предварительно с помощью функции findsym(f) определяется независимая переменная – в данном случае х),

» limit((pi-2*x)*tan(x),pi/2)

ans =

2

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) и дифференцирование – ,

» x=sym(‘x’)

» diff(sin(x)^2);

ans =

2*sin(x)*cos(x)

» simple(ans)

……………….

ans =

sin(2*x) % Предшествующие преобразования условно опущены

diff(f,v)дифференцирование по переменной v,

» syms x y, u=x^y; v=diff(u,x), w=diff(u,y)

v =

x^y*y/x

w =

x^y*log(x)

» simplify(v)

ans =

x^(y-1)*y

diff(f,x,n)производная n-го порядка :

» for n=1:7, clc, n, diff(x^6,n), pause, end

Упражнение. Найти производную функции и вычислить ее значение при x=0.5. Ответ: 0.8591.

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

Синтаксис функции:

int(f) – вычисление первообразной после автоматического определения независи­мой переменной x, т.е. ,

» int(1/cos(x))

ans =

log(sec(x)+tan(x))

» int(1/x)

ans =

log(x)

int(f,v) – интегрирование по переменной v, т.е. ,

» u=x^y;

» int(u,x)

ans =

x^(y+1)/(y+1)

» int(u,y)

ans =

1/log(x)*x^y

» int([1-exp(-x), x^2])

ans =

[ x+exp(-x), 1/3*x^3]

int(f,a,b), int(f,v,a,b) – определенный интеграл, т.е. ,

» int(exp(-x^2),-inf,inf) %

ans =

pi^(1/2) %

Упражнение. Вычислить интеграл и найти его значение при . Ответ: 1.0.

6.3.4. Функция symsum – суммирование членов рядов

Синтаксис функции:

symsum(s) – суммирование ряда с общим членом s(k) в пределах от 0 до k-1. Сумма натуральных чисел от 0 до k-1;

» syms k

» u=symsum(k)

ans =

1/2*k^2-1/2*k

» factor(u) % или simple(u)

ans =

1/2*k*(k-1)

symsum(s,kl,ku) – суммирование ряда по индексу k от kl до ku, т.е.

» symsum(k,1,3)

ans =

6

сумма , т.е.

» symsum(k^2,1,5)

ans =

55

сумма , т.е.

» symsum(1/k^2,1,inf)

ans =

1/6*pi^2

сумма , т.е.

» symsum(x^k/sym('k!'),k,0,inf)

ans =

exp(x)

С помощью функции sym создано символьное выражение для факториала k!, поскольку символ ! не воспринимается системой MATLAB как знак факториала.

Сумма , т.е.

» symsum((-1)^k/k,1,inf)

ans =

-log(2)

» -log(2)

ans =

-0.6931

6.3.5. Функция taylor – разложение функции в ряд Тэйлора

Разложение функции в окрестности точки а имеет вид ряда Тэйлора

,

который при представляет собой ряд Маклорена .

Синтаксис функции:

taylor(f) – возвращение по умолчанию шести членов ряда Маклорена;

taylor(f,n) – возвращение разложения в ряд Маклорена, удерживается n-1 членов;

taylor(f,a) taylor(f,a,n) – то же для ряда Тэйлора.

Пример: разложим функцию в ряд Маклорена, удерживая 6 (по умол­чанию), 3 и 10 членов, вычислим значения функции при и сравним с точным:

» syms x;

» f=exp(-x);

» u3=taylor(f,3)

u3 =

1-x+1/2*x^2

» u6=taylor(f)

u6 =

1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5

» u10=taylor(f,10)

u10 =

1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5+1/720*x^6-1/5040*x^7+1/40320*x^8-1/362880*x^9

» x=1.0;

» s3=subs(u3); s6=subs(u6); s10=subs(u10);

» a=exp(-1)

a =

0.3679

» disp(a-s3)

-0.1321

» disp(a-s6)

0.0012

» disp(a-s10)

2.5246e-007

Упражнение. Разложить в ряд Тэйлора функцию в окрест­но­сти точки с точностью до 9 членов разложения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]