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
преобразования | Учебники

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

Расчет аналогового фильтра на операционном усилителе

Расчет аналогового фильтра на операционном усилителе
Теперь рассмотрим проектирование аналогового полосового фильтра на операционном усилителе, схема которого приведена.
Подготовимся к расчету фильтра:
> restart:
Зададим основные уравнения, описывающие работу фильтра на малом сигнале:

Введем круговую частоту:
> omega := 2*Pi*f;
W := 2пf
Найдем коэффициент передачи фильтра и его фазо-частотную характеристику как функции от частоты:
> gain := abs(eva1c(Vo/Vi)):
> phase := evalc(op(2,convert(Vo/Vi.polar))):
Для просмотра громоздких аналитических выражений для этих параметров замените знаки двоеточия у выражений для gain и phase на знак точки с запятой. Далее введем конкретные исходные данные для расчета:
> R3 :=1000:
> R4 := 3000:
> СЗ :=0.08*10^(-6):
> С4 := 0.01*10^(-6):
Построим АЧХ фильтра как зависимость коэффициента передачи в децибелах (dB) от частоты f в Гц:
> plot(DogWf), 20*log10(gain), f=[10..50000], color=black, title=’Коэффициент передачи dB как функция от частоты f в Гц’):
Эта характеристика представлена. Здесь полезно обратить внимание на то, что спад усиления на низких и высоких частотах происходит довольно медленно из-за малого порядка фильтра.
Далее построим фазо-частотную характеристику фильтра как зависимость фазы в радианах от частоты f в Гц:
> plot ([log10(f),phase, f=10..50000], color=black, title=*Фазо-частотная характеристика фильтра*);
Фазо-частотная характеристика (ФЧХ) фильтра показана
На ФЧХ фильтра можно заметить характерный разрыв, связанный с превышением фазовым углом граничного значения я. Такой способ представления фазового сдвига общепринят, поскольку его изменения стремятся вписать в диапазон от -я до п.
Проектирование цифрового фильтра
Основной недостаток аналоговых активных фильтров, подобных описанному выше, заключается в их малом порядке. Его повышение за счет применения многих звеньев низкого порядка ведет к значительному повышению габаритов фильтров и их стоимости. От этого недостатка свободны современные цифровые фильтры, число ячеек которых N даже при однокристальном исполнении может достигать десятков и сотен. далее…

Элементы для описания 2D-символов

Элементы для описания 2D-символов
Чертежные элементы
НОТSРОТ х,у (точка).
LINE2 xl, yl, х2, у2 (отрезок прямой между двумя точками).
RECT2 xl, yl, х2, у2 (прямоугольник).
POLY2 n, framefill, xl, yl,… xn, yn (открытый или замкнутый многоугольник с n вершинами).
POLY2… n, framefill, xl, yl, maskl, … xn, yn, maskn (аналогичен POLY2, только любые стороны могут быть опущены).
ARC2 х, у, r, alfa, beta (дуга с центром в точке (х, у), радиуса r и ограниченная углами alfa и beta).
CIRCLE2 х, у, r (окружность с центром в точке (х, у) и радиуса г).
Текстовый элемент
ТЕХТ2 x, у, string, TEXT2 х, у, expression (текст, содержащий указанное значение или вычисленное выражение).
Элемент фрагмента
FRAGMENT2 fragment_index, use_current_attributes_flag
FRAGMENT2 ALL, use_current_attributes_flag
(вставляет фрагмент с указанным индексом или все фрагменты в окно Полный 2D-вид, учитывая текущие преобразования).
Размещение 3D-проекций в 2D
PROJEKT2 projcode, angle, method (создает вид сверху/сбоку/аксонометрию объекта). далее…

Домашний сканер

Домашний сканер
Можно с полной уверенностью утверждать, что сегодня имеется смысл приобретать для дома исключительно планшетные сканеры. Ручные и протяжные устройства, лишь ненамного уступая им в цене, не способны обеспечить приемлемое качество процесса сканирования. Правда, первые можно было бы использовать вместе с портативными компьютерами для процесса сканирования "в полевых условиях", но большинство моделей ручных сканеров работают через специальный интерфейс, а значит, и оснащаются платой-контроллером, установить которую в ноутбук никак нельзя. Протяжные же устройства позволяют считывать только отдельные листы, и, следовательно, возможности их ограничены (например, отсканировать книгу или журнальную статью в программе FineReader 5.0 уже не получится).
В случае, если вы покупаете современный сканер, то он обязательно окажется цветным. Здесь дело даже не в ценах: черно-белые сканеры общего назначения в настоящее время практически не выпускаются. Да и нет в этом необходимости — отказ от цвета не привел бы к существенному удешевлению устройства.
Минимальное оптическое разрешение самых простых сегодняшних моделей равно 300 dpi, а более совершенных — 600 dpi. Практически повсеместно используются высокоточные механизмы перемещения головки, благодаря которым можно удвоить разрешение по вертикали соответственно до 600 и 1200 dpi. Усовершенствованные алгоритмы интерполяции изображений позволяют передавать в компьютер картинки с разрешением от 4800×4800 до 19200×19200 dpi (и это еще не предел!). Следует заметить, что пользоваться этими возможностями вам, скорее всего, не придется, так как даже обычная фотокарточка формата 9×12 см в разрешении 4800×4800 dpi превратится в такую массу данных, что ваш компьютер наверняка будет не в состоянии ее обработать. далее…

Функции пользователя

Функции пользователя
 
Понятие функции ассоциируется с обязательным возвратом некоторого значения в ответ на обращение к функции по ее имени с указанием аргументов (параметров) в квадратных скобках. Возврат функциями некоторых значений позволяет применять их наряду с операторами для составления математических выражений.
Функции подразделяются на встроенные в ядро системы внутренние функции и функции, заданные пользователем. Примером первых могут быть Sin[x], Bessell [n, x] и т.д. Mathematica содержит множество таких функций, охватывающих практически все широко распространенные элементарные и специальные математические функции. Есть и возможность создания функций со специальными свойствами — чистых (pure functions) и анонимных функций.
Суть функционального программирования заключается в использовании в ходе решения задач только функций. При этом возможно неоднократное вложение функций друг в друга и применение функций различного вида. далее…

Основы программирования

Основы программирования

  • Методы программирования
  • Образцы (patterns) и их применение
  • Функции пользователя
  • Функции FixedPoint и Catch
  • Реализация рекурсивных и рекуррентных алгоритмов
  • Использование процедур
  • Организация циклов
  • Условные выражения и безусловные переходы
  • Контексты
  • Подготовка пакетов расширений
  • Средства визуального программирования
  • Отладка и трассировка программ

Ранее не раз говорилось, что Mathematica, в сущности, является диалоговым языком программирования сверхвысокого уровня. Однако мы еще не поднимались (или не опускались) до уровня подготовки программ в среде Mathematica 3/4. Между тем, Mathematica и впрямь имеет программные средства, ничем не уступающие таковым для современных языков программирования, а в области подготовки программ для математических преобразований и вычислений намного их превосходящие. В этом уроке мы, наконец, изучим систему Mathematica как язык программирования.
Методы программирования
 
Такие мощные системы, как Mathematica, предназначены, в основном, для решения математических задач без их программирования большинством пользователей. Однако это вовсе не означает, что Mathematica не является языком (или системой) программирования и не позволяет при необходимости программировать решение простых или сложных задач, для которых имеющихся встроенных функций и даже пакетов расширений оказывается недостаточно или которые требуют для реализации своих алгоритмов применения типовых программных средств, присущих обычным языкам программирования. Все обстоит совсем иначе.
Фактически, основой системы Mathematica является проблемно-ориентированный на математические расчеты язык программирования сверхвысокого уровня. далее…

Функции для работы с полиномами

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

  • Decompose [poly, x] — выполняет разложение полинома, если это возможно, на более простые полиномиальные множители;
  • GroebnerBasis [ {polyl, poly2,…}, {xl, х2,…}]—возвращает список полиномов, которые образуют базис Гробнера для идеала, порожденного полиномами polyi;
  • Polynomial-Division [p, q, x] — возвращает список частного и остатка, полученных делением полиномов р и q от х;
  • PolynomialGCD [polyl, poly2,…] — возвращает наибольший общий делитель ряда полиномов polyl, poly2, … С опцией Modulus->p функция возвращает наибольший общий делитель по модулю простого числа р;
  • PolynomialLCM[polyl, poly2,…] — возвращает наименьшее общее кратное полиномов polyl, poly2, … С опцией Modulus->p функция возвращает наименьшее общее кратное по модулю простого числа р;
  • PolynomialMod [poly, m] — возвращает полином poly, приведенный по модулю m;
  • PolynomialMod [poly, {ml, m2,…}] — выполняет приведение по модулю всех mi;
  • PolynomialQ [expr, var] — возвращает значение True, если expr является полиномом от var, иначе возвращает False;
  • PolynomialQ [expr, {varl,…}] — проверяет, является ли expr полиномом от vari;
  • PolynomialQuotient [р, q, х] — возвращает частное от деления р и q как полиномов от х, игнорируя какой-либо остаток;
  • PolynomialRemainder [р, q, х] — возвращает остаток от деления р на q как полиномов от х;
  • Resultant [polyl, poly2, var] — вычисляет результант полиномов polyl и poly2 по переменной var. С опцией Modulus->p функция вычисляет результант по модулю простого числа р.

Итак, работа с этими функциями, по существу, сводит операции с таким сложным видом символьных данных, как многочлены, к типовым алгебраическим операциям над обычными символьными переменными. Следующие примеры поясняют работу с полиномами:
Р[х] := а*х^3 + b*х^2 + с*х + d
Q[x] := е*х^2 — f*x — 1
Null2
Collect[P[x] + Q[x], x]
-1 + d+ (c- f) x+ (b+e) x^ax3
Collect[P[x]*Q[x], x]
-d+ (-c-df) x+ (-b+de- cf) x2* (-a+ ce-bf) x3 +
(be-af) x4+aex5
{PolynomialQ[P[x]], PolynomialQ[Q[x]]}
{True, True}
PolynomialQ[Sin[x], x]
False
PolynomialQ[P[x] + Q[x]]
True
Decompose[P[x], х]
{d+ cx+ bх2 + ах3}
PolynomialQuotient[P[x], Q[x], x]
b/e+af/e2+ax/e
PolynomialRemainder[Q[x], Р[х], х]
-1-fx+ex2
CoefficientList[P[x], x]
{d, с, b, a}
Decompose[х^6 + х + 1 — х^3 + 2*х^5, х]
{1+х-х3+2х5 + х6}
PolynomialGCD[Р[х], Q[х]]
1
PolynomialLCM[P[x], Q[x]]
Р[х] Q[x]
PolynomialQuotient[3*x^3 — 2*х^2 + х, х^2 — х + 1, х]
1+Зх
PolynomialRemainder[3*х^3 — 2*х^2 + х, х^2 — х + 1, х]
-1-х
Reduce[а*х^2 + b*х + с == 0, х]
Полиномы широко используются в математических расчетах. Поэтому обилие функций по работе с ними облегчает проведение сложных вычислений и позволяет представлять результаты в достаточно простой и удобной форме. Если бы системы компьютерной алгебры работали только с одними полиномами, то и в этом случае они вполне оправдали бы себя в глазах многих математиков.
Функции для расширенных операций с выражениями
Выше была описана сравнительно немногочисленная группа функций для работы с выражениями — их упрощения, расширения, выделения множителей и т. д. Эти функции способны решать большинство повседневных задач, связанных с аналитическими преобразованиями выражений. далее…