### - Qucs -
Цілком універсальний симулятор електричних кіл

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

У рівняннях Qucs можна застосовувати наступні операції, та функції. Для детальнішого опису будь-ласка зверніться до "Measurement Expressions Reference Manual". Параметри в квадратних дужках "[]" не обовязкові.

## Оператори

### Арифметичні оператори

`+x` | унарний плюс
`-x` | унарний мінус
`x+y` | додавання
`x-y` | віднімання
`x*y` | множення
`x/y` | ділення
`x%y` | залишок від ділення
`x^y` | піднесення до степеня

### Логічні оператори

`!x` | Заперечення
`x&&y` | І
`x||y` | Або
`x^^y` | Виключаюче або
`x?y:z` | Скорочення для логічного розалуження "якщо x тоді y інакше 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 одинична матриця
`linspace(from,to,n)` | створює вектор з `n` лінійно протяжними елементами між `from` і `to`, обидва значення включно
`logspace(from,to,n)` | створює вектор з `n` логарифмічно протяжними елементами між `from` і `to`, обидва значення включно

### Вектори та матриці: Базові матричні функції

`adjoint(x)` | сполучена матриця (транспонована і комплексно-спряжена)
`det(x)` | детермінант x
`inverse(x)` | інверсія матриці x
`transpose(x)` | транспонована матриця x (рядки - і стовпчики міняються місцями)

### Елементарні математичні функції: Базові дійсні та комплексні функції

`abs(x)` | абсолютне значення, модуль комплексного числа
`angle(x)` | фаза в радіанах
`arg(x)` | теж, як і angle(x)
`conj(x)` | спряжене комплексне число
`deg2rad(x)` | перетворює градуси в радіани
`hypot(x,y)` | Функція Евклідової відстані
`imag(x)` | уявна частина комплексного числа
`mag(x)` | те саме, що і abs(x)
`norm(x)` | квадрат mag(x)
`phase(x)` | фаза в градусах
`polar(m,p)` | повертає комплексне число, з модуля і фази
`rad2deg(x)` | перетворює радіани в градуси
`real(x)` | дійсна частина комплексного числа
`sign(x)` | обчислення знаку функції
`sqr(x)` | квадрат (x в другому степені)
`sqrt(x)` | квадратний корінь
`unwrap(rad[,tol])` | розгортає кут (в радіанах), використовуючи необов'язкове значення допуску (типово pi)

### Елементарні математичні функції: Експоненціальні та логарифмічні функції

`exp(x)` | експоненціальна функція з основою e
`limexp(x)` | Обмежена експоненціальна функція
`log10(x)` | десятковий логарифм
`log2(x)` | логарифм з основою два
`ln(x)` | натуральний логарифм

### Елементарні математичні функції: Тригонометричні функції

`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)` | функція Бесселя 1-го роду n-го порядку
`bessely(n,x)` | функція Бесселя 2-го роду n-го порядку
`erf(x)` | функція помилки
`erfc(x)` | компліментарна функція помилки
`erfinv(x)` | інверсна функція помилки
`erfcinv(x)` | інверсна компліментарна функція помилки
`sinc(x)` | повертає sin(x)/x і одиницю при 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` мусить бути однозначна залежність від даних
`random()` | випадкове число між 0.0 та 1.0
`rms(x)` | среднеквадратичне значення по вектору
`runavg(x)` | ковзне середнє значення в векторі
`srandom(x)` | видає випадкове число
`stddev(x)` | стандартне відхилення значень в векторі
`variance(x)` | розбіжність значень в векторі

### Аналіз даних: Базові операції

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

### Аналіз даних: Диференциювання та інтегрування

`diff(y,x[,n])` | диференціює вектор y за x n раз. Якщо n пропущено, типово береться n=1.
`integrate(x,h)` | чисельно інтегрує вектор `x`, приймаючи постійний розмір кроку `h`

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

`dft(x)` | обчислює дискретне перетворення Фур'є (DFT) вектора `x`
`fft(x)` | обчислює швидке перетворення Фур'є (FFT) вектора `x`
`Freq2Time(V,f)` | обчислює зворотне дискретне перетворення Фур'є функції `V(f)` з фізичною інтерпретацією
`idft(x)` | обчислює зворотне дискретне перетворення Фур'є (DFT) вектора `x`
`ifft(x)` | обчислює зворотне швидке перетворення Фур'є (IFFT) вектора `x`
`kbd(x [,n])` | Похідне вікно Кайзера-Бесселя
`Time2Freq(v,t)` | обчислює дискретне перетворення Фур'є функції `v(t)` з фізичною інтерпретацією

## Функції Електроніки

### Перетворення величин

`dB(x)` | децибели напруги
`dbm(x)` | перетворити напругу у потужність в дБ
`dbm2w(x)` | перетворити потужність в dBm в потужність в ваттах
`w2dbm(x)` | перетворити потужність в ваттах в потужність в dBm
`vt(t)` | Функція залежності опору від температури t в Кельвінах

### Коефіцієнти відображення та VSWR

`rtoswr(x)` | перетворює коефіцієнт відображення в коефіцієнт стоячої хвилі (за напругою) (КСВ чи КСВН)
`rtoy(x[,zref])` | перетворює коефіцієнт відображення (за умовчанням повний опорний опір рівний 50 Ом) в повну провідність
`rtoz(x[,zref])` | перетворює коефіцієнт відображення (за умовчанням повний опорний опір рівний 50 Ом) в повний опір
`ytor(x[,zref])` | перетворює повну провідність в коефіцієнт відображення (за умовчанням повний опорний опір рівний 50 Ом)
`ztor(x[,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', 'P.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(x)` | Mu чинник стійкості для матриці x (матриця S-параметрів чотирьохполюсника)
`Mu2(x)` | Mu' чинник стійкості для матриці x (матриця S-параметрів чотирьохполюсника)
`NoiseCircle(Sopt,Fmin,Rn,F[,Arcs])` | Створює кола з постійним параметром шуму `F` (може бути константою чи вектором), `Arcs` задає кути в градусах, створені, наприклад, з допомогою `linspace(0,360,100)`, якщо `Arcs` є числом, то воно визначає кількість рівномірно розставлених сегментів кола, коли його пропущено, то типово використовується прийнятне значення
`PlotVs(data,dep)` | повертає елемент даних з `data` (вектор чи матричний вектор), залежний від вектора `dep`, наприклад, `PlotVs(Gain,frequency/1e9)`
`Rollet(x)` | Чинник стійкості Роллета для матриці x (матриця 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

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

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

Примітка: Усі напруги і струми виражені піковими значеннями.

Примітка: Шумові напруги виражені СКЗ значеннями в смузі частот в 1Гц.

### Константи

`i,j` | уявна одиниця ("квадратний корінь з -1")
`pi` | 4*arctan(1) = 3.14159...
`e` | e = 2.71828...
`kB` | Постійна Больцмана = 1.38065e-23
`q` | Елементарний заряд = 1.6021765e-19 C

нагору