2 e2-§ 15. Линейные однородные дифференциальные уравнения с постоянными коэффициентами Линейные дифференциальные уравнения с постоянными коэффициентами имеют вид y(n) + pn-1y(n-1) +... + p1y + p0y = f(x), где p0, p1,..., pn-1 – постоянные коэффициенты.
Однородным линейным уравнением называются уравнения с нулевой пра вой частью (f(x) = 0).
Для решения такого уравнения записывается алгебраическое уравнение n-й степени kn + pn-1kn-1 +... + p1k + p0 = 0, называемое характеристическим уравнением.
В соответствии с основной теоремой алгебры уравнение n степени имеет ровно n корней, считая все вещественные и комплексные корни с учетом их кратности: k1, k2,..., kn. Каждому из корней соответствует свое частное ре шение y1(x), y2(x),..., yn(x). Общее решение дифференциального уравнения имеет вид y(x) = C1y1(x) + C2y2(x) +... + Cnyn(x), содержащее n произвольных постоянных и позволяющее решать любую задачу Коши с начальными данными y(x0) = y0, y(x0) = y1,..., y(n-1)(x0) = yn-1.
Действительно, такая задача сведется к поиску конкретных значений постоянных C1, C2,..., Cn.
Рассмотрим различные случаи корней характеристического уравнения и ви ды соответствующих им частных решений.
а) Простой вещественный корень. Простому вещественному корню k1 характеристического уравнения соответствует частное решение y1(x) = ek x.
Пример 1. Решить однородное дифференциальное уравнение y - 5y + +6y = 0. Запишем характеристическое уравнение k3-5k2+6k = 0. Это уравне ние имеет три простых корня: k1 = 0, k2 = 2, k3 = 3. Частными решениями для этих корней будут функции y1(x) = e0x = 1, y2(x) = e2x, y3(x) = e3x. Общим решением исходного дифференциального уравнение будет функция y(x) = C1 + + C2e2x + C3e3x.
б) Вещественный корень кратности m. Если корень k1 характери стического уравнения имеет кратность m, то, соответствующие ему m частных 1 1 решений имеют вид y1(x) = ek x, y2(x) = xek x,..., ym(x) = xm-1ek x.
Пример 2. Решить однородное дифференциальное уравнение y(6)-2y(5)+ + y(4) = 0. Характеристическое уравнение имеет вид k6 - 2k5 + k4 = 0 или k4(k - 1)2 = 0, и следовательно, имеет корни k1 = 0 (кратности четыре) и k2 = = 1 (кратности два). Поэтому общим решением исходного дифференциального уравнения будет являться функция y(x) = C1+C2x+C3x2+C4x3+C5ex+C6xex.
в) Простой комплексный корень. При решении алгебраического урав нения с вещественными коэффициентами наличие комплексного корня k1 = + + i обеспечивает наличие комплексно сопряженного корня k2 = - i. Этой паре комплексных корней соответствуют частные решения y1(x) = ex cos x и y2(x) = ex sin x.
Пример 3. Решить дифференциальное уравнение y(4) + 4y = 0. Характе ристическим уравнением является уравнение k4 + 4k2 = 0 или k2(k2 + 4) = 0.
Корнями этого уравнения являются k1 = 0 (кратности 2) и комплексные корни k2 = 2i, k3 = -2i. Поэтому общее решение имеет вид y(x) = C1 + C2x + + C3 cos 2x + C4 sin 2x.
г) Комплексные корни кратности m. В случае, когда характеристи ческое уравнение имеет два комплексно сопряженных корня ± i кратности m, соответствующие этим корням частные решения соответствующего одно родного дифференциального уравнения имеют вид ex cos x, xex cos x,..., xm-1ex cos x и аналогичные решения с синусом: ex sin x, xex sin x,..., xm-1ex sin x.
Пример 4. Решить дифференциальное уравнение y(4)+4y+14y+20y+ + 25y = 0. Характеристическое уравнение можно представить в виде (k2 + 2k + + 5)2 = 0, следовательно, корнями характеристического уравнения являются числа -1±2i (кратности 2). Поэтому общим решение дифференциального урав нения будет функция y(x) = e-x(C1 cos 2x+C2x cos 2x+C3 sin 2x+C4x sin 2x).
15.1. Задания к теме. Решить уравнения:
1. y - 4y + 3y = 0, 2. y - 6y + 9y = 0, 3. y + 4y = 0, 4. yIV - 16y = 0, 5. y - 8y = 0, 6. 4yIV - 3y - y = 0, 7. y + 3y + 2y = 0, 8. y + 2y + 5y = 0, 9. yIV + 8y + 16y = 0, Ответы: 1. y = C1ex + C2e3x. 2. y = e3x(C1 + C2x). 3. y = C1 cos 2x + + C2 sin 2x. 4. y = C1e2x + C2e-2x + C3 cos 2x + C4 sin 2x. 5. y = C1e2x + x x + e-x(C2 cos 3x + C3 sin 3x). 6. y = C1ex + C2e-x + C3 cos + C4 sin. 7.
2 y = C1e-2x+C2e-x. 8. y = e-x(C1 cos 2x+C2 sin 2x). 9. y = (C1+C2x) cos 2x+ + (C3 + C4x) sin 2x.
§ 16. Системы двух линейных однородных дифференциальных уравнений с постоянными коэффициентами Решение системы предполагает, что мы должны найти 2 функции x(t) и y(t), удовлетворяющие уравнениям x = p11x(t) + p12y(t), y = p21x(t) + p22y(t).
Характеристическое уравнение данной системы имеет вид p11 - k p = 0.
p21 p22 - k Оно представляет собой квадратное уравнение и оно имеет два корня k1 и k2. Об щее решение x(t) находится по этим корням так же, как и в 15.. Для нахождения y(t) используется уравнение системы.
x(t) = e3t(C1 cos 2t + C2 sin 2t), y(t) = e3t((C1 - 2C2) cos 2t + (C2 + 2C1) sin 2t).
Глава II.
Работа в программе Maxima § 17. Знакомство с программой Maxima 17.1. Простейшие операции. Ввод любой команды в Maxima закан чивается символом “;” или “$”. Первый символ используется, если результат выполнения команды надо вывести на экран, а второй – когда команда вы полняется без вывода (также этот символ используется при выводе графиков).
Выполнение команды происходит при нажатии комбинации “Shift+Enter” или “Ctrl+Enter”.
1 Вычислим сумму дробей +. Запишем в программе команду 3 --> 1/3+3/7;
и нажмем “Shift+Enter”. В результате получим ответ:
(%) Если результат надо получить в десятичной форме, после команды следует дописать “, numer”:
--> 1/3+3/7,numer;
0.(%) Программа выводит 16 знаков числа. Изменить это число (например, когда требуется меньшая точность) можно командойfpprintprec, указав, сколько знаков числа следует выводить:
--> fpprintprec:5;
Теперь, при выводе числа в десятичной записи Maxima будет выдавать лишь 5 знаков числа:
--> 11/3-3/7,numer;
3.(%) Для четырех основных математических операций используются символы “+”, “-”, “*”, “/”. Отметим, что если в обычной записи знак умножения иногда опускается, в программе Maxima его следует писать всегда. Для указания приори тета операций используются круглые скобки (символы “(” и “)”). Так, для того, 6(3 + 4) чтобы вычислить, чему равна дробь, надо использовать следующую 7 - команду --> 6*(3+4)/(7-3);
Для возведения в степень используется символ “^”. Для того, чтобы вычис лить 210, 5-2, 27 следует писать команды:
--> 210; 5(-2);27(1/3);
(%) (%) (%) Для квадратного корня можно также использовать функциюsqrt(). Най дем 169 и 170:
--> sqrt(169);sqrt(170) (%) (%) Найдем 170 в десятичной форме:
--> sqrt(170),numer;
13.(%) 17.2. Переменные и постоянные Постоянные в Maxima начинаются с символа “%”. Так, числа, e, i следует писать так: “%pi”, “%e”, “%i”. Найдем численное значение и возведем i в квадрат:
--> %pi,numer;
3.(%) --> %i2;
(%) - Буквы латинского алфавита программа понимает как переменные. Заглав ные и строчные буквы считаются различными переменными. Программа по нимает и русские буквы, но из за того, что многие из них имеют одинаковое написание с латинскими, во избежание путаницы, лучше их не использовать.
Заметим также, что при записи латинскими буквами названий греческих букв, при выводе программа запишет результат греческими:
--> beta-alpha (%) - Для присваивания переменным значений используется символ “:” (хотя в обычной записи для этого используется символ “=”). Зададим a = 5 и b = 10.
Присвоим переменной c значение a + b и переменной d значение c · b:
--> a:5;b:10;
(%) (%) --> c:a+b;d:c*b;
(%) (%) 17.3. Основные математические функции. В таблице приведен список основных математических функций.
Отметим, что при записи функции в программе Maxima аргумент следует брать в круглые скобки.
Найдем |arctg(ln e)| + esin :
--> abs(atan(log(%e)))+sqrt(exp(sin(%pi/3)));
+ e (%) Запись в Функция Описание Maxima abs(x) |x| модуль числа sqrt(x) x квадратный корень exp(x) ex экспонента log(x) ln x натуральный логарифм sin(x) sin x cos(x) cos x тригонометрические функ tan(x) tg x ции cot(x) ctg x asin(x) arcsin x acos(x) arccos x обратные тригонометриче atan(x) arctg x ские функции acot(x) arcctg x Функциям можно присваивать имена (командой присваивания “:”) и нахо дить их числовые значения при заданном аргументе. Например, функции ln 3x+ x + e присвоим имяfuncи найдем ее точное и приближенное (в десятичной записи) значение при x = 5:
--> func:log(3*x)+exp(sqrt(x));
x log (3 x) + e (%) --> func, x=5;
log (15) + e (%) --> func, x=5,numer;
12.(%) 17.4. Задания к теме.
25 + 1. Вычислить.
82/3 - 2. Найти значение выражения в десятичной записи.
1 + e - 3. Задать a = 2, b = a +, c = ba. Найти сумму a + b + c.
a ex - e-x 4. Присвоить функции имяthи вычислить значения этой функ ex + e-x ции при а) x = 1, б) x = ln(2), в) x = -4.
§ 18. Преобразование арифметических выражений Познакомимся с основными командами, служащими для обработки матема тических выражений, т.е. представления результата в нужном для пользователя виде.
18.1. Раскрытие скобок и разложение на множители. Для рас крытия скобок в выражении используется командаexpand(). Раскроем скобки в выражении (x + y)--> expand((x+y)5);
y5 + 5 x y4 + 10 x2 y3 + 10 x3 y2 + 5 x4 y + x(%) Для разложения на множители в программе Maxima используется команда factor(). Разложим на множители x6 - 1:
--> factor(x6-1);
(x (%) - 1) (x + 1) x2 - x + 1 x2 + x + 18.2. Упрощение арифметических выражений. Для приведения выражений к простому виду существуют командыratsimp()иradcan(). Пер вая команда работает с арифметическими выражениями, а вторая упрощает выражения с дробными степенями, логарифмами и экспонентами.
x + t Упростим дробь :
x2 - t--> ratsimp((x+t)/(x2-t2));
(%) x - t e4w Упростим выражение f = ln. Запишем вначале его под именемf:
z--> f:log(exp(4*w)/z6);
Попробуем преобразовать командойratsimp():
--> ratsimp(f);
e4 w log (%) zКак мы видим, командаratsimp()упростить это выражение не смогла.
Выполним упрощение командойradcan():
--> radcan(f);
4 w (%) - 6 log (z) 18.3. Упрощение тригонометрических выражений. Для преобра зований тригонометрических выражений существуют командыtrigexpand(), trigreduce(),trigsimp(). Первая команда раскладывает все тригонометри ческие функции от сумм и кратных углов через функции одинарного угла.
Запишем sin 4x через функции аргумента x:
--> trigexpand(sin(4*x));
4 cos (x)3 sin (x) - 4 cos (x) sin (x)(%) Запишем tg(a + b - c) через функции от аргументов a, b, c:
--> trigexpand(tan(a+b-c));
-tan (a) tan (b) tan (c) + tan (c) - tan (b) - tan (a) (%) tan (b) tan (c) + tan (a) tan (c) - tan (a) tan (b) + Командаtrigreduce()выполняет свертывание всех произведений тригоно метрических функций в тригонометрические функции от сумм. Запишем sin(a+ + b) sin(a) sin(a - b) в виде суммы:
--> trigreduce(sin(a-b)*sin(a)*sin(a+b));
sin (2 b + a) sin (2 b - a) sin (3 a) sin (a) - - + (%) 4 4 4 Командаtrigsimp()пытается упросить выражение, применяя к нему про стейшие тригонометрические тождества типа sin2 x + cos2 x = 1. Упростим вы ражение --> trigsimp(1-cos(x)2);
sin (x)(%) Наилучшего результата в преобразовании тригонометрических выра жений можно добиться, комбинируя trigsimp(), trigreduce() и ratsimp()/radcan().
18.4. Задания к теме.
esin 2t+cos t - 1. Задать функцию f(t) = и найти ее значение при t = /3.
1 + ln2 t 2. Разложить на множители полином x5 - x4 + 2x3 - 2x2 + x - 1.
16r(x + r)3 - (x - r)4 + x3. Упростить.
(x + r)2 - (x - r) x - a(x + a) - (x - a) 4. Упростить.
§ 19. Операции с матрицами 19.1. Задание матриц. Матрицы вводятся с помощью команды matrix, каждая строка пишется в квадратных скобках. Например, зададим мат рицу A:
--> A:matrix([1,2,3],[4,5,6],[7,8,9]);
1 2 4 5 (%) 7 8 Можно получить доступ к любому элементу матрицы, записав его индексы в квадратных скобках. Если написать лишь один индекс, Maxima выведет заданную строку.
1 4 2 5 (%) 3 6 С помощью этой команды можно вывести заданный столбец:
--> transpose(A)[3];
[3, 6, 9] (%) Команды addrow/addcol добавляют к матрице дополнительную стро ку/ряд. Заметим, что эти команды не изменяют исходную матрицу (то есть выполнения предыдущих команд матрица A так и останется исходной матрицей 33), а создают новую матрицу. Чтобы использовать полученную матрицу в по следующих расчетах, ей необходимо дать имя. Так матрицу A1, равную матрице A с добавленной четвертой нулевой строкой можно задать командой --> A1: addrow(A,[0,0,0]);
1 2 4 5 (%) 7 8 0 0 Создадим матрицу A2, добавим к A новый столбец:
--> A2: addcol(A,[9,9,9]);
1 2 3 4 5 6 (%) 7 8 9 Убрать ненужные строки или столбцы из матрицы можно командой submatrix. Убираемые номера строк надо писать через запятую до имени ис ходной матрицы, а номера столбцов – после. Например, удалим из матрицы A первую строку и третий столбец. Полученной матрице дадим имя A--> A3: submatrix(1,A, 3);
4 (%) 7 19.2. Простейшие операции с матрицами. Матрица A у нас уже введена, зададим еще одну матрицу B:
--> B:matrix([1,1,1],[0,1,2],[1,0,0]);
1 1 0 1 (%) 1 0 Команды “+” и “-” выполняют сложение и вычитание матриц --> A+B;A-B;
2 3 4 0 1 4 6 8 4 4 (%) 8 8 9 6 8 Команда “*” выполняет поэлементное умножение. Для матричного умноже ния есть команда “.”:
--> A*B;A.B;
1 2 3 4 3 0 5 12 10 9 (%) 7 0 0 16 15 Есть также команды поэлементного “” и матричного “” возведения в целую степень:
Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.