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
строки | Учебники

Записи с меткой «строки»

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

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

Пакет решения задач линейной алгебры linalg

Пакет решения задач линейной алгебры linalg
Состав пакета linalg
Несомненно, что уникальной возможностью системы Maple 15, как и других систем компьютерной алгебры, является возможность решения задач линейной алгебры в символьном (формульном, аналитическом) виде. Однако такое решение представляет скорее теоретический, чем практический интерес, поскольку даже при небольших размерах матриц (уже при 4-5 строках и столбцах) символьные результаты оказываются очень громоздкими и труднообозримыми. Они полезны только при решении специфических аналитических задач, например с разреженными матрицами, у которых большинство элементов имеют нулевые значения.
Поэтому разработчики Maple 15 были вынуждены реализовать в своей системе численные методы решения задач линейной алгебры, которые широко используются в основных сферах ее приложения — математическом моделировании систем и устройств, расчетах в электротехнике, механике, астрономии и т. д.
В ядро Maple 15, как отмечалось, введены очень скромные и минимально необходимые средства для решения задач линейной алгебры. Основной упор в их реализации сделан на подключаемые пакеты. Основным из них, унаследованным от предшествующих реализаций системы, является пакет решения задач линейной алгебры Unalg. Это один из самых обширных и мощных пакетов в области решения задач линейной алгебры. Он содержит свыше ста функций:
> with(linalg); 
Warning, the names fibonacci, inverse and multiply have been redefined Warning, the protected names norm and trace have been redefined and unprotected[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, coldim, colspace, colspan, companion, concat, cond, copyinto, crossprod, curl, definite, delcols, delrows, det, diag, diverge, dotprod, eigenvals, eigenvalues, eigenvectors, eigenvects, entermatrix, equal, exponential, extend, ffgausselimfifibonacci,forwardsub,frobenius, gausselim, gaussjord, geneqns, genmatrix, grad, hadamard, hermite, hessian, hilbert,htranspose, thermite, indexfunc, innerprod, intbasis, inverse, ismith, issimilar, iszerojacobian, Jordan, kernel, laplacian, leastsqrs, linsolve,matadd, matrix, minor, minpoly, mulcol, /им/row,multiply, norm, normalize, nullspace, orthog, permanent, pivot, potential, randmatrix, randvector, rank, ratform, row, rowdim, rowspace, rowspan, rref, scalarmul, singularvals, smith, stackmatrix, submatrix, subvector, sumbasis, swapcol, swaprow, Sylvester, toeplitz, trace, transpose, vandermonde, vecpotent, vectdim, vector, wronskian] 
Ниже указано назначение тех функций пакета linalg, которые подробно не описаны:

  •  addcol — добавляет к одному из столбцов другой столбец, умноженный на некоторое число;
  •  addrow — добавляет к одной из строк другую строку, умноженную на некоторое число;
  •  angle — вычисляет угол между векторами;
  •  augment — объединяет две или больше матриц по горизонтали;
  •  backsub — реализует метод обратной подстановки при решении системы линейных уравнений (см. также forwardsub);
  •  band — создает ленточную матрицу;
  •  basis — находит базис векторного пространства;
  •  bezout — создает Bezout-матрицу двух полиномов; . г
  •  BlockDiagonal — создает блок-диагональную матрицу;
  •  blockmatrix — создает блок-матрицу;
  •  cholesky — декомпозиция Холесского для квадратной положительно определенной матрицы;
  •  charmat — создает характеристическую матрицу (charmat(M,v) — матрица, вычисляемая как v E-M);
  •  charpoly — возвращает характеристический полином матрицы;
  •  colspace — вычисляет базис пространства столбцов;
  •  colspan — находит базис линейной оболочки столбцов матрицы;
  •  companion — вычисляет сопровождающую матрицу, ассоциированную с полиномом;
  •  cond — вычисляет число обусловленности матрицы (cond(M) есть величина norm(M) norm(М-1);
  •  curl — вычисляет ротор вектора;
  •  definite — тест на положительную (отрицательную) определенность матрицы;
  •  diag — создает блок-диагональную матрицу;
  •  diverge — вычисляет дивергенцию векторной функции;
  •  eigenvals — вычисляет собственные значения матрицы;
  •  eigenvects — вычисляет собственные векторы матрицы;
  •  equal — определяет, являются ли две матрицы равными;
  •  exponential — создает экспоненциальную матрицу;
  •  ffgausselim — свободное от дробей Гауссово исключение в матрице;
  •  fibonacci — матрица Фибоначчи;
  •  forwardsub — реализует метод прямой подстановки при решении системы линейных уравнений (например, для матрицы L и вектора b
  •  forwardsub(L, b) возвращает вектор решения х системы линейных уравнений L-x=b);
  •  frobenius — вычисляет форму Фробениуса (Frobenius) матрицы;
  •  gausselim — Гауссово исключение в матрице;
  •  gaussjord — синоним для rref (метод исключения Гаусса—Жордана);
  •  geneqns — генерирует элементы матрицы из уравнений;
  •  genmatrix — генерирует матрицу из коэффициентов уравнений;
  •  grad — градиент векторного выражения;
  •  GramSchmidt — вычисляет ортогональные векторы;
  •  hadamard — вычисляет ограничение на коэффициенты детерминанта;
  •  hessian — вычисляет гессиан-матрицу выражения;
  •  hilbert — создает матрицу Гильберта;
  •  htranspose — находит эрмитову транспонированную матрицу;
  •  ihermite — целочисленная эрмитова нормальная форма;
  •  indexfunc — определяет функцию индексации массива;
  •  Innerprod — вычисляет векторное произведение;
  •  Intbasis — определяет базис пересечения пространств;
  •  ismith — целочисленная нормальная форма Шмитта;
  •  iszero — проверяет, является ли матрица ноль-матрицей;
  •  jacobian —’ вычисляет якобиан векторной функции;
  •  JordanBlock — возвращает блок-матрицу Жордана;
  •  kernel — находит базис ядра преобразования, соответствующего данной матрице;
  •  laplacian — вычисляет лапласиан;
  •  leastsqrs — решение уравнений по методу наименьших квадратов;
  •  linsolve — решение линейных уравнений;
  •  LudeComp — осуществляет LU-разложение;
  •  minpoly — вычисляет минимальный полином матрицы;
  •  mulcol — умножает столбец матрицы на заданное выражение;
  •  mulrow — умножает строку матрицы на заданное выражение;
  •  multiply — перемножение ‘матриц или матрицы и вектора;
  •  normalize — нормализация вектора;
  •  orthog — тест на ортогональность матрицы;
  •  permanent — вычисляет перманент матрицы — определитель, вычисляемый без перестановок;
  •  pivot — вращение относительно элементов матрицы;
  •  potential — вычисляет потенциал векторного поля;
  •  Qrdecomp — осуществляет QR-разложение;
  •  randmatrix — генерирует случайные матрицы;
  •  randvector — генерирует случайные векторы;
  •  ratform — вычисляет рациональную каноническую форму;
  •  references — выводит список основополагающих работ по линейной алгебре;
  •  rowspace — вычисляет базис пространства строки;
  •  rowspan — вычисляет векторы охвата для места столбца;
  •  rref — реализует преобразование Гаусса-Жордана матрицы;
  •  scalarmul — умножение матрицы или вектора на заданное выражение;
  •  singval — вычисляет сингулярное значение квадратной матрицы;
  •  singularvals — возвращает список сингулярных значений квадратной матрицы;
  •  smith — вычисляет Шмиттову нормальную форму матрицы;
  •  submatrix — извлекает указанную подматрицу из матрицы;
  •  subvector — извлекает указанный вектор из матрицы;
  •  sumbasis — определяет базис объединения системы векторов;
  •  swapcol — меняет местами два столбца в матрице;
  •  swaprow — меняет местами две строки в матрице;
  •  sylvester — создает матрицу Сильвестра из двух полиномов;
  •  toeplitz — создает матрицу Теплица;
  •  trace — возвращает след матрицы;
  •  vandermonde — создает вандермондову матрицу;
  •  vecpotent — вычисляет векторный потенциал;
  •  vectdim — определяет размерность вектора;
  •  wronskian — вронскиан векторных функций.

Ниже мы рассмотрим более подробно наиболее часто используемые функции из этого пакета. С деталями синтаксиса (достаточно разнообразного) для каждой из указанных функций можно ознакомиться в справочной системе Maple. далее…

Пакеты линейной алгебры и функциональных систем

Пакеты линейной алгебры и функциональных систем
 
Основные определения линейной алгебры
Прежде чем перейти к рассмотрению обширных возможностей пакетов Maple 15 по части решения задач линейной алгебры, рассмотрим краткие определения, относящиеся к ней.
Матрица (m х n) — прямоугольная двумерная таблица, содержащая m строк и n столбцов элементов, каждый из которых может быть представлен числом, константой, переменной, символьным или математическим выражением (расширительная трактовка матрицы).
Квадратная матрица — матрица, у которой число строк m равно числу столбцов n. Пример квадратной матрицы размера 3×3:

Сингулярная (вырожденная) матрица — квадратная матрица, у которой детерминант (определитель) равен 0. Такая матрица обычно не упрощается при символьных вычислениях. Линейные уравнения с почти сингулярными матрицами могут давать большие погрешности при решении.
Единичная матрица — это квадратная матрица, у которой диагональные элементы равны 1, а остальные элементы равны 0. Ниже представлена единичная матрица размера 4×4:

Сингулярные значения матрицы А — квадратные корни из собственных значений матрицы АТ=А, где Ат — транспонированная матрица А (см. ее определение ниже);Транспонированная матрица — матрица, у которой .столбцы и строки меняются . местами, то есть элементы транспонированной матрицы удовлетворяют условию AT(i,j)=A(j,i). Приведем простой пример. Исходная матрица:

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

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

Обычно указанную диагональ называют главной диагональю — для матрицы А, приведенной выше, это диагональ с элементами А, Е и L. Иногда вводят понятия под диагоналей (элементы d и  k) и над диагоналей (элементы b и f). Матрица, все элементы которой, расположенные кроме как на диагонали, под диагонали и над диагонали, равны нулю, называется ленточной.
Ранг матрицы — наибольший из порядков отличных от нуля миноров квадратной матрицы.
След матрицы — сумма диагональных элементов матрицы.
Определитель матрицы — это многочлен от элементов квадратной матрицы, каждый член которого является произведением n элементов, взятых по одному из каждой строки и каждого столбца со знаком произведения, заданным четностью перестановок:

где M1<j> — определитель матрицы порядка n — 1, полученной из матрицы А вычеркиванием первой строки и j-гo столбца. далее…

Цифровые переменные

Цифровые переменные
В программе Probe выводятся временные диаграммы логических состояний отдельных цифровых узлов или шин, объединяющих не более 32 цифровых сигналов. На временной диаграмме одной переменной двойная линия соответствует неопределенному состоянию X, тройная — состоянию высокого импеданса Z.
Всего можно вывести до 75 временных диаграмм, однако одновременно на экране помещается меньшее их количество. Размер окна построения цифровых сигналов зависит от количества окон на аналоговом экране, его первоначальные размеры устанавливаются по команде Plot>Digital Size>Percentage of Plot to be Digital. Знак «+» в верхней и (или) нижней части экрана показывает, что часть графиков находится вне экрана. Имя переменной, вводимой по запросу команды Trace>Add Trace, может быть именем цифрового узла или булевым выражением, содержащим имена таких узлов. Шина (многоразрядное число) формируется в виде заключенного в фигурные скобки списка цифровых узлов, разделенных пробелами или запятыми, например
{ D3 D2 D1 D0 }
В начале списка-помещается старший разряд шины, в конце — младший.
Шины могут с помощь логических и арифметических операторов образовывать выражения. В выражениях для цифровых сигналов и для шин допустимы следующие операции (их старшинство убывает сверху вниз):
{ } — объединение в группу;
" — логическое отрицание;
* / — умножение и деление (только для шин);
+ и — — сложение и вычитание (только для шин);
& — логическое И;
^ — логическое исключающее ИЛИ;
| — логическое ИЛИ.
Результат арифметических или логических операций с двумя шинами представляется в виде шины с достаточным количеством разрядов. Результат арифметических или логических операций с шиной и цифровым сигналом представляется в виде шины с тем же количеством разрядов. далее…

Аналоговые переменные

Аналоговые переменные
На одном графике можно поместить несколько кривых, которые на цветном мониторе выделяются цветом, а при выводе на черно-белый монитор, принтер или графопостроитель — различными значками. Формат переменных такой же, как в программе PSpice, за небольшими исключениями:
1) не допускается выводить падение напряжения на компонентах в форме V(<имя>) или Vxy(<uмя>), необходимо указывать имена (номера) узлов, например V(5) или V(21,3). Однако по-прежнему допустима форма Ух(<имя>), например VE(Q1) — потенциал эмиттера транзистора Q1; V1 (R5) — потенциал вывода 1 резистора R5; V(C5:2) — потенциал вывода 2 конденсатора С5;
2) по формату Е(Кххх) выводится магнитная индукция сердечника трансформатора (в гауссах) и по формату Н(Кххх) — напряженность магнитного поля (в эрстедах), где Кххх — имя магнитного сердечника;
3) при выводе спектральной плотности напряжения выходного шума вместо имени переменной ONOISE следует указать V(ONOISE), аналогично при выводе cпектральной плотности напряжения входного шума вместо INOISE указывается V(INOISE), а при выводе спектральной плотности тока входного шума I(INOISE);
4) в дополнение к напряжениям и токам доступны варьируемые переменные. В режиме DC это имя варьируемого источника напряжения или тока. В режиме АС — частота, имеющая имя «Frequency». В режиме Transient — время «Time».
В строке Trace Expression можно указать имя одной или нескольких переменных или выражений. При вводе имени только одной переменной на оси Y автоматически проставляются единицы измерений в соответствии с типом переменной. Например, в режиме АС при построении графика модуля напряжения V(l) ось Y получит размерность в вольтах, фазы этого напряжения VP(1) — в градусах, а группового времени запаздывания VG(l) — в секундах. далее…

После выбора команды из меню команд

После выбора команды из меню команд
После выбора команды из меню команд вниз разворачивается подменю со списком подкоманд. Выбор пункта меню осуществляется с помощью клавиатуры или мыши. При использовании клавиатуры для выбора пункта горизонтального меню нажимается клавиша Alt и одновременно клавиша с буквой, подчеркнутой в имени команды. Для вызова команды из выпадающего меню просто нажимается клавиша с подчеркнутой буквой. Для ускорения работы ряд наиболее употребительных команд помимо пиктограмм вызывается с помощью так называемых «го.-рячих» клавиш — функциональных клавиш и комбинаций клавиш. Обсудим основные фазы работы с программой Probe.
Загрузка. Программа Probe загружается под управлением PSpice Schematics или автономно. В последнем случае после появления основного экрана программы по команде File>Open загружается файл данных с результатами-моделирования. далее…