Въведете текста и формулите в прозореца "Код" отляво.
Натиснете F5 или бутона за да изчислите резултатите. Те ще се появят отдясно в прозореца "Резултати", като професионално оформена изчислителна записка.
Натиснете за да отпечатате или за да копирате съдържанието на записката. Може също да го запишете като Html, PDF или MS Word документ.
Програмен език
Програмният език на CalcpadCE включва следните елементи (кликнете за вмъкване):
+Закръгляване: round(x) - закръгляване до най-близкото цяло число; floor(x) - закръгляване до по-малкото цяло число; ceiling(x) - закръгляване до по-голямото цяло число; trunc(x) - закръгляване към по-близкото число в посока към нулата;
+Комплексни: abs(x) - абсолютна стойност; re(x) - реалната част на комплексно число; im(x) - имагинерната част на комплексно число; phase(x) - фаза на комплексно число; conj(z) - спрегнато комплексно число;
+Други: 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 в коментарите.
Защита от презапис: #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 - показва формуляр за вход на данни до съответния ред и спира на пауза.