Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
произведения | Учебники

Записи с меткой «произведения»

Вычисление сумм в численном виде

Вычисление сумм в численном виде
Для вычисления сумм в численном виде используются следующие функции:

  • NSum[f, {i, imin, imax }]— возвращает численное значение суммы f [ i ] при i, изменяющемся от imin до imax с шагом +1;
  • NSumff, {i, imin, imax, di }]— возвращает сумму численных значений функции f [i] при i, изменяющемся от imin до imax с шагом di;
  • NSum[f, {i, imin, imax}, {j, jmin, j max },…]— выполняет многомерное суммирование. Функция NSum[… ] эквивалентна выражению N[Sum[…] ].

Особенностью этой функции является возможность использования ряда опций, управляющих вычислительным процессом. Одной из них является NSumTerms, задающая число членов, которые явно должны быть включены в сумму перед экстраполяцией. Вы можете просмотреть список опций, используя команду Options [NSum] . 
Пример применения функции NSum представлен ниже:
NSum[1/i3, {i, 1, бесконечность}]
1.20206
Пример точного вычисления суммы (для сравнения) с помощью функции Sum:
truesum = Sum [1+k/ 2k k/ 3k{k, 1, 50}
1818632874295681087853745424762603034467 / 808281277464764060643139600456536293376
N[%]
2.25
Пример вычисления той же суммы с помощью функции NSum с опциями:
NSum [ 1+k/ 2 k -3k, {k, 1, 50}, Method -> SequenceLimit,
NSumTerms -> 2 , NSumExtraTerms -> 4 ] — truesum
0.0530365
При следующем наборе опций результат еще лучше:
NSum [ 1+k/ 2 k -3k, {k, 1, 50}, Method -> SequenceLimit, WorkingPrecision -> 30 , NSumTerms -> 2 ,
NSumExtraTerms -> 10, WynnDegree -> 4] — truesum
0.x10-26
Функция вычисления суммы NSum выполняется заметно быстрее, чем функция Sum, хотя на практике заметить это трудно — все приведенные выше примеры выполняются за доли секунды. Возвращаемый функцией NSum результат вещественный.
 
Вычисление произведений
 
Вычисление произведений в аналитическом виде
Операции вычисления произведений
Произведение от i=imin до i=imax по fi представлены следующими функциями:

  • Product [f, {i, imax}] — возвращает произведения значений f [i] для значений i, изменяющихся от 1 до imax;
  • Product [f, {i, imin, imax}]—возвращает произведение значений f [ i ] при изменении i от imin до imax с шагом +1;
  • Product[f, {i, imin, imax, di}] — возвращает произведение f [ i ] при i, меняющемся от значения imin до значения imax с шагом di;
  • Product [f, {i, imin, imax}, {j, jmin, jmax},…] — вычисляет многократное произведение (произведение по нескольким переменным).

Примеры использования функций вычисления произведения.

Ввод (In)

Вывод (Out)

Product [i,{i ,10}]

3628800

NProduct [k ^ 2,{k, 1,5}]

14400.

NProduct[i ^ 2, {1,1,2,0. 2}]

93.6405

Product [Logfi], {±,2,5,0.5}]

4.23201 Log[2]

Следующий пример иллюстрирует вычисление произведения в символьном виде:
Произведение (x+i2) , где i=1…5
(1+х) (4 + х) (9 + х) (16 + х) (25 + х)
Об опасности перестановки сомножителей свидетельствуют следующие примеры: Product [i, i,l, 10] 3628800
Product [i,i, 10,1]
1
Product[i,i,10,l,-l]
3628800
Как и в случае вычисления суммы, средний пример явно ошибочен. далее…

Основные понятия линейной алгебры

Основные понятия линейной алгебры
Массивы, в основном в виде векторов и матриц, широко применяются при решении задач линейной алгебры. Прежде чем перейти к рассмотрению возможностей Mathematica в части решения таких задач, рассмотрим краткие определения, относящиеся к линейной алгебре.
Матрица — прямоугольная двумерная таблица, содержащая m строк и п столбцов элементов, каждый из которых может быть представлен числом, константой, переменной, символьным или математическим выражением (расширительная трактовка матрицы).
Квадратная матрица — матрица, у которой число строк m равно числу столбцов п. Пример квадратной матрицы размером 3×3:
1  2  3
4  5  6
7  8  9
Сингулярная (вырожденная) матрица — квадратная матрица, у которой детерминант (определитель) равен 0. Такая матрица обычно не упрощается при символьных вычислениях. Линейные уравнения с почти сингулярными матрицами могут давать большие погрешности при решении.
Единичная матрица — это квадратная матрица, у которой диагональные элементов равны 1, а остальные элементы равны 0. Ниже представлена единичная матрица размером 4×4: 

 

 

1

0

0

0

 

 

0

1

0

0

E

=

0

0

1

0

 

 

0

0

0

1

Транспонированная матрица — квадратная матрица, у которой столбцы и строки меняются местами. Приведем простой пример.
Исходная матрица:

 

 

a

b

c

A

=

d

e

f

 

 

i

k

l

Транспонированная матрица:

 

 

a

d

i

А т

=

b

e

k

 

 

c

f

l

Обратная матрица — это матрица М -1 , которая, будучи умноженной на исходную квадратную матрицу М, дает единичную матрицу Е.
Ступенчатая форма матрицы соответствует условиям, когда первый ненулевой элемент в каждой строке есть 1 и первый ненулевой элемент каждой строки появляется справа от первого ненулевого элемента в предыдущей строке, то есть все элементы ниже первого ненулевого в строке — нули. далее…

Изменение порядка расположения элементов в списке

Изменение порядка расположения элементов в списке
Помимо добавления в список новых данных имеется возможность изменения порядка расположения элементов в списке. Она реализуется следующими операциями:

  • Flatten [list] — выравнивает (превращает в одномерный) список по всем его уровням;
  • Flatten [list, n] — выравнивает список по п его уровням;
  • Flatten [list, n, h] — выравнивает выражения с заголовком h no n уровням;
  • FlattenAt [list, n] — выравнивает подсписок, если он оказывается п-м элементом списка list. Если n отрицательно, позиция отсчитывается с конца;
  • Sort [list] — сортирует элементы списка list в каноническом порядке;
  • Sort[list,p] — сортирует согласно функции упорядочения р;
  • Reverse [list] — возвращает список с обратным порядком расположения элементов;
  • RotateLeft [list] — возвращает список после однократного поворота влево;
  • RotateLeft [list, n] — возвращает список после n-кратного поворота влево;
  • RotateRight [list] — возвращает список после однократного поворота вправо;
  • RotateRight [list, n] — возвращает список после n-кратного поворота вправо;
  • Transpose [list] — осуществляет транспозицию (смену строк и столбцов) для двумерного списка;
  • Transpose [list, п] — осуществляет транспозицию n-мерного списка. Ниже приведен ряд примеров на использование этих функций.

Ввод (In)

Вывод (Out)

13={{1,2,3},{4,5,6},{7,8,9}};

{1,2,3,4,5,6,7,8,9}

Flatten [13]

 

FlattenAt[13,l]

{1,2,3,{4,5,6},{7,8,9}}

Sort[{l,5,3,4,2}]

{1,2,3,4,5}

Reverse[{l,2,3,4}]

{4,3,2,1}

RotateLeft[ {1,2,3,4,5}, 2]

{3,4,5,1,2}

RotateRight[{l,2,3,4,5} ,2]

{4,5,1,2,3}

12={{a,b},{c,d}};

 

TableForm[12]

a b c d

TableFormf Transpose [12] ]

a c d b

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

  • Complement [list, listl, list2, …] — возвращает список list с элементами, которые не содержатся ни в одном из списков listl, Iist2, …;
  • Intersection [listl, list2,…] (пересечение множеств) —возвращает упорядоченный список элементов, общих для всех списков listi;
  • Join[list1, list2,… ] — объединяет списки в единую цепочку (выполняет конкатенацию). Join может применяться к любому множеству выражений, имеющих один заголовок;
  • Union [listl, Iist2, …] (объединение множеств) — удаляет повторяющиеся элементы списков и возвращает отсортированный список всех различающихся между собой элементов, принадлежащих любому из данных списков listi. Функция обеспечивает теоретико-множественное объединение списков;
  • Union [list] — возвращает отсортированный вариант списка list, из которого удалены все повторяющиеся элементы.

Приведенные ниже примеры иллюстрируют применение функций комбинирования списков.

далее…