Как работи?

1. Въведете текста и формулите в прозореца "Код" отляво.
2. Натиснете F5 или бутона за да изчислите резултатите. Те ще се появят отдясно в прозореца "Резултати", като професионално оформена изчислителна записка.
3. Натиснете за да отпечатате или за да копирате съдържанието на записката. Може също да го запишете като Html , PDF или MS Word документ.

Програмен език

Програмният език на CalcpadCE включва следните елементи (кликнете за вмъкване):

- Реални числа: цифри 0 - 9 и десетична точка ".";
- Комплексни числа: re ± im i (например 3 - 2 i);
- Вектори: [v1; v2; v3; …; vn];
- Матрици: [M11; M12; … ; M1n | M21; M22; … ; M2n | … | Mm1; Mm2; … ; Mmn]
- +Променливи:
  - всякакви букви на Unicode;
  - цифри: 0 – 9;
  - запетая: " , ";
  - специални символи: ′ , ″ , ‴ , ⁗ , ‾ , ø , Ø , ° , ∡ ;
  - горни индекси: ⁰ , ¹ , ² , ³ , ⁴ , ⁵ , ⁶ , ⁷ , ⁸ , ⁹ , ⁿ , ⁺ , ⁻ ;
  - долни индекси: ₀ , ₁ , ₂ , ₃ , ₄ , ₅ , ₆ , ₇ , ₈ , ₉ , ₊ , ₋ , ₌ , ₍ , ₎ ;
  - "_" за долен индекс;
  Имената на променливи трябва да започват с буква. Различава главни и малки букви.
- Константи: π, e, φ, γ, g, G, ME, MS, c, h, μ0, ε0, ke, e, me, mp, mn, NA, σ, kB, R, F, γc, γs, γa, γg, γw
- +Оператори:
  "!" - факториел;
  "^" - степенуване;
  "/" - деление;
  "÷" - делене с дробна черта в линейни и накл. черта във фигурни формули (//);
  "\" - целочислено деление;
  "⦼" - остатък (%%);
  "*" - умножение;
  "-" - изваждане;
  "+" - събиране;
  "≡" - равенство (==);
  "≠" - неравенство (!=);
  "<" - по-малко;
  ">" - по-голямо;
  "≤" - по-малко или равно (<=);
  "≥" - по-голямо или равно (>=);
  "∧" - логическо "И"/AND (&&);
  "∨" - логическо "ИЛИ"/OR (||);
  "⊕" - изключващо "ИЛИ"/XOR (^^);
  "∠" - фазор A∠φ (<<);
  "=" - присвояване или дефиниране на променлива, функция или макрос;
  "←" - присвояване на външна променлива за блок (<*);
- Потребителски функции от вида f(x; y; z; ...);
- +Вградени функции:
  - +Тригонометрични:
    sin(x) - синус;
    cos(x) - косинус;
    tan(x) - тангенс;
    csc(x) - косеканс;
    sec(x) - секанс;
    cot(x) - котангенс;
  - +Хиперболични:
    sinh(x) - синус хиперболичен;
    cosh(x) - косинус хиперболичен;
    tanh(x) - тангенс хиперболичен;
    csch(x) - косеканс хиперболичен;
    sech(x) - секанс хиперболичен;
    coth(x) - котангенс хиперболичен;
  - +Обратни тригонометрични:
    asin(x) - аркуссинус;
    acos(x) - аркускосинус;
    atan(x) - аркустангенс;
    atan2(x; y) - ъгъл, чиито тангенс е отношението на y към x;
    acsc(x) - аркускосеканс;
    asec(x) - аркуссеканс;
    acot(x) - аркускотангенс;
  - +Обратни хиперболични:
    asinh(x) - аркуссинус хиперболичен;
    acosh(x) - аркускосинус хиперболичен;
    atanh(x) - аркустангенс хиперболичен;
    acsch(x) - аркускосеканс хиперболичен;
    asech(x) - аркуссеканс хиперболичен;
    acoth(x) - аркускотангенс хиперболичен;
  - +Логаритмични, експоненциални и корени:
    log(x) - десетичен логаритъм;
    ln(x) - натурален логаритъм;
    log_2(x) - двоичен логаритъм;
    exp(x) - експоненциална функция = eˣ;
    sqr(x), sqrt (x) - корен квадратен;
    cbrt(x) - корен кубичен;
    root(x; n) - корен n-ти;
  - +Закръгляване:
    round(x) - закръгляване до най-близкото цяло число;
    floor(x) - закръгляване до по-малкото цяло число;
    ceiling(x) - закръгляване до по-голямото цяло число;
    trunc(x) - закръгляване към по-близкото число в посока към нулата;
  - +Целочислени:
    mod(x; y) - остатък от деление;
    gcd(x; y; z…) - най-голям общ делител;
    lcm(x; y; z…) - най-малко общо кратно;
  - +Комплексни:
    abs(x) - абсолютна стойност;
    re(x) - реалната част на комплексно число;
    im(x) - имагинерната част на комплексно число;
    phase(x) - фаза на комплексно число;
    conj(z) - спрегнато комплексно число;
  - +Агрегатни и интерполационни:
    min(M; ⃗v; x…) - най-малката стойност от списъка;
    max(M; ⃗v; x…) - най-голямата стойност от списъка;
    sum(M; ⃗v; x…) - сума на множество стойности;
    sumsq(M; ⃗v; x…) - сума от квадратите;
    srss(M; ⃗v; x…) - корен квадратен от сумата на квадратите;
    average(M; ⃗v; x…) - средно аритметично на множество стойности;
    product(M; ⃗v; x…) - произведение на множество стойности;
    mean(M; ⃗v; x…) - средно геометрично;
    take(n; M; ⃗v; x…) - връща n-тия елемент от списъка;
    line(x; M; ⃗v; y…) - линейна интерполация;
    spline(x; M; ⃗v; y…) - spline интерполация на Ермит;
  - +Условни и логически:
    if(условие; стойност-при-истина; стойност-при-неистина) - условно изчисление;
    switch(усл1; стойност1; усл2; стойност2;...; стойност-по-подразб.) - избирателно изчисление;
    not(x) - логическо отрицание (NOT);
    and(M; ⃗v; x…) - логическо "И" (AND);
    or(M; ⃗v; x…) - логическо "ИЛИ" (OR);
    xor(M; ⃗v; x…) - изключващо "ИЛИ" (XOR);
  - +Други:
    sign(x) - знак на число;
    random(x) - произволно число между 0 и x;
    getunits(x) - връща мерните единици на x без числото или 1 ако x няма мерни единици;
    setunits(x; u) - задава мерни единици u на x, където x може да бъде скалар, вектор или матрица;
    clrunits(x) - изчиства мерните единици от скалар, вектор или матрица x;
    hp(x) - преобразува x към еквивалентния му високопроизводителен (hp) тип;
    ishp(x) - проверява дали типа на x е високопроизводителен (hp) вектор или матрица;
  - +Векторни:
    Създаване и инициализация:
    vector(n) - създава празен вектор с дължина n;
    vector_hp(n) - създава празен високопроизводителен (hp) вектор с дължина n;
    range(x1; xn; step) - създава вектор от стойностите в интервала от x1 до xn със стъпка step;
    range_hp(x1; xn; step)- създава високопроизводителен (hp) вектор от стойностите в посочения интервал;
    Структурни:
    len(⃗v) - връща дължината на вектора ⃗v;
    size(⃗v) - действителния размер на вектора ⃗v (индекса на последния ненулев елемент);
    resize(⃗v; n) - задава нова дължина n на вектора ⃗v;
    fill(⃗v; x) - запълва вектора ⃗v със стойност x;
    join(M; ⃗v; x…) - създава вектор чрез обединяване на аргументите в списъка - матрици, вектори и скалари;
    slice(⃗v; i1; i2) - връща частта от вектора ⃗v, ограничена от индекси i1 и i2, включително;
    first(⃗v; n) - първите n елемента на вектора ⃗v;
    last(⃗v; n) - последните n елемента на вектора ⃗v;
    extract(⃗v; ⃗vi) - извлича онези елементи от ⃗v, чиито индекси се съдържат в ⃗vi;
    Данни:
    sort(⃗v) - сортира елементите на вектор ⃗v във възходящ ред;
    rsort(⃗v) - сортира елементите на вектор ⃗v в низходящ ред;
    order(⃗v) - индексите на вектор ⃗v, подредени по възходящ ред на неговите елементи;
    revorder(⃗v) - индексите на вектор ⃗v, подредени по низходящ ред на неговите елементи;
    reverse(⃗v) - нов вектор, съдържащ елементите на ⃗v в обратен ред;
    count(⃗v; x; i) - броя на елементите в ⃗v от i-тия нататък, които са равни на x;
    search(⃗v; x; i) - индекса на първия елемент в ⃗v от i-тия нататък, който е равен на x;
    find(⃗v; x; i) или
    find_eq(⃗v; x; i) - индексите на всички елементи в ⃗v от i-тия нататък, които са = x;
    find_ne(⃗v; x; i) - индексите на всички елементи в ⃗v от i-тия нататък, които са ≠ x;
    find_lt(⃗v; x; i) - индексите на всички елементи в ⃗v от i-тия нататък, които са < x;
    find_le(⃗v; x; i) - индексите на всички елементи в ⃗v от i-тия нататък, които са ≤ x;
    find_gt(⃗v; x; i) - индексите на всички елементи в ⃗v от i-тия нататък, които са > x;
    find_ge(⃗v; x; i) - индексите на всички елементи в ⃗v от i-тия нататък, които са ≥ x;
    lookup(⃗a; ⃗b; x) или
    lookup_eq(⃗a; ⃗b; x) - всички елементи в ⃗a, за които съответните елементи в ⃗b са = x;
    lookup_ne(⃗a; ⃗b; x) - всички елементи в ⃗a, за които съответните елементи в ⃗b са ≠ x;
    lookup_lt(⃗a; ⃗b; x) - всички елементи в ⃗a, за които съответните елементи в ⃗b са < x;
    lookup_le(⃗a; ⃗b; x) - всички елементи в ⃗a, за които съответните елементи в ⃗b са ≤ x;
    lookup_gt(⃗a; ⃗b; x) - всички елементи в ⃗a, за които съответните елементи в ⃗b са > x;
    lookup_ge(⃗a; ⃗b; x) - всички елементи в ⃗a, за които съответните елементи в ⃗b са ≥ x;
    Математически:
    norm_1(⃗v) - L1 (Манхатън) норма на вектора ⃗v;
    norm(⃗v) или
    norm_2(⃗v) или
    norm_e(⃗v) - L2 (Евклидова) норма на вектора ⃗v;
    norm_p(⃗v; p) - Lp норма на вектора ⃗v;
    norm_i(⃗v) - L∞ (безкрайна) норма на вектора ⃗v;
    unit(⃗v) - нормализирания (единичен) вектор ⃗v (с L2 норма = 1);
    dot(⃗a; ⃗b) - скаларно произведение на два вектора ⃗a и ⃗b;
    cross(⃗a; ⃗b) - векторно произведение на два вектора ⃗a и ⃗b (с дължина 2 или 3);
  - +Матрични:
    Създаване и инициализация:
    matrix(m; n) - създава празна матрица с размери m⨯n;
    identity(n) - създава единична матрица с размери n⨯n;
    diagonal(n; d) - създава диагонална n⨯n матрица и запълва главния диагонал със стойност d;
    column(m; c) - създава матрица-стълб с размери m⨯1, запълнена със стойност c;
    utriang(n) - създава горна триъгълна матрица с размери n⨯n;
    ltriang(n) - създава долна триъгълна матрица с размери n⨯n;
    symmetric(n) - създава симетрична матрица с размери n⨯n;
    matrix_hp(m; n) - създава високопроизводителна (hp) матрица с размери m⨯n;
    identity_hp(n) - създава високопроизв. (hp) единична матрица с размери n⨯n;
    diagonal_hp(n; d) - създава високопроизв. (hp) n⨯n диагонална матрица и запълва диагонала със стойност d;
    column_hp(m; c) - създава високопроизв. (hp) m⨯1 матрица-стълб, запълнена със стойност c;
    utriang_hp(n) - създава високопроизв. (hp) n⨯n горна триъгълна матрица;
    ltriang_hp(n) - създава високопроизв. (hp) n⨯n долна триъгълна матрица;
    symmetric_hp(n) - създава високопроизв. (hp) симетрична матрица с размери n⨯n;
    vec2diag(⃗v) - създава диагонална матрица от елементите на вектора ⃗v;
    vec2row(⃗v) - създава матрица-ред от елементите на вектора ⃗v;
    vec2col(⃗v) - създава матрица-стълб от елементите на вектора ⃗v;
    join_cols(⃗c1; ⃗c2; ⃗c3…) - създава нова матрица чрез обединяване на вектори в стълбове;
    join_rows(⃗r1; ⃗r2; ⃗r3…) - създава нова матрица чрез обединяване на вектори в редове;
    augment(A; B; C…) - създава нова матрица чрез присъединяване на матриците A, B, C… една до друга;
    stack(A; B; C…) - създава нова матрица чрез присъединяване на матриците A, B, C… една под друга;
    Структурни:
    n_rows(M) - броя на редовете в матрицата M;
    n_cols(M) - броя на стълбовете в матрицата M;
    mresize(M; m; n) - задава нови размери m и n на матрицата M;
    mfill(M; x) - запълва матрицата M със стойност x;
    fill_row(M; i; x) - запълва i-тия ред на матрицата M със стойност x;
    fill_col(M; j; x) - запълва j-тия стълб на матрицата M със стойност x;
    copy(A; B; i; j) - копира всички елементи от A в B, започвайки от индекси i и j на B;
    add(A; B; i; j) - добавя всички елементи от A към тези на B, започвайки от индекси i и j на B;
    row(M; i) - извлича i-тия ред на матрицата M като вектор;
    col(M; j) - извлича j-тия стълб на матрицата M като вектор;
    extract_rows(M; ⃗vi) - извлича онези редове от матрицата M, чиито индекси се съдържат във вектор ⃗vi;
    extract_cols(M; ⃗vj) - извлича онези стълбове от матрицата M, чиито индекси се съдържат във вектор ⃗vj;
    diag2vec(M) - извлича диагоналните елементи от матрицата M като вектор;
    submatrix(M; i1; i2; j1; j2) - извлича подматрица на M, ограничена от редове i1 и i2 и стълбове j1 и j2, вкл.;
    Данни:
    sort_cols(M; i) - сортира стълбовете на M на базата на стойностите в ред i във възходящ ред;
    rsort_cols(M; i) - сортира стълбовете на M на базата на стойностите в ред i в низходящ ред;
    sort_rows(M; j) - сортира редовете на M на базата на стойностите в стълб j във възходящ ред;
    rsort_rows(M; j) - сортира редовете на M на базата на стойностите в стълб j в низходящ ред;
    order_cols(M; i) - индексите на стълбовете на M, подредени възходящо по стойностите от ред i;
    revorder_cols(M; i) - индексите на стълбовете на M, подредени низходящо по стойностите от ред i;
    order_rows(M; j) - индексите на редовете на M, подредени възходящо по стойностите от стълб j;
    revorder_rows(M; j) - индексите на редовете на M, подредени низходящо по стойностите от стълб j;
    mcount(M; x) - броя на елементите със стойност x в матрицата M;
    msearch(M; x; i; j) - вектор с двата индекса на първия елемент със стойност x в матрицата M, започвайки от индекси i и j;
    mfind(M; x) или
    mfind_eq(M; x) - индексите на всички елементи в M, които са = x;
    mfind_ne(M; x) - индексите на всички елементи в M, които са ≠ x;
    mfind_lt(M; x) - индексите на всички елементи в M, които са < x;
    mfind_le(M; x) - индексите на всички елементи в M, които са ≤ x;
    mfind_gt(M; x) - индексите на всички елементи в M, които са > x;
    mfind_ge(M; x) - индексите на всички елементи в M, които са ≥ x;
    hlookup(M; x; i1; i2) или
    hlookup_eq(M; x; i1; i2) - стойностите от ред i2 на M, за които елементите от ред i1 са = x;
    hlookup_ne(M; x; i1; i2) - стойностите от ред i2 на M, за които елементите от ред i1 са ≠ x;
    hlookup_lt(M; x; i1; i2) - стойностите от ред i2 на M, за които елементите от ред i1 са < x;
    hlookup_le(M; x; i1; i2) - стойностите от ред i2 на M, за които елементите от ред i1 са ≤ x;
    hlookup_gt(M; x; i1; i2) - стойностите от ред i2 на M, за които елементите от ред i1 са > x;
    hlookup_ge(M; x; i1; i2) - стойностите от ред i2 на M, за които елементите от ред i1 са ≥ x;
    vlookup(M; x; j1; j2) или
    vlookup_eq(M; x; j1; j2) - стойностите от стълб j2 на M, за които елементите от стълб j1 са = x;
    vlookup_ne(M; x; j1; j2) - стойностите от стълб j2 на M, за които елементите от стълб j1 са ≠ x;
    vlookup_lt(M; x; j1; j2) - стойностите от стълб j2 на M, за които елементите от стълб j1 са < x;
    vlookup_le(M; x; j1; j2) - стойностите от стълб j2 на M, за които елементите от стълб j1 са ≤ x;
    vlookup_gt(M; x; j1; j2) - стойностите от стълб j2 на M, за които елементите от стълб j1 са > x;
    vlookup_ge(M; x; j1; j2) - стойностите от стълб j2 на M, за които елементите от стълб j1 са ≥ x;
    Математически:
    hprod(A; B) - произведение на Hadamard на матриците A и B;
    fprod(A; B) - произведение на Frobenius на матриците A и B;
    kprod(A; B) - произведение на Kronecker на матриците A и B;
    mnorm_1(M) - L1 норма на матрицата M;
    mnorm(M) или
    mnorm_2(M) - L2 норма на матрицата M;
    mnorm_e(M) - норма на Frobenius на матрицата M;
    mnorm_i(M) - L∞ норма на матрицата M;
    cond_1(M) - число на обусловеност на M на база на L1 нормата;
    cond(M) или
    cond_2(M) - число на обусловеност на M на база на L2 нормата;
    cond_e(M) - число на обусловеност на M на база на нормата на Frobenius;
    cond_i(M) - число на обусловеност на M на база на L∞ нормата;
    det(M) - детерминанта на матрицата M;
    rank(M) - ранг на матрицата M;
    trace(M) - следа на матрицата M;
    transp(M) - транспонираната матрица на M;
    adj(M) - адюнгираната матрица на M;
    cofactor(M) - кофакторната матрица на M;
    eigenvals(M; ne) - първите ne собствени стойности на матрицата M или всички ако ne липсва;
    eigenvecs(M; ne) - първите ne собствени вектори на матрицата M или всички ако ne липсва;
    eigen(M; ne) - първите ne собствени стойности и вектори на матрицата M или всички ако ne липсва;
    cholesky(M) - декомпозиция на Холецки на симетрична, положително определена матрица M;
    lu(M) - LU декомпозиция на матрицата M;
    qr(M) - QR декомпозиция на матрицата M;
    svd(M) - декомпозиция по особени стойности на M;
    inverse(M) - обратната матрица на M;
    lsolve(A; ⃗b) - решава системата линейни уравнения A⃗x = ⃗b като използва LDLT декомпозиция за симетрични матрици и LU декомпозиция за несиметрични;
    clsolve(A; ⃗b) - решава системата линейни уравнения A⃗x = ⃗b със симетрична, положително определена матрица на коефициентите A посредством декомпозиция на Холецки;
    slsolve(A; ⃗b) - решава системата линейни уравнения A⃗x = ⃗b с високопроизводителна симетрична, положително определена матрица A чрез метода на преобусловения спрегнат градиент (PCG);
    msolve(A; B) - решава обобщеното матрично уравнение AX = B чрез LDLT декомпозиция за симетрични матрици и LU декомпозиция за несиметрични;
    cmsolve(A; ⃗b) - решава обобщеното матрично уравнение AX = B със симетрична, положително определена матрица на коефициентите A посредством декомпозиция на Холецки;
    smsolve(A; B) - решава обобщеното матрично уравнение AX = B с високопроизводителна симетрична, положително определена матрица на коефициентите A чрез метода на преобусловения спрегнат градиент (PCG);
    matmul(A; B) - бързо умножение на квадратни hp матрици чрез паралелен алгоритъм на Виноград. Операторът за умножение A*B използва тази функция вътрешно за всички квадратни hp матрици с размер 10 или по-големи;
    fft(M) - извършва бързо преобразувание на Фурие на матрица M. За реални данни матрицата трябва да има един ред, а за комплексни - два реда;
    ift(M) - извършва обратно преобразувание на Фурие на матрица M. За реални данни матрицата трябва да има един ред, а за комплексни - два реда;
    Двойна интерполация:
    take(x; y; M) - връща елементът на матрицата M с индекси x и y;
    line(x; y; M) - двойна линейна интерполация от елементите на M на база на стойностите на x и y;
    spline(x; y; M) - двойна spline интерполация на Ермит от елементите на матрицата M на база на стойностите на x и y.
- Коментари: "Заглавие" или 'текст', съответно в двойни и единични кавички. Разрешено е използването на HTML, CSS, JS и SVG в коментарите.
- +Графики на функции:
  $Plot{f(x) @ x = a : b} - стандартна, единична;
  $Plot{x(t) | y(t) @ t = a : b} - параметрична;
  $Plot{f1(x) & f2(x) & ... @ x = a : b} - паралелни;
  $Plot{x1(t) | y1(t) & x2(t) | y2(t) & ... @ t = a : b} - паралелни параметрични;
  $Map{f(x; y) @ x = a : b & y = c : d} - изохроми на повърхнина (2D функция);
  PlotHeight - височина на полето за чертане в пиксели;
  PlotWidth - ширина на полето за чертане в пиксели;
  PlotSVG - чертай графиките във векторен (SVG) формат;
  PlotAdaptive - използвай адаптивна мрежа за графики на функции;
  PlotStep - стъпка на мрежата за интерполиране;
  PlotShadows - чертай повърхнините със светлосенки;
  PlotLightDir - посока към източника на светлина (0-7):
  PlotSmooth - плавно преливане на цветовете (= 1) или изохроми (= 0);
  PlotPalette - номер на палитра (0-9):
- +Итеративни и числени методи:
  $Root{f(x) = const @ x = a : b} - намиране на корен на f(x) = const;
  $Root{f(x) @ x = a : b} - намиране на корен на f(x) = 0;
  $Find{f(x) @ x = a : b} - намира мястото, където функцията пресича абсцисата, но не се изисква стриктно x да е решение;
  $Sup{f(x) @ x = a : b} - локален максимум на функция;
  $Inf{f(x) @ x = a : b} - локален минимум на функция;
  $Area{f(x) @ x = a : b} - числено интегриране с адаптивна квадратура на Гаус-Лобато-Кронрод;
  $Integral{f(x) @ x = a : b} - числено интегриране с Tanh-Sinh квадратура;
  $Slope{f(x) @ x = a} - числено диференциране;
  $Derivative{f(x) @ x = a} - числено диференциране;
  $Sum{f(k) @ k = a : b} - крайна сума;
  $Product{f(k) @ k = a : b} - крайно произведение;
  $Repeat{f(k) @ k = a : b} - итеративен блок от изрази с брояч;
  $While{условие; изрази} - итеративен блок от изрази с условие;
  $Block{изрази} - многоредов блок от изрази;
  $Inline{изрази} - едноредов блок от изрази;
  Precision - точност на решението за числени методи [10-2; 10-16] (по подразбиране - 10-12);
- +Условни разклонения:
  Стандартно:
  #if условие
  тук въведете код
  #end if
  Алтернативно:
  #if условие
  тук въведете код
  #else
  алтернативен код
  #end if
  Пълно:
  #if условие1
  тук въведете код
  #else if условие2
  тук въведете код
  #else
  алтернативен код
  #end if
  Може да добавяте произволен брой "#else if" блокове, но само един "#else".
- +Блок за цикъл:
  Стандартен:
  #repeat брой повторения
  тук въведете код
  #loop
  Условен:
  #repeat брой повторения
  тук въведете код
  #if условие
  #break или #continue
  #end if
  още код
  #loop
  С брояч:
  #for counter = start : end
  тук въведете код
  #loop
  С условие:
  #while условие
  тук въведете код
  #loop
- +Модули и макроси/текстови променливи:
  Модули:
  #include filename - вмъква код от външен файл (модул);
  #local - начало на локална секция (не се вмъква);
  #global - начало на глобална секция (вмъква се);
  Едноредова текстова променлива:
  #def variable_name$ = съдържание
  Многоредова текстова променлива:
  #def variable_name$
  съдържание ред 1
  съдържание ред 2
  ...
  #end def
  Едноредов макрос:
  #def macro_name$(param1$; param2$;...) = съдържание
  Многоредов макрос:
  #def macro_name$(param1$; param2$;...)
  съдържание ред 1
  съдържание ред 2
  ...
  #end def
- +Вход/изход на външни данни:
  Текстови/CSV файлове:
  #read M from filename.txt@R1C1:R2C2 TYPE=R SEP=',' - четене на матрица M от текстов/CSV файл;
  #write M to filename.txt@R1C1:R2C2 TYPE=N SEP=',' - запис на матрица M в текстов/CSV файл;
  #append M to filename.txt@R1C1:R2C2 TYPE=N SEP=',' - добавяне на матрица M към текстов/CSV файл;
  Excel файлове (xlsx и xlsm):
  #read M from filename.xlsx@Sheet1!A1:B2 TYPE=R - четене на матрица M от Excel файл;
  #write M to filename.xlsx@Sheet1!A1:B2 TYPE=N - запис на матрица M в Excel файл;
  #append M to filename.xlsx@Sheet1!A1:B2 TYPE=N - добавяне на матрица M към Excel файл;
  Sheet, range, TYPE и SEP могат да бъдат пропуснати.
  За командата #read, TYPE може да бъде някое от [R|D|C|S|U|L|V].
  За командите #write и #append, TYPE може да бъде Y или N.
- Защита от презапис: #const - декларира константа (променлива или функция само за четене);
- +Контрол на видимостта:
  #hide - скривай съдържанието на документа;
  #show - показвай винаги съдържанието (по подразбиране);
  #pre - показвай следващото съдържание само при въвеждане;
  #post - показвай следващото съдържание само в резултатите;
  #val - показвай само изчислените стойности;
  #equ - показвай пълните формули (по подразбиране);
  #noc - показвай само формули без стойности (no calculations);
  #nosub - не замествай стойностите на променливите (no substitution);
  #novar - показвай само заместените стойности на променливите (no variables);
  #varsub - показвай формулите с променливи и заместени стойности (по подразбиране);
  #split - разделяй уравнения, които не се събират на един ред;
  #wrap - свивай уравнения които не се събират на един ред (по подразбиране);
  #round n - закръглява изходните стойности до n цифри след десетичната точка;
  #round default - възстановява закръгляването по подразбиране;
  #format FFFF - задава потребителски форматиращ низ;
  #format default - възстановява форматирането по подразбиране;
  #md on - включва използването на markdown в коментари;
  #md off - изключва използването на markdown в коментари;
  #phasor - задава изходното форматиране на комплексни числа като полярен фазор: A∠φ;
  #complex - задава изходното форматиране на комплексни числа в алгебричен формат: a + bi.
  Всяка от горните команди е валидна от мястото на използването и до края на документа или докато не бъде отменена от алтернативна команда.
- +Точки на прекъсване (постъпково изпълнение):
  #pause - изчислява до съответния ред и спира на пауза;
  #input - показва формуляр за вход на данни до съответния ред и спира на пауза.
- Единици за тригонометрични функции:
  #deg - градуси, #rad - радиани, #gra - гради;
- Разделител за отправни единици: |;
- Връщай резултати от тригонометр. функции с единици за ъгъл: ReturnAngleUnits = 1;
- Бездименсионни единици: %, ‰, ‱, pcm, ppm, ppb, ppt, ppq;
- Единици за ъгъл: °, ′, ″, deg, rad, grad, rev;
- +Метрични единици (SI и съвместими):
  Маса: g, hg, kg, t, kt, Mt, Gt, dg, cg, mg, μg, ng, pg, Da, u;
  Дължина: m, km, dm, cm, mm, μm, nm, pm, AU, ly;
  Време: s, ms, μs, ns, ps, min, h, d, w, y;
  Честота: Hz, kHz, MHz, GHz, THz, mHz, μHz, nHz, pHz, rpm;
  Скорост: kmh;
  Електрически поток: A, kA, MA, GA, TA, mA, μA, nA, pA;
  Температура: °C, Δ°C, K;
  Количество вещество: mol;
  Интензитет на светлината: cd;
  Площ: a, daa, ha;
  Обем: L, daL, hL, dL, cL, mL, μL, nL, pL;
  Сила: N, daN, hN, kN, MN, GN, TN, gf, kgf, tf, dyn;
  Момент: Nm, kNm;
  Налягане: Pa, daPa, hPa, kPa, MPa, GPa, TPa,
  dPa, cPa, mPa, μPa, nPa, pPa,
  bar, mbar, μbar, atm, at, Torr, mmHg;
  Вискозитет: P, cP, St, cSt;
  Енергия/работа: J, kJ, MJ, GJ, TJ, mJ, μJ, nJ, pJ,
  Wh, kWh, MWh, GWh, TWh, mWh, μWh, nWh, pWh, cal, kcal, erg,
  eV, keV, MeV, GeV, TeV, PeV, EeV;
  Мощност: W, kW, MW, GW, TW, mW, μW, nW, pW, hpM, ks,
  VA, kVA, MVA, GVA, TVA, mVA, μVA, nVA, pVA,
  VAR, kVAR, MVAR, GVAR, TVAR, mVAR, μVAR, nVAR, pVAR;
  Електрически заряд: C, kC, MC, GC, TC, mC, μC, nC, pC, Ah, mAh;
  Напрежение: V, kV, MV, GV, TV, mV, μV, nV, pV;
  Капацитет: F, kF, MF, GF, TF, mF, μF, nF, pF;
  Съпротивление: Ω, kΩ, MΩ, GΩ, TΩ, mΩ, μΩ, nΩ, pΩ;
  Проводимост: S, kS, MS, GS, TS, mS, μS, nS, pS,
  ℧, k℧, M℧, G℧, T℧, m℧, μ℧, n℧, p℧;
  Магнитен поток: Wb , kWb, MWb, GWb, TWb, mWb, μWb, nWb, pWb;
  Плътност на потока: T, kT, MT, GT, TT, mT, μT, nT, pT;
  Индукция: H, kH, MH, GH, TH, mH, μH, nH, pH;
  Светлинен поток: lm;
  Осветеност: lx;
  Радиоактивност: Bq, kBq, MBq, GBq, TBq, mBq, μBq, nBq, pBq, Ci, Rd;
  Погълната доза: Gy, kGy, MGy, GGy, TGy, mGy, μGy, nGy, pGy;
  Еквивалентна доза: ѝ Sv, kSv, MSv, GSv, TSv, mSv, μSv, nSv, pSv;
  Активност на катализатор: kat;
- +Неметрични единици (Imperial/US):
  Маса: gr, dr, oz, lb (или lbm, lb_m), kipm (or kip_m), st, qr,
  cwt (или cwt_UK, cwt_US), ton (или ton_UK, ton_US), slug;
  Дължина: th, in, ft, yd, ch, fur, mi, ftm (или ftm_UK, ftm_US),
  cable (или cable_UK, cable_US), nmi, li, rod, pole, perch, lea;
  Скорост: mph, knot;
  Температура: °F, Δ°F, °R;
  Площ: rood, ac;
  Обем, течност: fl_oz, gi, pt, qt, gal, bbl, or:
  fl_oz_UK, gi_UK, pt_UK, qt_UK, gal_UK, bbl_UK,
  fl_oz_US, gi_US, pt_US, qt_US, gal_US, bbl_US;
  Обем, сух: (US) pt_dry, (US) qt_dry, (US) gal_dry, (US) bbl_dry,
  pk (или pk_UK, pk_US), bu (или bu_UK, bu_US);
  Сила: ozf (или oz_f), lbf (или lb_f), kip (или kipf, kip_f), tonf (или ton_f), pdl;
  Налягане: osi, osf psi, psf, ksi, ksf, tsi, tsf, inHg;
  Енергия/работа: BTU, therm, therm_UK, therm_US, quad;
  Мощност: hp, hpE, hpS
- Потребителски единици: .Име = израз.
  Имената могат да съдържат и символи за валута: €, £, ₤, ¥, ¢, ₽, ₹, ₩, ₪.