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
вычислений | Учебники

Записи с меткой «вычислений»

Моделирование цепи на туннельном диоде

Моделирование цепи на туннельном диоде
А теперь займемся моделированием явно нелинейной цепи. Выполним его для цепи, которая состоит из последовательно включенных источника напряжения Es, резистора Rs, индуктивности L и туннельного диода, имеющего N-образную вольтамперную характеристику (ВАХ). Туннельный диод обладает емкостью С, что имитируется конденсатором С, подключенным параллельно туннельному диоду. Пусть ВАХ реального туннельного диода задана выражением:
> restart:
> A:=.3t: а:=10: В:=1*10^(-8): b:=20:
> Id:=Ud->A*Ud*exp(-a*Ud)+B*(exp(b*Ud-D):
Id:=Ud->AUde(-aUd)+Be(bUd-1)
Построим график ВАХ:
> plot(Id(Ud), Ud=-.02..0.76,color=black):
Этот график представлен . Нетрудно заметить, что ВАХ туннельного диода не только резко нелинейна, но и содержит протяженный участок отрицательной дифференциальной проводимости, на котором ток падает с ростом напряжения. далее…

Моделирование рассеивания альфа — частиц

Моделирование рассеивания альфа- частиц
Одним из фундаментальных доказательств существования ядра у атомов стал опыт с бомбардировкой тонкой фольги из металла альфа- частицами с высокой энергией. Если бы «массивных» ядер не существовало, то альфа- частицы должны были бы спокойно пролетать сквозь тонкую фольгу, практически не отклоняясь. Однако, как физики и ожидали, некоторая часть частиц испытывала сильное отклонение и даже поворачивала назад. Очевидно, что имели место отскоки (упругие столкновения) с малыми, но массивными ядрами металла фольги.
В нашем распоряжении, увы (а может быть и к счастью), нет ускорителя альфа- частиц. Так что мы, не опасаясь облучения и очередной Чернобыльской катастрофы, сможем смоделировать это интереснейшее физическое явление с помощью математической системы Maple 15. Причем спокойно сидя перед своим домашним компьютером и глубокомысленно наблюдая за траекториями полета альфа- частиц. далее…

Основные арифметические функции

Основные арифметические функции
Для выполнения арифметических действий в системах Mathematica 3/4 определены следующие арифметические функции:

  • Divide [х, у] — возвращает результат деления х на у эквивалентно выражению х у ^ -1;
  • Plus[x, у,…] — возвращает сумму элементов списка;
  • PowerModta, b, n] — возвращает Mod[a ^ b, n]. Для b<0 возвращает инверсию остатка;
  • Times [х, у,…] — возвращает произведение аргументов х*у*…;
  • Mod [m, n] — возвращает остаток от деления m на п. Результат имеет такой же знак, как п.

Ниже представлены примеры применения арифметических функций.

Ввод (In)

Вывод (Out)

Divide [1. ,3]

0.333333

Mod [123, 20]

3

Mod [123, -20]

-17

Mod[-123,20]

17

Plus[2,3,4]

9

Times [2, 3,4]

24

Для обмена значениями переменных х и у можно использовать выражение {х,у}={у,х}
 Пример обмена переменных значениями:
а=1;b=2;
{а,b}={b,а};
{а,b}
{2, 1}
Следующие функции служат для приведения вещественных чисел к ближайшим целым по определенным правилам:

  • Ceiling [х] — возвращает значение наименьшего целого числа, большего или равного х;
  • Floor [х] — возвращает наибольшее целое число, не превышающее данного х;
  • Quotient [n, m] — возвращает целое значение n/m, определяемое как Floor[n/m];
  • Round [х] — округляет х до ближайшего целого.

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

Ввод (In)

Вывод (Out)

Ceiling [{-5. 9, -5..1, 5, 5.1, 5.9}]

{-5, -5, 5, б, 6}

Floor [{-5. 9, -5.1,, 5, 5.1, 5.9}]

{-6, -6, 5, 5, 5}

Round[{-5.9, -5.1,, 5, 5.1, 5.9}]

{-6, -5, 5, 5, 6}

Ряд функций обеспечивает нахождение делителей целых чисел и наименьшего общего -кратного:

  • Divisors [n] — возвращает список целочисленных делителей числа п;
  • DivisorSigma [k, n] — возвращает сумму &-х степеней положительных делителей числа п;
  • ExtendedGCD [n, m] — возвращает расширенный наибольший общий делитель целых чисел пит;
  • GCD [nl,n2,…] — возвращает наибольший общий делитель целых чисел ni;
  • LCM[nl, n2,…] — возвращает наименьшее общее кратное целых чисел ni.

Ниже представлены примеры применения этих функций.

Ввод (In)

Вывод (Out)

LCM[124,12,6]

372

GCD [144, 12, 6]

6

Divisors [123]

{1,3,41,123}

DivisorSigma [17,3]

129140164

ExtendedGCD [144,12]

{12, {0,1}}

К целочисленным функциям можно отнести также функции вычисления факториала и двойного факториала:

  • Factorial [n] или n! — возвращает значение факториала числа n (n!=n* (n-1) *…*3*2*1, причем 0 !=1 и 1 !=1);
  • Factorial2 [n] или n! ! — возвращает значение двойного факториала числа п, равное п* (n-2) * (n-4) *…«%»

Ниже представлены примеры вычисления факториалов.

Ввод (In)

Вывод (Out)

Factorial [10]

3628800

20!

2432902008176640000

10!!

3840

20!//N

2.4329Х10 18

Mathematica способна вычислять факториалы больших чисел. Практически мгновенно (даже на компьютере с 486-м процессором) вычисляются значения до 1000!, хотя результат при этом занимает несколько страниц на экране дисплея. Можно вычислить даже 10000!, но для этого потребуется время до нескольких минут (зависит от типа компьютера). Обратите внимание на то, что управляющий символ //N за выражением дает вывод (аппроксимацию) в форме научной нотации. далее…

Арифметические вычисления с повышенной точностью

Арифметические вычисления с повышенной точностью
Важное достоинство систем символьной математики — выполнение арифметических вычислений с произвольными разрядностью и точностью. Хотя на деле они ограничены объемом ОЗУ, но для современных компьютеров с объемом ОЗУ в единицы и десятки мегабайт вряд ли можно столкнуться со случаем, когда ограничения по разрядности и точности становятся существенными.
Следующие две функции, Rationalize [х] и Rationalize [x, dx], дают приближение для числа х в виде рациональных чисел. Вторая из этих функций задает приближение с заданной точностью dx.
Mathematica может работать с большими числами и выполнять определенные операции с очень высокой точностью. Примеры, приведенные на рис. 3.3, иллюстрируют эти возможности.
Как видно из примеров представления рациональных чисел, результат приближения зависит от заданной погрешности. Чем она меньше, тем большие значения целых чисел в числителе и знаменателе результата разыскивает система. далее…

Оценивание переменных и операции присваивания

Оценивание переменных и операции присваивания
Специфику математических выражений в системе Mathematica составляет возможность их оценивания и изменения в соответствии с заложенными в ядро системы правилами математических преобразований. В итоге после изменения значение выражения, которое присваивается переменной, может быть совсем иным, чем до оценивания. Поэтому в целом для определения переменных используют описанные ниже конструкции.
Основная функция Set [ Ihs, rhs ] имеет аналогичные по действию упрощенные операторы:

  • Ihs = rhs — вычисляет правую часть rhs и присваивает ее значение левой части Ihs. С этого момента Ihs замещается на rhs всюду, где бы этот идентификатор ни появился;
  • {11, 12, …} = {rl, г2, …} — вычисляет ri и назначает полученные результаты соответствующим 11.

Функция задержанного присваивания SetDelayed[lhs,rhs] может быть заменена аналогичным по действию оператором Ihs : =rhs, который назначает правой части rhs роль отложенного значения левой части Ihs. При этом rhs содержится в невычисленной форме. После этого, когда появляется идентификатор Ihs, он заменяется на значение rhs, вычисляемое каждый раз заново.
При задержанном (отложенном) присваивании вывода нет, тогда как при обычном немедленном присваивании lhs=rhs значение rhs вычисляется немедленно и результат выводится в строку вывода.
Функция присваивания верхнего уровня UpSet [Ihs, rhs] применяется в виде lhs A =rhs. При этом левой части Ihs присваивается значение правой части rhs, причем это значение связывается с символами, которые появляются на первом уровне вложенности в Ihs.
И, наконец, функцию отложенного присваивания верхнего уровня UpSetDelayed[lhs, rhs] может заменить оператор lbs^ :=rhs. При этом величина rhs выполняет роль отложенного значения Ihs, и связывается это присваивание с символами, которые появляются на первом уровне вложенности в Ihs.
Отметим еще одну важную конструкцию SetOptions [s, namel->valuel, name2->value2, . . . ], которая устанавливает для символа s указанные опции, определяемые по умолчанию.
Применение различных типов операций присваивания способствует большей гибкости системы. Различия между этими операциями на первый взгляд несущественны, но они принципиальны, и это станет понятно после более детального знакомства с символьными преобразованиями и приобретения практики работы с системой. далее…

Размерные величины

Размерные величины
Mathematica позволяет оперировать с размерными величинами, которые широко используются в физических и химических расчетах. Размерные величины характеризуются не только численными значениями, но и единицами измерения, например Meter (метр), Second (секунда) и т. д. Последние могут стоять в числителе и в знаменателе выражений, представляющих размерные величины:
1 Meter
Meter
5Meter
5 Meter
0.5Second
0.5Second
Между значением размерной величины и единицей измерения знак умножения можно не ставить. Это видно из приведенных выше примеров.
Для облегчения ввода физических констант, представляющих собой размерные величины, в наборе файлов Mathematica можно найти файл PhysicalConstants.nb. При его загрузке появляется дополнительная палитра физических констант, показанная на рис. 3.2.
Для ввода констант достаточно активизировать соответствующую кнопку с нужной константой. Будут введено выражение, задающее константу. Ниже представлены примеры ввода первой и последней констант, содержащихся в палитре, представленных в стандартной форме:
2.99792458000000028’*^8 Meter/ Second
2.99792х108 Meter/ Second
6. 9599 x 108 Meter
6.9599xl08 Meter
Следует отметить, что без острой необходимости применять размерные величины не следует, поскольку они усложняют математические выражения и зачастую не позволяют выполнять с ними символьные преобразования. Рекомендуется нормировать выражения (формулы) так, чтобы результаты их вычисления имели безразмерный вид.
 
Переменные
Переменными в математике принято называть именованные объекты, которые могут принимать различные значения, находящиеся в определенном множестве допустимых значений. Подобно этому, переменными в системе Mathematica являются именованные объекты, способные в ходе выполнения документа неоднократно принимать различные значения — как численные, так и символьные. далее…