Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программные средства компьютерной математики. Практикум. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
804 Кб
Скачать

10)

( ) = 3

+

 

 

+ 1

 

( ) = 2

 

 

 

 

 

( )

 

 

11)

( ) =

 

 

 

 

 

 

( ) = 2

+

 

 

 

 

 

( )

 

 

9)

( ) =

 

sin

,

 

 

( ) = 2

 

 

sin

 

 

 

 

;

 

12)

 

 

 

 

 

,

 

 

sin

 

( )

 

13)

( ) =

cos

sin

 

 

 

 

 

 

 

 

 

 

 

 

;

 

 

 

 

(, ) = − 2

 

 

 

 

 

 

;

 

 

 

;

 

14)

( ) = 1 +

cos

 

,

( ) = 2

 

 

 

 

sin

 

 

 

 

 

 

sin

,

 

 

 

 

sin

 

;

 

 

 

cos

 

,

 

 

 

 

 

 

;

 

 

 

 

 

 

 

( )

 

15)

( ) = 3

 

+

 

 

 

(,

 

 

( ) = 2

 

 

 

 

 

 

 

16)

( ) = 3

 

 

sin

 

 

) = 2

+ 1

 

 

 

 

 

;

 

 

 

 

;

 

17)

( ) =

 

+ cos

 

,

( ) = 3

 

;

+cos

 

 

 

 

18)

 

 

sin

 

,

 

 

,

( ) = 2

 

 

 

 

 

 

 

 

 

 

 

 

( ) = 2 −

 

 

cos

 

sin( ).

 

 

( ) = 2 −

) =

(

( ) = 2 − ( )

);

2), 8), 14)

( ,

 

 

 

 

) cos

 

(

 

 

+

3. Построить график поверхности.

 

 

+

)

 

3), 9), 15)

(

 

,

 

) =

(

 

 

)

 

;

 

(

 

 

;

1), 7) , 13)

(

 

 

 

 

 

 

 

 

 

 

 

 

 

sin

 

 

 

 

 

 

 

5), 11), 17)

(

 

,

 

) = 2

(

) + 4xy ;

.

6), 12), 18)

( ,

 

) = 3

(

+

 

 

 

+ 5xy)

 

4), 10), 16)

( , ) = 2

(

+ + 5

 

 

 

)

− 1

 

,

 

) = 3 (

 

+

 

)

 

 

 

 

;

 

 

 

 

 

Практическая работа № 2. Способы символьных вычислений

Цель работы: изучить способы символьных вычислений.

Теоретические сведения

Преобразования выражений осуществляется при помощи команд на панели "Математика" (рис. 9).

Рис. 9

11

Преобразование тригонометрических выражений

Функция trigexpand раскладывает все тригонометрические и гиперболические функции от сумм и произведений в комбинации соответствующих функций единичных углов и аргументов. Для усиления пользовательского контроля один вызовtrigexpand выполняет упрощение на одном уровне. Для управления вычислением имеется флаг trigexpand. Изначально флаг trigexpand установлен в false. Если флаг trigexpand установить в true, то функция trigexpand будет работать до тех пор, пока выражение не перестанет меняться.

Рассмотрим пример разложения функции sin(2x) на множи-

 

Затемsin(2 ·

)

 

тели. Введем исходную функцию:

 

(%i1)

(2·x);

 

 

(%o1)

на панели Математика (рис. 9) выбираем

команду

 

Разложить (триг). После этого результат разложения выражения

 

2 · cos(

) · sin( )

 

появится чуть ниже в виде:

 

(%i3)

trigexpand(%);

 

(%o3)

 

.

 

 

Символьные

операции возможны лишь над

каким-либо

объектом (выражением, его частью или отдельной переменной). Для того чтобы правильно осуществить желаемое аналитическое преобразование, предварительно необходимо записать команду разложения написать перед объектом, к которому оно будет относиться. Например, если в выражении sin(2x) + cos(2x) выделить

 

sin(2x) − sin(x) + cos(x)

 

только второе слагаемое, то разложится только оно:

(%i5)

sin(2·x)+trigexpand(cos(2· );

(%o5)

 

 

.

Если выражение не поддается аналитическим преобразова-

(%i11)

(x)

 

 

(%o10)

sin

 

 

ниям, то в качестве результата выводится само выражение:

(%i10)

sin(x)

;

 

(%o11)

 

 

 

trigexpand(%);

 

12

Функция trigreduce свёртывает все произведения тригонометрических и гиперболических функций в комбинации соответствующих функции от сумм. Функция работает не до конца, так что повторный вызов может изменить выражение. При вызове функции в формате trigreduce(expr, x) преобразования осуществляются относительно функций x.

Функция trigrat (синтаксис вызова trigrat(expr)) приводит заданное тригонометрическое выражениеexpr к канонической упрощённой квазилинейной форме. Это выражение рассматривается как рациональное, содержащее sin, cos, tan, аргументы которых линейные формы некоторых переменных и /nπ (n - целое). Всегда, когда возможно, заданное выражение линеаризуется.

Преобразование рациональных выражений

Для выделения числителя и знаменателя дробных выражений используются функции num и denom:

(%i1) expr:(x^2+1)/(x^3-1);

 

(%o1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(%i2) num(expr);

 

 

 

 

(%o2)

denom(expr);

 

 

 

 

(%i3)

 

 

 

 

 

 

+ 1

 

 

 

 

(%o3)

 

 

rat приводит выражение к каноническому пред-

 

Функция − 1

 

 

 

ставлению. Она упрощает любое выражение, рассматривая его

как дробно-рациональную функцию, т.е. работает с операциями

"+", "-", "*", "/" и с возведением в целую степень.

 

 

 

Синтаксис вызова:

 

 

 

 

rat(expr)

 

 

 

 

 

 

rat(expr, x1, . . . , xn)

 

 

 

 

Переменные упорядочиваются в

соответствии со списком

x1, . . . ,xn. При этом вид ответа зависит от способа упорядочива-

ния переменных Изначально переменные упорядочены в алфа-

витном порядке.

 

 

 

 

Функция ratsimp приводит все части (в том числе аргумен-

ты

функций) выражения, которое

не

является

дробно-

рациональной

функцией, к каноническому представлению,

про-

13

изводя упрощения, которые не выполняет функцияrat. Повторный вызов функции в общем случае может изменить результат, т.е. не обязательно упрощение проводится до конца. Применением упрощения к экспоненциальным выражениям управляет флаг ratsimexpons, по умолчанию равный false, если его установить в true, упрощение применяется и к показателям степени или экспоненты.

(%i34)

g:(1/a−1/(b+c))/(1/a+1/(b+c))·(1+(b^2+c^2−a^2)/2/b/c)/((a−b −c)/a/b/c);

(g)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(%i35)

ratsimp(%);

 

(

)

 

 

 

 

 

 

(%o35)

 

 

 

 

 

 

 

 

 

2(sin((x))

+ cos((x))) − 3cos(x)

sin(x)

(%o45)

(%i44)

f:2·((sin(x))^6 + (cos(x))^6) − 3·((sin( )^4·(cos(x))^4);

(f)

 

 

 

 

 

 

 

 

 

(%i45)

trigrat(f ;

 

 

 

 

 

 

 

 

Функция fullratsimp вызывает функцию ratsimp до тех пор, пока выражение не перестанет меняться.

Преобразование аналитических выражений

Подстановки осуществляются функцииsubst. Вызов этой функции:

subst(a, b, c)

подставляет a вместо b в выражении c. Например+ : +

(%i46) subst (a, x+y, x + (x+y)^2 + y);

(%o46)

(%i47)

subst(sqrt(1+1/(t−1)), x, sqrt(cos(x)+sin(y)−t)); ;

(%o47)

 

sin( ) − + cos

 

+ 1

 

 

14

factor – в зависимости от введенного выражения данный оператор выполняет одно из следующих действий: сворачивает полином в произведение полиномов, раскладывает целое число на простые множители или приводит дроби к общему знаменателю.

(%o14)

2 ∙ 11 ∙ 313;

 

 

 

 

 

 

 

 

Например:

 

 

 

 

 

 

 

 

 

 

(%i14)

factor(27544);

− 2) · (

+ 2)

 

 

 

(%o16)

(2 ·

+

) · (

 

 

 

(%i16)

factor (−8·y − 4·x + z^2·(2·y + x));

 

 

 

Функция factorsum факторизует отдельные слагаемые в вы-

(%o17)

 

+

+ 2

 

+ 2

+

+

+ 2

+

ражении

 

 

 

 

 

 

 

 

 

 

 

(%i17)

expand ((x + 1)·((u v)^2

a·(w + z)^2));

 

 

(%o18)

+

+

+

)

+2

+

) )

 

 

 

( + 1)(

( +

 

+ (

+

 

 

 

(%i18)

factorsum(%);

 

 

 

 

 

 

 

 

expand - операция символьного разложения, или расширения, выражений. В ходе разложения раскрываются все суммы и произведения;

Например:

(%i12) (3sin·sin(x)(x) + 2cos·cos((x))^2++ (2·sin(x)2sin(x) −3cos3·cos(x))^2;(x)

(%i13) expand(%);

(%o12) 13sin(x) + 13cos(x)

(%o13)

В Maxima существует специальная команда, позволяющая вычислять ряды и многочлены Тейлора:

taylor(expr,x,a,n).

Здесь expr -разлагаемое в ряд выражение, a - значение x, в окрестности которого выполняется разложение(по степеням x a), n - параметр, указывающий на порядок разложения и представленный целым положительным числом. Если a указывается

15

Задания
powerseries(sin(x( ) ∙ ),x,0);
( ∙ )!

просто в виде имени переменной, то производится вычисление

ряда и многочлена Маклорена:

+

+ + +

+

(%o48)/T/

1 +

+

 

+ +

(%i48)

taylor(exp(x),x,0,9);

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

+. ..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

+

 

+. ..

 

 

 

 

 

(%o50)/T/

 

 

 

 

 

 

(%i50)

taylor(sin(x),x,0,9);

 

 

 

 

 

 

 

 

 

 

 

Наряду с командой taylor для разложения функций и выражений в ряды используется команда

powerseries(выражение,x,a).

Строится разложение для заданного выражения по переменнойx в окрестности a. Результатом выполнения командыpowerseries может быть построение ее ряда Тейлора в общей форме, например:

(%i51)

(%o51)

1. Даны стороны треугольника. Найдите точное значение площади треугольника и его приближенное значение, выведенное

с 25 знаками после запятой.

 

 

1.

52, 45, 37;

10.

45, 67, 74;

2.

34,62, 45;

11.

93, 66, 81;

3.

76, 32, 56;

12.

59, 48, 73;

4.

57, 42,79;

13.

64, 59, 81;

5.

39, 67, 52;

14.

55, 88, 66;

6.

56, 44, 81;

15.

59, 41, 50;

7.

96, 69, 88;

16.

69, 58, 47;

8.

54, 39, 76;

17.

81, 45, 72;

9.

56, 90, 71;

18.

82, 67, 51.

16

2. Упростить выражение.

1), 7), 13) (3sin(x)

+

2cos(x))2 + (2sin(x) - 3cos(x))2;

2), 8), 14) (1 - sin(x)·cos(x)·tg(x)) + sin2(x) + 3;

3), 9), 15) cos(2x)

+

sin(2x)·tg(x);

4), 10), 16) sin6(x)

+

cos6(x) + 3sin2(x)·cos2(x);

5), 11), 17)

2(sin6(x)

+ cos6(x)) - 3(sin4(x)·cos4(x));

6), 12, 18)

cos4(2x) + 6sin2(2x)·cos2(2x) + sin4(2x) - 2sin2(4x).

3. Разложить число на простые множители.

1.1245;

2.7544;

3.7935;

4.6278;

5.3405;

6.4176;

7.5972;

8.9045;

9.6712;

10.5972;

11.6735;

12.7914;

13.7842;

14.6375;

15.9145;

16.3366;

17.7912;

18.6734.

17

4. Подставить

 

в заданную функцию

вместоx

 

 

заданное

1), 7), 13)

 

cos

 

+ sin

 

+ 2

,

 

 

= 1 +

 

 

 

 

;

 

 

 

 

выражение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3), 9), 15)

(cos

+ tg

+

 

 

)

− √

,

,

=

 

 

+

 

 

 

;

 

 

 

2), 8), 14)

(ln

− cos

+

)

 

 

− 5

 

 

 

=

 

 

 

 

 

 

− 1

 

 

 

;

5), 11), 17)

sin

− cos

+ 5 + √

 

 

,,

 

=

 

 

 

 

 

 

− 2;

;

 

 

 

 

 

 

 

 

4), 10), 16)

(cos

+ tg

+

 

 

 

) + 2

 

 

 

=

 

 

+

 

 

 

 

 

6), 12), 18)

sin

− cos

+ 5 − 5

 

,

=

 

 

 

 

 

 

 

− 1

.

 

 

 

 

 

 

 

 

 

 

Практическая работа № 3. Матричные вычисления

Цель работы: изучить способы задания векторов и матриц, действия с векторами и матрицами.

Теоретические сведения

wxMaxima поддерживает два вида массивов – одномерные (векторы, списки) и двумерные (матрицы). В Maxima на матрицах определены обычные операции умножения на число, сложения и матричного умножения. Последнее реализуется с помощью бинарной операции "." (точка). Элементы матрицы по умолчанию нумеруются с 1.

1. Способы задания матрицы

Матрицу можно целиком ввести с клавиатуры или с помощью функциональной зависимости элемента массива от его индексов.

Введение элементов матрицы с клавиатуры. Чтобы ввести элементы матрицы с клавиатуры, выберите команду меню Алгебра Ввести матрицу. В открывшемся диалоговом окне

18

(рис. 10) введите количество строк (Rows) и столбцов (Columns) и имя матрицы.

Рис. 10

При нажатии клавиши OK появится шаблон матрицы, в который можно вводить ее элементы (рис. 11).

 

 

 

 

Рис. 11

Например:

1

2

3

Для

Создание прямоугольной матрицы:

(%i8)

 

a:matrix([1,2,3],[4,5,6]);

(a)

 

 

 

 

 

 

доступа к элементу матрицы нужно указать номер

строки и

столбца нужного элемента в виде индексов.

 

4

5

6

Пример:

 

 

а) ручной ввод матриц:

(%i9)

 

A: matrix(

 

 

[1,2,3],

 

 

 

[4,5,6],

 

19

(%i11)

[7,8,9]

6

 

4

5

(A)

);1

2

3

(%o11)

17

8

9

 

A[1,1];

 

б) ввод нулевой матрицы:

(%i16)

zeromatrix(2,2);

(%o16)

 

0

0

 

 

 

единичной матрицы:

в) ввод0

0

 

(%i17)

ident(2);

 

(%o17)

 

1

0

 

Кроме

доступа к отдельным элементам матрицы, wxMax-

0

1

 

ima дает возможность выводить и изменять отдельный столбец или строку матрицы.

Функции row и col позволят извлечь соответственно сироку и столбец заданной матрицы, получая список. Синтаксис вызова:

row (M, i) - возвращает i-ю строку; col (M, i) - возвращает i-й столбец.

Для выделения аналогичным образом строки матрицу нужно предварительно транспонировать.

Например:

(%i31) row(C,2);

(%o31)

(%i32) col(C,1);1

(%o32)

20

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