16515

Разложение в ряд Тейлора – команда taylor

Лабораторная работа

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

Лабораторная работа №7 1.1 Разложение в ряд Тейлора команда taylor В задачах аппроксимации и приближения функций fx важное место занимает их разложение в ряд Тейлора в окрестности точки a: fx = . Частным случаем этого ряда при a = 0 является ряд Маклорена: fx = ...

Русский

2013-06-22

208.5 KB

25 чел.

Лабораторная работа №7

1.1 Разложение в ряд Тейлора – команда taylor

В задачах аппроксимации и приближения функций f(x) важное место занимает их разложение в ряд Тейлора в окрестности точки a:

f(x) =  .

Частным случаем этого ряда при a = 0 является ряд Маклорена:

f(x) =  .

Для получения разложения аналитической функции f в ряд Тейлора (и Маклорена) служит команда taylor:

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

Примеры разложения в ряды Тейлора и Маклорена функции cos(x):

>> syms x

>> taylor(cos(x))

ans =

1-1/2*x^2+1/24*x^4

>> taylor(cos(x),5,x,2)

ans =

cos(2)-sin(2)*(x-2)-1/2*cos(2)*(x-2)^2+1/6*sin(2)*(x-2)^3+1/24*cos(2)*(x-2)^4

Пример:

Получить разложение в степенной ряд по степеням x «функции ошибок»

Erf(x) = dt,

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

Решение:

>> syms x t

>> Pi=sym('pi');

>> taylor(2/sqrt(Pi)*int(exp(-t^2),t,0,x))

ans =

2/pi^(1/2)*x-2/3/pi^(1/2)*x^3+1/5/pi^(1/2)*x^5

>> [m]=simple(ans)

m =

1/15*x*(30-10*x^2+3*x^4)/pi^(1/2)

>> pretty(m)

                                                 2        4

                              x (30 - 10 x  + 3 x   )

                     1/15 -------------------------

                                             1/2

                                          pi

Команда taylortool приводит к появлению окна приложения, изображенного на рис. 7.1.

Рис.7.1.

Пользователь может вводить формулы различных функций в строке f(x) =

и исследовать приближение функции на произвольном интервале отрезком ряда Тейлора, содержащим различное число членов разложения.

1.2 Вычисление суммы ряда – команда symsum

В математическом анализе часто приходится вычислять сумму значений функции f(i) при условии, что аргумент i этой функции (индекс суммирования) принимает целочисленные значения, изменяющееся в замкнутом интервале [a;b], т. е.

Sum = .

Такие суммы принято называть конечными. При b = ∞ можно говорить о бесконечной сумме (в смысле бесконечного числа членов ряда). Для аналитического вычисления суммы ряда служит команда symsum(f, i, a, b), возвращающая сумму ряда

.

Справку по symsum можно получить, введя команду doc symsum.

Пример:

Найти сумму числового ряда

.

Решение:

>> syms n

>> symsum(1/n^2,n,1,inf)

ans =

1/6*pi^2

Таким образом,

= .

Пример:

Найти сумму числового ряда

.

Решение:

>> syms n

>> symsum((-1)^n/n,n,1,inf)

ans =

-log(2)

В результате получили

= -ln2.

Пример:

Найти сумму числового ряда

.

Решение:

>> syms n

>> symsum(1/n^3,n,1,inf)

ans =

zeta(3)

>> vpa(ans,8)

ans =

1.2020569

Результат выражается через дзета - функцию Римана (справку по этой функции можно получить с помощью команды doc zeta) и равен

= zeta(3) ≈ 1,2020569.

Пример:

Найти сумму числового ряда

.

Решение:

>> syms s n

>> symsum(cos(n*pi)/n^2,n,1,inf)

ans =

-hypergeom([1, 1, 1],[2, 2],-1)

>> vpa(ans,8)

ans =

-.82246703

Результат выражается через гипергеометрическую функцию (справку по этой функции можно получить, введя команду doc hypergeom) и равен

= -hypergeom([1, 1, 1], [2, 2], -1) ≈ -0,82246703.

Возможно суммирование слагаемых, зависящих не только индекса, но и от некоторой символьной переменной. Если в слагаемые входит знак факториала, то в этом случае следует использовать команду sym.

Пример:

Найти сумму функционального ряда

.

Решение:

>> syms x k

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

ans =

exp(x)

Таким образом,

= ex.

Пример:

Найти сумму числового ряда

.

Команда symsum возвращается без результата:

>> syms n

>> symsum(cos(n)/n^2,n,1,inf)

ans =

sum(cos(n)/n^2,n = 1 .. inf)

>> vpa(ans,8)

ans =

sum(cos(n)/n^2,n = 1 .. inf)

Это свидетельствует о том, что система MATLAB не нашла сумму ряда.

Пример:

Найти конечную сумму

.

Решение:

>> syms k

>> symsum(k^2,k,0,10)

ans =

385

Сумма равна 385.

Пример:

Найти конечную сумму с переменным верхним пределом n

.

Решение:

>> syms k n

>> symsum(k^2,k,0,n)

ans =

1/3*(n+1)^3-1/2*(n+1)^2+1/6*n+1/6

>> pretty(ans)

                                    3                   2

                  1/3 (n + 1)  - 1/2 (n + 1)  + 1/6 n + 1/6

Пример:

Найти конечную сумму с переменным верхним пределом n

.

Решение:

>> syms k n

>> symsum(cos(k*pi/2),k,1,n)

ans =

1/2*sin(1/2*(n+1)*pi)-1/2*cos(1/2*(n+1)*pi)-1/2

Для аналитического вычисления произведения ряда служит команда product. Справку по ней можно получить, введя команду mhelp product.

1.3 Решение уравнений и их систем – команда solve

Для решения систем уравнений и одиночных уравнений служит команда

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

Результат может быть возвращен в следующих формах:

для одного уравнения и одной переменной решение возвращается в виде одномерного или многомерного массива ячеек;

при одинаковом числе уравнений и переменных решение возвращается в упорядоченном по именам переменных виде.

Команда solve позволяет найти не только вещественные, но и комплексные решения систем уравнений и одиночных уравнений. Справку по этой команде можно получить, введя команду doc solve.

Пример:

Решить уравнение x3 - 1 = 0.

Решение:

>> syms x,y=x^3-1;S=solve(y)

S =

[                  1]

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

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

В результате получены три разных значения корня x1 = 1, x2 = , x3 = , которые хранятся соответственно в элементах S(1), S(2), S(3) массива S.

С помощью subs (разд. 7.7) подставим найденные значения корней в выражение x3 - 1:

>> subs(y,x,S)

ans =

[                        0]

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

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

>> [m]=simple(ans)

m =

[ 0]

[ 0]

[ 0]

Выражение x3 - 1 принимает значение 0 при подстановке любого из найденных корней, поэтому x1, x2, x3 являются точными корнями уравнения x3 - 1 = 0.

Команда roots (см. разд. 6.1) нашла бы только приближенные значения корней уравнения x3 - 1 = 0. В общем случае полиномиальное уравнение степени выше 4 не может иметь точного решения, выраженного с помощью радикалов.

Команда solve позволяет решать уравнения, представленные в аналитическом виде.

Пример:

Решить квадратное уравнение ax2+bx+c = 0.

Решение:

>> S=solve('a*x^2+b*x+c=0',x)

S =

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

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

Команда solve возвратила известные выражения корней x1,2 = квадратного уравнения ax2+bx+c = 0. Точно также можно выразить с помощью радикалов решения кубического уравнения ax3+bx2+cx+d = 0, хотя эти выражения достаточно сложные.

Пример:

Решить трансцендентное уравнение xlnx+1 - 1 = 0.

Решение:

>> syms x

>> S=solve('x^(log(x)+1)-1',x)

S =

[  exp(0)]

[ exp(-1)]

Проверка:

>> subs(x^(log(x)+1)-1,x,S)

ans =

[ 0]

[ 0]

В данном случае solve нашла точные значения корней x1 = 1, x2 = e−1.

Пример:

Решить трансцендентное уравнение lnx + 3 - x = 0.

Решение:

>> solve('log(x)+3-x=0')

ans =

[    -lambertw(-exp(-3))]

[ -lambertw(-1,-exp(-3))]

Команда solve возвратила значения корней, выраженные через функцию Ламберта.

Команда vpa возвращает приближенные значения этих корней, вычисленные с 20 значащими цифрами:

>> vpa(ans,20)

ans =

[ .52469097457714872410e-1]

[    4.5052414957928833670]

Каждый из приближенных корней этого уравнения был найден по отдельности в разделе 6.2 с помощью команды fzero. Отметим, что команда solve нашла приближенные значения двух корней одновременно с высокой точностью. При этом не пришлось графически определять интервалы изоляции корней.

Решение любого трансцендентного уравнения, в том числе и тригонометрического (разд. 7.17), достаточно сложная и серьезная проблема. Иногда solve возвращает неверные решения.

Пример:

Решить трансцендентное уравнение sinxlnsinx+xx - 2 = 0.

Решение:

>> syms x

Y=sin(x)^log(sin(x))+x^x-2;

>> S=solve(Y)

S =

1/2*pi

>> subs(Y,S)

ans =

-1+(1/2*pi)^(1/2*pi)

>> vpa(ans,5)

ans =

1.0327

Найденное решение  неверное, т. к. оно не прошло проверку подстановкой.

Команда solve может возвратить не все решения.

Пример:

Решить трансцендентное уравнение sinx+lnx+ex - 1 = 0.

Решение:

>> syms x

>> Y=sin(x)+log(x)+exp(x)-1;

>> S=solve(Y);

>> vpa(S,5)

ans =

-3.0553-1.7145*i

>> subs(Y,S)

ans =

-.8e-31-.1e-30*i

Возвратив приближенный комплексный корень уравнения x1 = -3,0553 - 1,7145i, solve не нашла вещественный корень. С помощью команды ezplot (разд. 7.16) графически определяем, что он находится вблизи значения 0,4 (рис. 7.2):

>> ezplot('sin(x)+log(x)+exp(x)-1',[0 ,1,-1, 3])

>> grid

Рис.7.2

Вещественный корень со стартовым приближением 0,4 найдем с помощью команды fzero (разд. 6.2):

>> format long

>> [X,f]=fzero('sin(x)+log(x)+exp(x)-1',0.4)

X =

  0.40716029855672

f =

  -2.220446049250313e-016

Итак, приближенное значение вещественного корня x2=0,4072.

Перейдем теперь к системам уравнений.

Пример:

Решить систему уравнений

Решение:

Результатом выполнения команды solve является структура S с полями x и y, каждое из которых содержит символьное представление решения:

>> syms x y

>> Y1=x+y-3;

>> Y2=x*y^2-4;

>> S=solve(Y1,Y2,x,y)

S =

   x: [3x1 sym]

   y: [3x1 sym]

Выведем в командное окно содержимое структуры:

disp([S.x S.y])

[  4, -1]

[  1,  2]

[  1,  2]

Получили три решения (x1;y1) = (4; -1) и (x2;y2) = (1;2) (второе – кратности 2), причем (x1;y1) хранится в [S.x(1) S.y(1)], а (x2;y2) – в [S.x(2) S.y(2)]:

>> disp([S.x(1) S.y(1)])

[  4, -1]

>> disp([S.x(2) S.y(2)])

[ 1, 2]

Для проверки подставим в выражения Y1 = x+y - 3 и Y2 = xy2 - 4 вначале первое решение, а затем второе:

>> disp(subs([Y1 Y2],[x y],[S.x(1) S.y(1)])

[ 0, 0]

>> disp(subs([Y1 Y2],[x y],[S.x(2) S.y(2)])

[ 0, 0]

Как видим, найдены точные решения, т. к. выражения Y1 и Y2 при их подстановке обратились в 0.

Команда solve допускает использование символьных переменных в качестве выходных аргументов. Эквивалентное обращение к solve в предыдущем примере имеет вид:

>> [x,y]=solve(Y1,Y2,x,y)

x =

[ 4]

[ 1]

[ 1]

y =

[ -1]

[  2]

[  2]

Команда solve позволяет решать системы уравнений, заданные в аналитическом виде.

Пример:

Решить систему уравнений относительно x, y, z

Решение:

>> syms a b c x y z

>> Y1=(a+b)/(x+y)+(b+c)/(y+z)-(c+a)/(z+x)-1;

>> Y2=(a+b)/(x+y)-(b+c)/(y+z)+(c+a)/(z+x)-1;

>> Y3=-(a+b)/(x+y)+(b+c)/(y+z)+(c+a)/(z+x)-1;

>> S=solve(Y1,Y2,Y3,x,y,z)

S =

   x: [1x1 sym]

   y: [1x1 sym]

   z: [1x1 sym]

>> disp([S.x S.y S.z])

[ a, b, c]

Проверим найденное решение (a;b;c) подстановкой в систему:

>> subs([Y1 Y2 Y3],[x y z],[S.x S.y S.z])

ans =

[              0,              0, (-a-b)/(a+b)+1]

>> disp(simplify(ans))

[ 0, 0, 0]

Убеждаемся, что решение найдено верно.

Иногда системе MATLAB можно помочь, преобразовав уравнение или систему уравнений к эквивалентному виду.

Например, уравнение ln(4 - 2x)+x2 - 2 = 0 имеет эквивалентный вид e2−x²+2x - 4 = 0. Можно проверить, что для каждого из этих уравнений команда solve возвращает свой вещественный корень. Это будут разные корни, но каждый из них удовлетворяет исходному уравнению. Существует и третий вещественный корень, который можно найти с помощью команды fzero.

Пример:

Решить систему трансцендентных уравнений

Решение:

>> syms x y

>> Y1=3^y*9^x-81;

>> Y2=log10((y+x)^2)-log10(x)-2*log10(3);

>> S=solve(Y1,Y2,x,y)

S =

   x: [4x1 sym]

   y: [4x1 sym]S =

>> R=[S.x S.y];

>> disp(vpa(R,10))

[  16.00000002, -28.00000004]

[  16.00000002, -3.999999992]

[  1.000000000, -3.999999996]

[  1.000000000,  1.999999996]

Получили 4 приближенных решения c 10 значащими цифрами. Однако системе удовлетворяют только первое и последнее из них. Убедимся в этом подстановкой:

>> disp(vpa(subs([Y1,Y2],[x y],[S.x(1) S.y(1)]),15))

[  .1e-12, .15e-13]

>> disp(vpa(subs([Y1,Y2],[x y],[S.x(2) S.y(2)]),15))

[ 22876792454891.6,          .25e-13]

>> disp(vpa(subs([Y1,Y2],[x y],[S.x(3) S.y(3)]),15))

[ -80.8888888888889,           .31e-13]

>> disp(vpa(subs([Y1,Y2],[x y],[S.x(4) S.y(4)]),15))

[ -.71e-11,  .18e-13]

Приближенное равенство [Y1,Y2]  [0,0] выполняется только при подстановке в систему первого и последнего решений. В остальных случаях [Y1,Y2] ≠ [0,0].

Алгебраическими преобразованиями приведем исходную систему к эквивалентной системе

Решим ее:

>> syms x y

>> S=solve('y+2*x=4','(y+x)^2/x=9',x,y);

>> [S.x S.y]

ans =

[   1,   2]

[  16, -28]

Получили два точных решения, являющихся также решениями исходной системы.

Пример:

Решить cистему нелинейных уравнений

Решение:

>> syms x y z

>> Y1=x+x^2-2*y*z-.1;

>> Y2=y-y^2+3*x*z+.2;

>> Y3=z+z^2+2*x*y-.3;

>> S=solve(Y1,Y2,Y3,x,y,z);

>> R=[S.x S.y S.z];

>> disp(vpa(R,6))

[ -.541941+.626019e-1*i,    -.179057-.433417*i,     .148543-.344892*i]

[ -.541941-.626019e-1*i,    -.179057+.433417*i,     .148543+.344892*i]

[            .128241e-1,              -.177801,               .244688]

[              -1.08804,              -.130325,            .161425e-1]

[            .578802e-1,            .156279e-1,              -1.24040]

[     .374678+.356411*i,     .353227-.580416*i,    -.281751+.419593*i]

[     .374678-.356411*i,     .353227+.580416*i,    -.281751-.419593*i]

[               .121093,               1.17493,            .152166e-1]

Получено 8 приближенных решений с 6 значащими цифрами, 4 из которых вещественные (c 3 - го по 5 - е и 8 - е). В разделе 6.2 командой fsolve было найдено 4 - е решение. Проверим все 8 решений подстановкой с помощью цикла for:

>> for i=1:8

T=subs([Y1 Y2 Y3],[x y z],[S.x(i) S.y(i) S.z(i)]);

disp(vpa(T,6))

end

[ -.5e-31-.1471e-30*i,  -.32e-30+.71e-30*i,  .25e-30+.103e-29*i]

[ -.5e-31+.1471e-30*i,  -.32e-30-.71e-30*i,  .25e-30-.103e-29*i]

[  .12e-30,   .9e-31, -.13e-30]

[  .8e-31, .14e-30, -.3e-31]

[   .2e-31,  -.6e-31, -.14e-30]

[ .637e-29+.829e-29*i, -.754e-29+.15e-30*i, .709e-29-.346e-29*i]

[ .637e-29-.829e-29*i, -.754e-29-.15e-30*i, .709e-29+.346e-29*i]

[ .17422e-27, -.1012e-28, .12735e-27]

При подстановке любого из решений [Y1 Y2 Y3]  [0 0 0]. Значит, каждое из них удовлетворяет системе уравнений.

1.4 Решение уравнений и их систем

Команда fzero вычисляет вещественный корень уравнения f(x)=0.

Команда fzero имеет следующие модификации:

fzero('f(x)', x0);

fzero('f(x)', [x1, x2]).,kk

В выражениях функции приняты следующие обозначения:

'f(x)' – решаемое уравнение или имя файл-функции (в одинарных кавычках), вычисляющей левую часть уравнения;

x0 – начальное приближение (значение) искомого корня;

[x1, x2] – область изоляции корня.

Команда fzero имеет и другие модификации, о которых можно узнать с помощью команды doc fzero.

Пример:

Вычислить корни уравнения lnx - x+3 = 0 на отрезке [0;5].

Решение:

Создадим файл-функцию myfun, вычисляющую значение функции lnx - x+3 при заданном значении аргумента x:

function y=myfun(x)

y=log(x)-x+3;

Перед нахождением корней построим график исследуемой функции командой fplot и нанесем сетку (рис. 6.1):

>> fplot ('myfun',[0,5])

grid

                          

Рис. 6.1

Пояснения на графике нанесены средствами MATLAB. На графике видно, что функция на этом отрезке имеет два корня, расположенные вблизи 0,1 и 4,5. Уточним значение второго корня при помощи fzero:

>> x2=fzero('myfun',4.5)

x2 =

   4.5052

Итак, приближенное значение второго корня равно х2 = 4,5052. Вместо начального приближения 4,5 вторым параметром fzero можно задать интервал [4;5], на котором следует найти корень:

>> x2=fzero('myfun',[4,5])

x2 =

   4.5052

Отметим, что на границах указываемого интервала функция должна принимать значения разных знаков, иначе выдается сообщение об ошибке.

Получить приближенное значение корня и значение функции в этой точке позволяет вызов fzero с двумя выходными аргументами:

>> [x2,f]=fzero('myfun',[4,5])

x2 =

   4.5052

f =

-4.4409e-016

То, что значение функции близко к нулю, вообще говоря, не означает, что приближенное значение корня расположено достаточно близко к его точному значению.

Для того, чтобы увидеть больше значащих цифр корня х2, установим формат long и выведем х2 еще раз (точность вычислений не зависит от формата вывода результата):

>> format long

>> x2

x2 =

  4.50524149579288

Найдем корень х1, расположенный около 0,1:

>> format long

>> x1=fzero('myfun',.1)

x1 =

  0.05246909745771

Возникает вопрос, сколько в ответе точных значащих цифр, т. е. с какой точностью найдено решение? Задание точности вычислений обсуждается ниже в разделах 6.4, 6.5.

Важной особенностью fzero является то, что она вычисляет только те корни, в которых функция меняет знак, а не касается оси абсцисс. Найти корень уравнения x2 = 0 при помощи fzero нельзя (получим сообщение об ошибке).

Многомерным аналогом fzero является команда fsolve, предназначенная для решения системы нелинейных уравнений F(X) = 0. Одна из модификаций fsolve имеет вид fsolve('file', x0). Здесь

file – имя файл-функции, вычисляющей вектор-столбец левых частей системы уравнений,

x0 – вектор-столбец начальных приближений.

Первый входной аргумент можно задать как указатель на файл-функцию file.

Пример:

Решить cистему нелинейных уравнений

Решение:

Возникают вопросы:

1) имеет ли система вещественные решения?;

2) если вещественные решения есть, то как определить их начальные приближения?

Т. к. система имеет второй порядок, то ответ на эти вопросы легко найти графическим способом. С помощью команды ezplot (см. разд. 7.16), cтроим совместно графики парабол x2+y=3 и y2+x=2 на рис. 6.2:

>> ezplot('x^2+y-3')

>> hold

Current plot held

>> ezplot('x+y^2-2')

>> grid                                    

Рис. 6.2

Как видно на рис. 6.2 система имеет 4 вещественных решения (количество точек пересечения графиков), а одно из них имеет начальное приближение (-1;2). Уточним его с помощью команды fsolve.

Создадим файл-функцию mfun2, вычисляющую вектор-столбец левых частей системы уравнений:

function F=mfun2(x)

F=[x(1)^2+x(2)-3;x(2)^2+x(1)-2];

Программа и результаты решения системы уравнений имеют вид:

>> x0=[-1;2];

>> X=fsolve('mfun2',x0)

X =

  -1.1117

   1.7640

Получить одновременно приближенное решение и значения левых частей системы уравнений (функций x2+y - 3 и y2+x - 2) при подстановке в них этого решения позволяет вызов fsolve с двумя выходными аргументами:

>> [X,f]=fsolve(@mfun2,x0)

X =

  -1.1117

   1.7640

f =

 1.0e-008 *

   0.0445

   0.2242

Таким образом, (x;y)=(-1,1117;1,7640) – одно из приближенных вещественных решений системы. Изменяя стартовые значения (согласно рис. 6.2), можно найти и остальные вещественные решения.

Пример:

Решить cистему уравнений третьего порядка

Решение:

Для такой системы нельзя найти области начальных приближений графическим способом. Создадим файл-функцию mfun3, вычисляющую вектор-столбец левых частей системы уравнений:

function F=mfun3(x)

F=[x(1)+x(1)^2-2*x(2)*x(3)-.1;x(2)-x(2)^2+3*x(1)*x(3)+.2;x(3)+x(3)^2+2*x(1)*x(2)-.3];

Для произвольного стартового значения решения (-1;0;0) программа и результаты решения системы уравнений имеют вид:

>> x0=[-1;0;0];

>> [X,f]=fsolve('mfun3',x0)

X =

  -1.0880

  -0.1303

   0.0161

f =

 1.0e-007 *

   0.3447

  -0.2521

   0.2590

Итак, (x;y;z)=(-1,0880; -0,1303; 0,0161) – одно из приближенных вещественных решений системы. Изменяя стартовые значения, можно попытаться найти и другие вещественные решения этой системы.

Команда fsolve имеет и другие модификации, о которых можно узнать с помощью команды doc fsolve.

Команда fsolve также применима для решения одного нелинейного уравнения. В этом случае ее первый аргумент задает скалярную функцию, а вектор x0 – совокупность начальных приближений. Например:

>> fsolve(@sin,[0:3:12])

ans =

        0    3.1416    6.2832    9.4248   12.5664

дает совокупность решений уравнения sin(x) = 0, наиболее близких к соответственным стартовым точкам массива х0.

При решении используется оптимизационный алгоритм, осуществляющий минимизацию невязки F(X). Поэтому команда fsolve способна найти нули, в том числе и таких функций, как x2 и .

Существенный недостаток команд fzero и fsolve состоит в том, что они не определяют комплексных решений уравнений и систем уравнений. Команда solve пакета Symbolic дополняет эти команды. С ее помощью в разделе 7.13 будут найдены другие решения рассмотренных выше систем уравнений, в том числе и комплексные.

Задание 1 (1.1). Разложить функцию в ряд Тейлора

Разложить функцию f(x) в ряд Тейлора по степеням x-a. Воспользоваться при необходимости командами pretty, simple. Исследовать с помощью команды taylortool приближение функции на интервале [–2π+a;2π+a] отрезком ряда Тейлора, содержащем различное число членов разложения.

Варианты

  1.  f(x) =  , a=0 2. f(x) = (1–x2)cosx, a=0  3. f(x) = 2x, a=3

4. f(x) =  , a=–2     5. f(x) = , a=0     6. f(x) = e3x, a=1

7. f(x) = excosx, a=0    8. f(x) =  , a=2    9. f(x) = , a=0  

10. f(x) = (arctgx)2, a=0    11. f(x) = exln(10+x), a=0    12. f(x) = x2sinx, a=0     

13. f(x) = e-xsinx, a=0     14. f(x) = ln(‌x‌+), a=0    15. f(x) = cos2x, a=0

Задание 2 (1.2). Вычислить сумму ряда

Найти сумму числового или функционального ряда. Воспользоваться при необходимости командой vpa.

Варианты

1.      2.      3.       4.       5.  

6.       7.      8.       9.        10. 

11.   12.   13.     14.   

 15.

Задание 3 (1.3, 1.4). Решить систему алгебраических уравнений

Решить с помощью команды solve (fsolve) систему алгебраических уравнений, проверить решение подстановкой.

Варианты

1. 2. 3. 4.

5. 6. 7 8.

9. 10 11. 12.

13. 14. 15.

PAGE  17


 

А также другие работы, которые могут Вас заинтересовать

49941. ПРОГРАММА ОЧИСТКИ ОПЕРАТИВНОЙ ПАМЯТИ 345.78 KB
  Данные функции программы FreeMemory позволяют поддерживать бесперебойную работу ПК длительное время, предотвращать утечки памяти, засорение оперативной памяти неиспользуемыми DLL и программами, а также в итоге предотвращать зависание ПК.
49943. ОБРАБОТКА РЕЗУЛЬТАТОВ ИЗМЕРЕНИЙ МЕТОДОМ НАИМЕНЬШИХ КВАДРАТОВ 1.72 MB
  Если к моменту времени t было N активных ядер то за время dt их распадется λNdt где λ постоянная распада. Так как процессы накопления и распада активных ядер идут одновременно то дифференциальное уравнение для определения изменения количества активных ядер во времени Nt имеет вид: 2.1 где ФNстσ число образующихся за единицу времени радиоактивных ядер.1 при начальном условии: в момент времени t=0 Nt=0 и полагая что за время облучения в каждый момент количество образовавшихся активных ядер много меньше количества ядер...
49946. Изучение теории погрешностей и кинематики материальной точки 192 KB
  Цель работы: Изучение основ теории погрешностей и методов обработки экспериментальных результатов. Определение кинематических характеристик по стробоскопическим фото. Приборы и принадлежности: стробоскопические фотографии, линейка, карандаш.