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. Причем спокойно сидя перед своим домашним компьютером и глубокомысленно наблюдая за траекториями полета альфа- частиц. далее…

Пакет анализа линейных функциональных систем LinearFunctionalSystems

Пакет анализа линейных функциональных систем LinearFunctionalSystems
Назначение пакета LinearFunctionalSystems
Пакет LinearFimctionalSystems содержит набор функций для решения задач, связанных с анализом линейных функциональных систем. Обычно такие системы описываются линейными дифференциальными уравнениями, имеющими то или иное решение. Пакет LinearFunctionalSystems позволяет провести тестирование подготовленной системы, оценить ряд ее параметров и получить решение одним из ряда методов.
Вызов всех функций пакета осуществляется командой: 
> with(LinearFunctionalSystems):
[AreSameSolution, CanonicalSystem, ExtendSeries, Homogeneous System, IsSolution,
MatrixTriangularization, PolynomialSolution, Properties, RationalSolution,
SeriesSolution, UniversalDenominator]
Тестовые функции пакета LinearFunctionalSystems
Прежде чем рассматривать основные функции пакета, рассмотрим две тестовые функции. Они представлены следующими формами записи:
IsSolution(sol,sys, vars)    IsSolution(sol, A, b, x, case)
 IsSolution(sol, A, x, case) AreSameSolutior(sol, soil)
В них: sol — тестируемое решение, sys — система функциональных уравнений, х — независимая переменная решения, А и b — матрица и вектор с рациональными элементами, case — имя метода решения (‘differential’, ‘difference’ или ‘qdifference’).
Функции решения линейных функциональных систем
Группа основных функций пакета LinearFunctionalSystems имеет идентичный синтаксис и записывается в виде:
name(sys,vars,[method]) 
или 
name(A[.b],x, case, [method]}
Здесь name — одно из следующих имен:

  •  PolynomialSolution — решение в форме полинома;
  •  RationalSolution — решение в форме рационального выражения;
  •  SeriesSolution — решение в виде ряда;
  •  UniversalDenominator — решение с универсальным знаменателем (и числителем, равным 1).

Система функциональных уравнений задается либо в виде полной системы sys со списком переменных vars, либо в матричном виде с заданием матриц  коэффициентов, системы А и вектора свободных членов b (может отсутствовать) с указанием независимой переменной х и параметра case, имеющего значения ‘differential’, ‘difference’ или ‘qdifference’. Параметр method, задающий метод EG-исключения, может иметь значения ‘quasimodular’ или ‘ordinary’.
Вспомогательные функции
 Несколько вспомогательных функций пакета LinearFunctionalSystems представлено ниже:

  •  MatrixTriangularization(mat, m, n, x, It) — триангуляция матрицы mat размера mxn с указанием типа It (‘lead’ или ‘trail’);
  •  CanonicalSystemCshift, sys. vars) или CanonicalSystemCshift, A[, b]. x, case) — возвращает систему в каноническом виде (параметр shift задается как ‘ difference’ или ‘ q — difference’, назначение других параметров С9ответствует указанным выше для других функций);
  •  ExtendSeries(sol, deg) — расширяет ряд решения sol до расширенного ряда степени deg;
  •  HomogeneousSystemChoitio, sys, vars) илиHomogeneousSystemChomo, A[, b], x, case) — преобразует исходную систему в гомогенную с именем homo.
  •  PropertiesCsys, vars) или Properties(A[. b]. x, case) — возвращает основные свойства системы.

Примеры применения пакета
LinearFunctionalSystems
Ниже представлен ряд примеров применения пакета LinearFunctionalSystems, иллюстрирующих его возможности:
 

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

Интеграция Maple 15 с MATLAB

Интеграция Maple 15 с MATLAB
Краткие сведения о MATLAB
Несмотря на обширные средства линейной алгебры (да и многие другие), имеющиеся у системы Maple 15, есть системы компьютерной математики, решающие некоторые классы задач более эффективно, и прежде всего быстрее. В области линейной алгебры к таким системам, безусловно, относится система MATLAB, созданная компанией Math Works, Inc. Ее название происходит именно от слов MATrix LABoratory — матричная лаборатория.
MATLAB содержит в своем ядре многие сотни матричных функций и является одной из лучших матричных систем для персональных компьютеров. Она реализует самые современные алгоритмы матричных операций, включая, кстати, и алгоритмы NAG. Однако главное достоинство MATLAB — наличие множества дополнительных пакетов как по классическим разделам математики, так и по самым новейшим, таким как нечеткая логика, нейронные сети, идентификация систем, обработка сигналов и др. Знаменитым стал пакет моделирования систем и устройств Simulink, включаемый в пакет поставки системы MATLAB. Последней версией системы является MATLAB 6.0. В то же время нельзя не отметить, что MATLAB — одна из самых громоздких математических систем. Инсталляция ее полной версии занимает около 1,5 Гбайт дискового пространства. Несмотря на это, интеграция различных математических систем с данной системой, похоже, становится своеобразной модой. Такая возможность предусмотрена и в системе Maple 15 с помощью пакета Matlab.
Загрузка пакета расширения Matlab
Для загрузки пакета Matlab используется команда: .
> with(Matlab); 
[chol, closelink, defined, del, dimensions, eig, evalM,fft, getvar, inv, Iu,ode45, openlink, qr, setvar, size, square, transpose ]
Использование этой команды ведет к автоматическому запуску системы MATLAB (гарантируется работа с версиями MATLAB до 5.3.1 включительно) и установлению необходимой объектной связи между системами Maple 15 и MATLAB.
ПРИМЕЧАНИЕ 
Как нетрудно заметить, данный пакет дает доступ всего к 18 функциям системы MATLAB  (из многих сотен, имеющихся только в ядре последней системы). Таким образом, есть все основания полагать, что возможности MATLAB в интеграции с системой Maple 15 используются пока очень слабо и носят рудиментарный характер. далее…

Примеры матричных операций с применением пакета LinearAlgebra

Примеры матричных операций с применением пакета LinearAlgebra
Применение алгоритмов NAG особенно эффективно в том случае, когда используется встроенная в современные микропроцессоры арифметика чисел с плавающей запятой. С помощью специального флага такую арифметику можно отключать или включать:
> UseHardwareFloats := false; # use software floats
UseHardwareFloats :=false 
> UseHardwareFloats := true: # default behaviour
UseHardwareFloats :=true
Матрицы в новом пакете линейной алгебры могут задаваться в угловых скобках, как показано ниже:

После этого можно выполнять с ними типовые матричные операции. Например, можно инвертировать (обращать) матрицы:

Обратите внимание, что Maple 15 теперь выдает информационные сообщения о новых условиях реализации операции инвертирования матриц с вещественными элементами, и в частности об использовании алгоритмов NAG и арифметики, встроенной в сопроцессор. (
Следующий пример иллюстрирует создание двух случайных матриц Ml и М2 и затем их умножение:

Параметр inplace в функции умножения обеспечивает помещение результата умножения матриц на место исходной матрицы Ml — излюбленный прием создателей быстрых матричных алгоритмов NAG. Поскольку матрицы Ml и М2 за- -даны как случайные, то при повторении этого примера результаты, естественно, будут иными, чем приведенные.
Следующий пример иллюстрирует проведение хорошо известной операции/ LU-разложения над матрицей М, созданной функцией Matrix:

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

На этом, учитывая ограниченный объем книги, мы завершаем обзор пакета LmearAlgebra. Читатель, познающий или знающий методы линейной алгебры, может опробовать в работе любые функции этого пакета самостоятельно или познакомиться со множеством примеров, размещенных в справочной системе Maple 15. Возможности пакетов linalg и LinearAlgebra удовлетворят самых требовательных специалистов в этой области математики. 

Интерактивный ввод матриц

Интерактивный ввод матриц
Для интерактивного ввода матриц можно, определив размерность некоторого массива, использовать функцию entermatrix:
> А:=аггау(1..3,1..3):
А :=аггау(1 ..3,1 .. 3, [ ])
После исполнения этого фрагмента документа диалог с пользователем имеет следующий вид:
 

 

Основные функции для задания векторов и матриц
В библиотечном файле Unalg имеются следующие функции для задания векторов и матриц: 

  • vector(n,list) — сoздание вектора с n элементами, заданными в списке list;
  •  matrix(n,m,list) — создание матрицы с числом строк n и столбцов m с элементами, заданными списком list.

Ниже показано применение этих функций:

Обратите внимание на последние примеры — они показывают вызов индексированных переменных вектора и матрицы.
Функции для работы с векторами и матрицами
Для работы с векторами и матрицами Maple 15 имеет множество функций, входящих в пакет linalg. Ограничимся приведением краткого описания наиболее распространенных функций этой категории.
Операции со структурой отдельного вектора V и матрицы М: 

  •  coldim(M) — возвращает число столбцов матрицы М; 
  •  rowdim(M) — возвращает число строк матрицы М;
  •  vectdim(V) — возвращает размерность вектора V;
  •  col(M,i) — возвращает i-й столбец матрицы М;
  •  row(M,i) — возвращает i-ю строку матрицы М;
  •  tninor(M,i, j) — возвращает минор матрицы М для элемента с индексами i и j;
  •  delcols(M,i.. j) — удаляет столбцы матрицы М от i-roдо j-ro;
  •  del rows (V,i..j) — удаляет строки матрицы М от i-й до j-й;
  •  extend (М, т, n,х) — расширяет матрицу М на m строк и n столбцов с применением заполнителя х.

Основные векторные и матричные операции:

  •  dotprod(U,V) — возвращает скалярное произведение векторов U и V;
  •   crossprod(U,V) — возвращает векторное произведение векторов U и V;
  •   norm(V) или norm(M) — возвращает норму вектора или матрицы;
  •  copyinto(A,B,i, j) — копирует матрицу А в В для элементов последовательно от i до j;
  •  concat(Ml,M2) — возвращает объединенную матрицу с горизонтальным слиянием матриц Ml и М2;
  •  stack(Ml,M2) — возвращает объединенную матрицу с вертикальным слиянием Ml и М2;
  •  matadd(A,B) и evalm(A+B) — возвращает сумму матриц А и В;
  •  multlply(A,B) и evalm(A&*B) — возвращает произведение матриц А и В;
  •  adjoint (М) или adj(M) — возвращает присоединенную матрицу, такую что M?adj(M) дает диагональную матрицу, определитель которой есть det(M);
  •  charpoly(M,lambda) — возвращает характеристический полином матрицы М относительно заданной переменной lambda;
  •  det(M) — возвращает детерминант (определитель) матрицы М;
  •  Eigenvals(M,vector) — инертная форма функции, возвращающей собственные значения матрицы М и (при указании необязательного параметра vector) соответствующие им собственные векторы;
  •  jordan(M) — возвращает матрицу М в форме Жордана;
  • hermite(M) — возвращает матрицу М в эрмитовой форме;
  •  trace(M) — возвращает след матрицы М;
  •  rank(M) — возвращает ранг матрицы М;
  •  transpose(M) — возвращает транспонированную матрицу М;
  •  inverse(M) или evalm(l/M) — возвращает матрицу, обратную к М;
  •  singularvals(A) — возвращает сингулярные значения массива или матрицы А.

Приведем примеры применения некоторых из этих функций:
 

Читатель, понимающий суть матричных вычислений, легко справится с тестированием других функций, входящих в пакет linalg. В приведенных примерах полезно обратить внимание на то, что многие матричные функции способны выдавать результаты вычислений в аналитическом виде, что облегчает разбор выполняемых ими операций.

Решение систем линейных уравнений
Ниже представлен простой пример составления и решения трех систем линейных уравнений с применением функций, входящих в пакет linalg:

А теперь рассмотрим пример решения матричного уравнения в символьном виде:

Следующий пример показывает решение более сложной системы линейных уравнений с комплексными коэффициентами:

На этот раз решение получено использованием функций умножения матриц и вычисления обратной матрицы в виде X = А-1 В, то есть в матричном виде. В конце примера показано преобразование результатов с целью их получения в обычной форме комплексных чисел с частями, представленными в форме чисел с плавающей точкой.
Пакет линейной алгебры с алгоритмами NAG LinearAlgebra
Назначение и загрузка пакета LinearAlgebra
В последние годы разработчики систем символьной математики осознали, что малая скорость выполнения векторных и матричных операций при решении задач линейной алгебры оборачивается потерей заметной части рынка систем компьютерной математики. далее…