Qucs - Математические функции
Author: Michael Margraf

### - Qucs -
Почти универсальный симулятор цепей

# Краткое описание математических функций

В уравнениях Qucs могут применяться следующие операции и функции. Подробное описание смотрите в "Справочном руководстве по выражениям". Параметры в квадратных скобках "[]" необязательны.

## Операторы

### Арифметические операторы

`+x` | Унарный плюс
`-x` | Унарный минус
`x+y` | Сложение
`x-y` | Вычитание
`x*y` | Умножение
`x/y` | Деление
`x%y` | Остаток от деления
`x^y` | Возведение в степень

### Логические операторы

`!x` | Отрицание
`x&&y` | И
`x||y` | ИЛИ
`x^^y` | Исключающее ИЛИ
`x?y:z` | Сокращение для условного выражения "if `x` then `y` else `z`"
`x==y` | Равно
`x!=y` | Не равно
`x<y` | Меньше
`x<=y` | Меньше или равно
`x>y` | Больше
`x>=y` | Больше или равно

## Алфавитный список функций

abs`` adjoint`` angle`` arccos`` arccosec`` arccot`` arcosech`` arcosh`` arcoth`` arcsec`` arcsin`` arctan`` arg`` arsech`` arsinh`` artanh`` avg`` besseli0`` besselj`` bessely`` ceil`` conj`` cos`` cosec`` cosech`` cosh`` cot`` coth`` cumavg`` cumprod`` cumsum`` dB`` dbm`` dbm2w`` deg2rad`` det`` dft`` diff`` erf`` erfc`` erfcinv`` erfinv`` exp`` eye`` fft`` fix`` floor`` Freq2Time`` GaCircle`` GpCircle`` hypot`` idft`` ifft`` imag`` integrate`` interpolate`` inverse`` kbd`` limexp`` linspace`` ln`` log10`` log2`` logspace`` mag`` max`` min`` Mu`` Mu2`` NoiseCircle`` norm`` phase`` PlotVs`` polar`` prod`` rad2deg`` random`` real`` rms`` Rollet`` round`` rtoswr`` rtoy`` rtoz`` runavg`` sec`` sech`` sign`` sin`` sinc`` sinh`` sqr`` sqrt`` srandom`` StabCircleL`` StabCircleS`` StabFactor`` StabMeasure`` stddev`` step`` stos`` stoy`` stoz`` sum`` tan`` tanh`` Time2Freq`` transpose`` twoport`` unwrap`` variance`` vt`` w2dbm`` xvalue`` ytor`` ytos`` ytoz`` yvalue`` ztor`` ztos`` ztoy``

## Математические функции

### Векторы и матрицы: создание

`eye(n)` | Создает единичную матрицу `n` x `n`
`length(y)` | Возвращает длину данного вектора
`linspace(from,to,n)` | Создает вещественный вектор с `n` линейно расставленными компонентами между `from` и `to`, оба включительно
`logspace(from,to,n)` | Создает вещественный вектор с `n` логарифмически расставленными компонентами между `from` и `to`, оба включительно

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

`adjoint(x)` | Сопряженная с `x` матрица (транспонированная и комплексно-сопряженная)
`det(x)` | Детерминант матрицы `x`
`inverse(x)` | Инверсия матрицы `x`
`transpose(x)` | Транспонированная матрица для `x` (столбцы и строки меняются местами)

### Элементарные математические функции: основные вещественные и комплексные функции

`abs(x)` | Абсолютное значение, модуль комплексного числа
`angle(x)` | Фазовый угол (в радианах) комплексного числа. Синоним `arg()`
`arg(x)` | Фазовый угол (в радианах) комплексного числа
`conj(x)` | Сопряжение комплексного числа
`deg2rad(x)` | Преобразует фазу из градусов в радианы
`hypot(x,y)` | Функция евклидового расстояния
`imag(x)` | Мнимая часть комплексного числа
`mag(x)` | Модуль комплексного числа
`norm(x)` | Квадрат абсолютного значения вектора
`phase(x)` | Фазовый угол (в градусах) комплексного числа
`polar(m,p)` | Преобразование из полярных координат (модуль `m`, фаза `p`) в комплексное число
`rad2deg(x)` | Преобразует фазу из радианов в градусы
`real(x)` | Вещественная часть комплексного числа
`sign(x)` | Знаковая функция
`sqr(x)` | Квадрат (вторая степень) числа
`sqrt(x)` | Квадратный корень
`unwrap(p[,tol[,step]])` | Разворачивает угол `p` (в радианах -- по умолчанию `step` равен 2*pi), используя необязательный допуск `tol` (по умолчанию равен pi)

### Элементарные математические функции: экспоненциальные и логарифмические функции

`exp(x)` | Экспоненциальная функция с основанием e
`limexp(x)` | Ограниченная экспоненциальная функция
`log10(x)` | Десятичный логарифм
`log2(x)` | Двоичный логарифм
`ln(x)` | Натуральный логарифм (основание e )

### Элементарные математические функции: тригонометрия

`cos(x)` | Косинус
`cosec(x)` | Косеканс
`cot(x)` | Котангенс
`sec(x)` | Секанс
`sin(x)` | Синус
`tan(x)` | Тангенс

### Элементарные математические функции: обратные тригонометрические функции

`arccos(x)` | Арккосинус (известный также как "обратный косинус")
`arccosec(x)` | Арккосеканс
`arccot(x)` | Арккотангенс
`arcsec(x)` | Арксеканс
`arcsin(x)` | Арксинус (известный также как "обратный синус")
`arctan(x[,y])` | Арктангенс (известный также как "обратный тангенс")

### Элементарные математические функции: гиперболические функции

`cosh(x)` | Гиперболический косинус
`cosech(x)` | Гиперболический косеканс
`coth(x)` | Гиберболический котангенс
`sech(x)` | Гиперболический секанс
`sinh(x)` | Гиперболический синус
`tanh(x)` | Гиперболический тангенс

### Элементарные математические функции: обратные гиперболические функции

`arcosh(x)` | Гиперболический ареакосинус
`arcosech(x)` | Гиперболический ареакосеканс
`arcoth(x)` | Гиперболический ареакотангенс
`arsech(x)` | Гиперболический ареасеканс
`arsinh(x)` | Гиперболический ареасинус
`artanh(x)` | Гиперболический ареатангенс

### Элементарные математические функции: округление

`ceil(x)` | Округление до ближайшего большего целого
`fix(x)` | Отбрасывание десятичных разрядов вещественного числа
`floor(x)` | Округление до ближайшего меньшего целого
`round(x)` | Округление до ближайшего целого

### Элементарные математические функции: специальные математические функции

`besseli0(x)` | Модифицированная функция Бесселя нулевого порядка
`besselj(n,x)` | Функция Бесселя первого рода и `n`-го порядка
`bessely(n,x)` | Функция Бесселя второго рода и `n`-го порядка
`erf(x)` | Функция ошибки
`erfc(x)` | Комплиментарная функция ошибки
`erfinv(x)` | Обратная функция ошибки
`erfcinv(x)` | Обратная комплиментарная функции ошибки
`sinc(x)` | Sinc-функция (sin(`x`)/`x` или 1 при `x` = 0)
`step(x)` | Шаговая функция

### Анализ данных: основы статистики

`avg(x[,range])` | Арифметическое среднее вектора элементов; если задан диапазон range, тогда в `x` должна быть однозначная зависимость данных
`cumavg(x)` | Накопительное среднее элементов вектора
`max(x,y)` | Возвращает большее из значений `x` и `y`
`max(x[,range])` | Максимальное значение в векторе; если задан диапазон range, тогда в `x` должна быть однозначная зависимость данных
`min(x,y)` | Возвращает меньшее из значений `x` и `y`
`min(x[,range])` | Минимальное значение в векторе; если задан диапазон range, тогда в `x` должна быть однозначная зависимость данных
`rms(x)` | Среднеквадратичное значение элементов вектора
`runavg(x)` | Скользящее среднее элементов вектора
`stddev(x)` | Стандартное отклонение элементов вектора
`variance(x)` | Дисперсия элементов вектора
`random()` | Случайное число между 0.0 и 1.0
`srandom(x)` | Устанавливает начальное число для random

### Анализ данных: основные операции

`cumprod(x)` | Накопительное произведение элементов вектора
`cumsum(x)` | Накопительная сумма элементов вектора
`interpolate(f,x[,n])` | Эквидистантная сплайн-интерполяция вектора вещественных функций `f(x)` с использованием `n` равноудаленных отсчетов данных; последние можно опустить и использовать значения по умолчанию
`prod(x)` | Произведение элементов вектора
`sum(x)` | Сумма элементов вектора
`xvalue(f,yval)` | Возвращает x-значение, которое асоциировано с y-значением, ближайшим к заданному y-значению `yval` данного вектора `f`; следовательно, в векторе `f` должна быть однозначная зависимость данных
`yvalue(f,xval)` | Возвращает y-значение данного вектора `f`, которое ближе всего соответствует x-значению `xval`; следовательно, в векторе `f` должна быть однозначная зависимость данных

### Анализ данных: дифференцирование и интегрирование

`ddx(expr,var)` | Дифференцирует математическое выражение `expr` по переменной `var`
`diff(y,x[,n])` | Дифференцировать вектор `y` по вектору `x` `n` раз. Если `n` опущено, то берется значение `n` = 1
`integrate(x,h)` | Численно интегрировать вектор `x`, считая, что размер шага `h` постоянный

### Анализ данных: обработка сигналов

`dft(x)` | Дискретное преобразование Фурье для вектора `x`
`fft(x)` | Быстрое преобразование Фурье для вектора `x`
`fftshift(x)` | Переставляет БПФ-значения вектора `x` для того, чтобы переместить частоту 0 в центр вектора
`Freq2Time(V,f)` | Обратное дискретное преобразование Фурье функции `V(f)` с физической интерпретацией
`idft(x)` | Обратное дискретное преобразование Фурье для вектора `x`
`ifft(x)` | Обратное быстрое преобразование Фурье для вектора `x`
`kbd(x[,n])` | Производное окно Кайзера-Бесселя
`Time2Freq(v,t)` | Дискретное преобразование Фурье функции `v(t)` с физической интерпретацией

## Функции из электроники

### Преобразование единиц измерения

`dB(x)` | Значение в дБ
`dbm(x)` | Преобразовать напряжение в мощность в дБм
`dbm2w(x)` | Преобразовать мощность в дБм в мощность в ваттах
`w2dbm(x)` | Преобразовать мощность в ваттах в мощность в дБм
`vt(t)` | Температурный потенциал для данной температуры `t` в градусах Кельвина

### Коэффициенты отражения и КСВН

`rtoswr(x)` | Преобразует коэффициент отражения в коэффициент стоячей волны по напряжению (КСВН)
`rtoy(x[,zref])` | Преобразует коэффициент отражения в полную проводимость; по умолчанию `zref` равно 50 Ом
`rtoz(x[,zref])` | Преобразует коэффициент отражения в полное сопротивление; по умолчанию `zref` равно 50 Ом
`ytor(x[,zref])` | Преобразует полную проводимость в коэффициент отражения; по умолчанию `zref` равно 50 Ом
`ztor(x[,zref])` | Преобразует полное сопротивление в коэффициент отражения; по умолчанию `zref` равно 50 Ом

### N-портовые матричные преобразования

`stos(s,zref[,z0])` | Преобразует матрицу S-параметров в матрицу S-параметров с другим эталонным полным сопротивлением(ями)
`stoy(s[,zref])` | Преобразует матрицу S-параметров в матрицу Y-параметров
`stoz(s[,zref])` | Преобразует матрицу S-параметров в матрицу Z-параметров
`twoport(m,from,to)` | Преобразует двух-портовую матрицу из одного представления в другое, возможные значения для `from` и `to` равны 'Y', 'Z', 'H', 'G', 'A', 'S' и 'T'.
`ytos(y[,z0])` | Преобразует матрицу Y-параметров в матрицу S-параметров
`ytoz(y)` | Преобразует матрицу Y-параметров в матрицу Z-параметров
`ztos(z[,z0])` | Преобразует матрицу Z-параметров в матрицу S-параметров
`ztoy(z)` | Преобразует матрицу Z-параметров в матрицу Y-параметров

### Усилители

`GaCircle(s,Ga[,arcs])` | Окружность(и) с постоянным усилением располагаемой мощности `Ga` в плоскости источника
`GpCircle(s,Gp[,arcs])` | Окружность(и) с постоянным усилением рабочей мощности `Gp` в плоскости нагрузки
`Mu(s)` | Mu - фактор устойчивости двухпортовой матрицы S-параметров
`Mu2(s)` | Mu' - фактор устойчивости двухпортовой матрицы S-параметров
`NoiseCircle(Sopt, Fmin,Rn,F[,Arcs])` | Создает окружность(и) с постоянным(и) образом(ами) шума `F`. `Arcs` задает углы в градусах, созданные, например, `linspace(0,360,100)`. Если Arcs - число, то оно задает число равноудаленных круговых сегментов, если оно опущено, то берется значение по умолчанию
`PlotVs(data,dep)` | Возвращает элемент данных из вектора или вектора матрицы `data`, зависящий от данного вектора `dep`, например, `PlotVs(Gain,frequency/1e9)`
`Rollet(s)` | Фактор устойчивости Роллета для двухпортовой матрицы S-параметров
`StabCircleL(s[,arcs])` | Окружность устойчивости в плоскости нагрузки
`StabCircleS(s[,arcs])` | Окружность устойчивости в плоскости источника
`StabFactor(s)` | Фактор устойчивости двухпортовой матрицы S-параметров. Синоним `Rollet()`
`StabMeasure(s)` | Мера устойчивости B1 двухпортовой матрицы S-параметров

## Номенклатура

### Интервалы

`LO:HI` | Интервал от `LO` до `HI`
`:HI` | Вплоть до `HI`
`LO:` | От `LO`
`:` | Нет ограничений интервала

### Матрицы и элементы матриц

`M` | Вся матрица `M`
`M[2,3]` | Элемент, находящийся во 2-м ряду и 3-м столбце матрицы `M`
`M[:,3]` | Вектор, состоящий из 3-го столбца матрицы `M`

### Непосредственно

`2.5` | Вещественное число
`1.4+j5.1` | Комплексное число
`[1,3,5,7]` | Вектор
`[11,12;21,22]` | Матрица

### Приставки к единицам

`E` | экса, * 1e+18
`P` | пета, * 1e+15
`T` | тера, * 1e+12
`G` | гига, * 1e+9
`M` | мега, * 1e+6
`k` | кило, * 1e+3
`m` | милли, * 1e-3
`u` | микро, * 1e-6
`n` | нано, * 1e-9
`p` | пико, * 1e-12
`f` | фемто, * 1e-15
`a` | атто, * 1e-18

### Названия величин

`S[1,1]` | Значение S-параметра
nodename.`V` | Напряжение постоянного тока в узле nodename
name.`I` | Постоянный ток через компонент name
nodename.`v` | Переменное напряжение в узле nodename
name.`i` | Переменный ток через компонент name
nodename.`vn` | Шумовое напряжение переменного тока в узле nodename
name.`in` | Шумовой переменный ток через компонент name
nodename.`Vt` | Переходное напряжение в узле nodename
name.`It` | Переходной ток через компонент name

Примечание: Все напряжения и токи - пиковые значения.
Примечание: Шумовые напряжения - СКЗ значения в полосе частот 1 Hz.

## Константы

`i, j` | Мнимая единица ("квадратный корень из -1")
`pi` | 4*arctan(1) = 3.14159...
`e` | e = 2.71828...
`kB` | Постоянная Больцмана = 1.38065e-23 Дж/K
`q` | Элементарный заряд = 1.6021765e-19 Кл

наверх