Post on 05-Jan-2020
Примери нумеричког и симболичког рачуна
Исписивање резултата
reset()2+5;3+6,4+77
9, 11
2+5:
Израчунавање вредности израза у тачки
x^2+3*x|x=2;10
Нумерички и симболички рачун
(5-sqrt(5)^2)*exp(20);0
float((5-sqrt(5.0)^2)*exp(20));0.000000006733019634
Напомена(4-sqrt(4)^2)*exp(20);(4-sqrt(4.0)^2)*exp(20);0
0.0
Стандардна вредност наредбе DIGITS је 10
float(exp(1));2.718281828
DIGITS:=100100
float(exp(1))2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427
Стрингови
reset()"Ovo je primer jednog stringa" "Ovo je primer jednog stringa"
print(Unquoted,"Ovo je primer jednog stringa")Ovo je primer jednog stringa
Конверзија у стринг
x:=2; type(x)2
DOM_INT
y:=expr2text(x); type(y)"2"
DOM_STRING
Додељивање вредности променљивим
a:=2 2
b:=a2
delete ab2
Секвенце и листе
Секвенце и листе
Задавање секвенце, исписивање елемената секвенце, број елемената секвенце, брисање елемента секвенце
reset()sequence:= a, b, c, da, b, c, d
sequence[2]b
op(sequence, 2..3)b, c
nops(sequence)4
delete sequence[2]
sequencea, c, d
Задавање листе,исписивање елемената листе, број елемената листе, брисање елемента листе
list:= [sequence]a, c, dlist[2]c
a, c
nops(list)3
delete list[1]
listc, dDIGITS:=1010
sek:=sin(k) $ k=1..10;sin1, sin2, sin3, sin4, sin5, sin6, sin7, sin8, sin9, sin10
sekf:=float(sin(k)) $ k=1..10;0.8414709848, 0.9092974268, 0.1411200081, - 0.7568024953, - 0.9589242747, - 0.2794154982, 0.6569865987, 0.9893582466, 0.4121184852, - 0.5440211109
lista:=[sek];sin1, sin2, sin3, sin4, sin5, sin6, sin7, sin8, sin9, sin10listaf:=[sekf];0.8414709848, 0.9092974268, 0.1411200081, - 0.7568024953, - 0.9589242747, - 0.2794154982, 0.6569865987, 0.9893582466, 0.4121184852, - 0.5440211109sort(lista);sin1, sin2, sin3, sin4, sin5, sin6, sin7, sin8, sin9, sin10sort(listaf);- 0.9589242747, - 0.7568024953, - 0.5440211109, - 0.2794154982, 0.1411200081, 0.4121184852, 0.6569865987, 0.8414709848, 0.9092974268, 0.9893582466
Скупови
reset()A := {a[i] $ i = 1 .. 5};a1, a2, a3, a4, a5B := {b[i] $ i = 1 .. 10};b1, b2, b3, b4, b5, b6, b7, b8, b9, b10
Унија скупова
A union B;
A union B;a1, a2, a3, a4, a5, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10Пресек скупова
A intersect B;Æ
Разлика скупова
(A union B) minus A;b1, b2, b3, b4, b5, b6, b7, b8, b9, b10Испитивање да ли је скп подскуп датог скупа
B subset (A union B) minus A; A subset (A union B) minus A;
TRUE
FALSE
a:=TRUE; b:=TRUE;TRUE
TRUE
Конјункција
a and b;TRUE
a and c;c
c and d;c Ù d
Дисјункција
a or b;TRUE
a or not b;TRUE
a or c;TRUE
Ексклузивна дисјункција
a xor b;FALSE
a xor not b;TRUE
a xor c;Ø c
Импликација
a ==> b;TRUE
a ==> not b;FALSE
a ==> c;c
Еквиваленција
a <=> not b;FALSE
a <=> c;
a <=> c;c
Логичке вредности израза
bool(2 < 2)FALSE
bool(2 <= 2)TRUE
Логичке вредности сложенијих израза
is((5-sqrt(5)^2)*exp(20)=0)TRUE
is(float((5-sqrt(5.0)^2)*exp(20))=0)FALSE
Конверзија израза
Конверзија скупа у листуA := {i $ i = 1 .. 5};1, 2, 3, 4, 5coerce(A, DOM_LIST)1, 2, 3, 4, 5
Конверзија израза у стринг5+x; type(5+x); coerce(5+x, DOM_STRING); type(%)x + 5
"_plus"
"x + 5"
DOM_STRING
Оптимизација израза
expand
reset()f:=(x+7)^2/((x+5)*(x-3))x + 72x - 3 x + 5expand(f)
x2 + 14 x + 49x2 + 2 x - 15
expand(%)14 x
x2 + 2 x - 15 + 49
x2 + 2 x - 15 + x2
x2 + 2 x - 15
partfrac
Представљање функције као збир парцијалних разломака.
partfrac(f)25
2 x - 3 - 12 x + 5 + 1
expand((a+b)^5)a5 + 5 a4 b + 10 a3 b2 + 10 a2 b3 + 5 a b4 + b5
expand(ln(a*b))lna b
assume(a>0),assume(b>0),expand(ln(a*b)) lna + lnb
assume(a<0),assume(b<0),expand(ln(a*b)) lna b
expand(log(2,8*a))log2a + 3
expand(sin(a+b))cosa sinb + cosb sina
exp(5+4*ln(a/b)), expand(exp(5+4*ln(a/b)))
e4 ln a
b+ 5
, a4 e5
b4
simplify vs Simplify
Упрошћавање израза.
reset()f:=sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x)2 cosx2 + sinx4 - 2 sinx2 - cos2 x
Наредба simplify има бржи алгоритам за упрошћавање израза.
simplify(f)sinx2 - 12Наредба Simplify има бољи алгоритам за упрошћавање израза.
Simplify(f)cosx4
simplify((a and b) or (a and not b), logic)a
sqrt(17-12*sqrt(2)); simplify(sqrt(17-12*sqrt(2)))17 - 12
2
3 - 2
2
radsimp
Упрошћавање алгебарских израза.
sqrt(17-12*sqrt(2)); radsimp(sqrt(17-12*sqrt(2)))17 - 12
2
3 - 2
2
factor
Факторисање полином над пољем реалних и комплексних бројева.
factor(x^2+1)x2 + 1
factor(x^2+1, R_)x2 + 1.0
factor(x^2+1, C_)x - 1.0 i x + 1.0 ifactor(x^2-2)x2 - 2
factor(x^2-2, R_)x + 1.414213562 x - 1.414213562factor(x^2-2, Adjoin={sqrt(2)})x -2 x +2factor(1024)210
collect
a^3*x-x+a^3; collect(a^3*x-x+a^3,x); collect(a^3*x-x+a^3,x,factor); collect(a^3*x-x+a^3,a)
a^3*x-x+a^3; collect(a^3*x-x+a^3,x); collect(a^3*x-x+a^3,x,factor); collect(a^3*x-x+a^3,a)a3 x - x + a3
a3 - 1 x + a3
a - 1 a2 + a + 1 x + a3
x + 1 a3 - x
x*y + z*x*y + y*x^2 - z*y*x^2 + x + z*x; collect(x*y + z*x*y + y*x^2 - z*y*x^2 + x + z*x,x); collect(x*y + z*x*y + y*x^2 - z*y*x^2 + x + z*x,[x,y])x + x y + x z + x2 y - x2 y z + x y z
y - y z x2 + y + z + y z + 1 x1 - z x2 y + z + 1 x y + z + 1 x
sort
Сортирање листа.
sort([-2, 1, -3, 4]); sort([-2, 1, -3, 4], (x, y) -> abs(x) < abs(y))- 3, - 2, 1, 41, - 2, - 3, 4
solve
Решавање једначина, неједначина и система једначина.
reset()solve (x^2-3*x+2=0, x)1, 2solve (x^2-3*x+2)x = 1, x = 2
Решавање једначина на задатом интервалу.
assume (x<2): solve (x^2-3*x+2=0,x)1unassume(x)
assume(x,Type::Interval(1,3)): solve (x^2-3*x+2=0)x = 2unassume(x)
solve (x^2+2*x+2)x = - 1 - i, x = - 1 + iassume(x, Type::Real):solve (x^2+2*x+2)Æ
unassume(x)
Решавање једначина са параметром.
solve (a*x^2+b*x+c=0) abcx
Î
z2, z3, z4ÎC3 z
z10
zÎCÙ z1ÎC
- z2+ z3 z4
z42
z3z2z4
È
z
000
z Î C
solve (a*x^2+b*x+c=0,x)
- b+
b2- 4 a c2 a
, - b-
b2- 4 a c2 a
if a ¹ 0- cb if a = 0 Ù b ¹ 0C if a = 0 Ù b = 0 Ù c = 0Æ if a = 0 Ù b = 0 Ù c ¹ 0
Одређивање нула полинома.
solve(x^5+x+1=0,x)
solve(x^5+x+1=0,x)- 1
2 - 3 i
2, - 1
2 + 3 i
2È RootOfX2613 - X2612 + 1, X261
numeric::fsolve(x^5+x+1=0,x)x = - 0.7548776662float(solve(x^5+x+1=0,x))- 0.7548776662, 0.8774388331 - 0.7448617666 i, - 0.5 + 0.8660254038 i, - 0.5 - 0.8660254038 i, 0.8774388331 + 0.7448617666 isolve(x^5+x+1,x,MaxDegree=5)
- 12 - 3 i
2, - 1
2 + 3 i
2, 1
3 - s1 -
19 s1, 1
18 s1 + s1
2 + 1
3 -
3
19 s1-s1
i
2, 1
18 s1 + s1
2 + 1
3 +
3
19 s1-s1
i
2
where
s1 =
2554 - 23
108
108 1
3
factor(x^5+x+1)x2 + x + 1 x3 - x2 + 1factor(x^5+x+1, C_)x + 0.7548776662 x - 0.8774388331 + 0.7448617666 i x + 0.5 - 0.8660254038 i x + 0.5 + 0.8660254038 i x - 0.8774388331 - 0.7448617666 isolve(x^3-4*x^2-1=0,x)RootOfX2703 - 4 X2702 - 1, X270
numeric::fsolve(x^3-4*x^2-1=0,x)x = 4.060647028float(solve(x^3-4*x^2-1=0,x))4.060647028, - 0.03032351378 + 0.4953247992 i, - 0.03032351378 - 0.4953247992 isolve(x^3-4*x^2-1=0,x,MaxDegree=3)
169 s1 + s1 +
43, 4
3 - s1
2 - 8
9 s1 -
3
169 s1-s1
i
2, 4
3 - s1
2 - 8
9 s1 +
3
169 s1-s1
i
2
where
s1 =
108
283108
+ 15554 1
3
factor(x^3-4*x^2-1)x3 - 4 x2 - 1
factor(x^3-4*x^2-1, C_)x - 4.060647028 x + 0.03032351378 - 0.4953247992 i x + 0.03032351378 + 0.4953247992 iРешавање система једначина.
solve({x+y+z=5,x^2-y^2,y+z=8},{x,y,z})x = - 3, y = 3, z = 5, x = - 3, y = - 3, z = 11solve({x+y+z=5,x^2-y^2,y+z=8},{x,y,z}, VectorFormat) x
yz
Î
- 335
,
- 3- 311
solve({x+y+z=5,y+z=8},{x,y,z})x = - 3, y = 8 - z1, z = z1solve({x+y+z=5,x^2-y^2,x+y+z=8})Æ
Решавање система једначина са параметром
solve({a*x+y+z=1,x+a*y+z=a,x+y+a*z=a^2},{x,y,z})x = 1 - z2 - z1, y = z2, z = z1 if a = 1x = 0, y = 1, z = 0 if a = - 1
Æ if a = - 2x = - a+ 1
a+ 2, y = 1
a+ 2, z = a2+ 2 a+ 1
a+ 2 if a ¹ - 1 Ù a ¹ 1 Ù a ¹ - 2
Комплексни бројеви
F:= solve(x^3 - 1 = 0, x)1, - 1
2 - 3 i
2, - 1
2 + 3 i
2
x1:=F[1]
x1:=F[1]1
x2:=F[2]
- 12 - 3 i
2
x3:=F[3]
- 12 + 3 i
2
Модуо комплексног броја и главна вредност аргумента комплексног броја
abs(x2), arg(x2); abs(x3), arg(x3)
1, - 2 p3
1, 2 p3
(cos(2*PI/3)+sin(2*PI/3)*I)
- 12 + 3 i
2
Представљање комплексног броја z у алгебарском облику
ln(1+I)ln1 + i
rectform(%)ln2
2 + p
4 i
Решавање једначина
a:=solve(sin(x)/x=0,x)p k k Î Z 0
is (20*PI in a)TRUE
resenja:= solve(sin(x) = (x/3), x)solve3 sinx - x = 0, x
float(resenja)0.0numeric::fsolve(sin(x) = (x/3), x)x = 0.0numeric::fsolve(sin(x) = (x/3), x,MultiSolutions)x = 0.0numeric::realroots(sin(x)-(x/3)=0,x=-3..3)- 2.279296875, - 2.2734375, - 0.005859375, 0.005859375, 2.2734375, 2.279296875float(solve(sin(x)-(x/3)=0,x=-2.3..-2.2))- 2.27886266numeric::fsolve(sin(x)-(x/3)=0,x=-2.3..-2.2)x = - 2.27886266float(solve(sin(x)-(x/3)=0,x=-0.5..0.5))0.0numeric::fsolve(sin(x)-(x/3)=0,x=-0.5..0.5)x = 0.0float(solve(sin(x)-(x/3)=0,x=2.2..2.3))2.27886266numeric::fsolve(sin(x)-(x/3)=0,x=2.2..2.3)x = 2.27886266
Решавање неједначина.
S:=solve(sin(x) > 0, x, Real)kÎZ
2 p k, p + 2 p kS intersect Dom::Interval(-PI, PI)
S intersect Dom::Interval(-PI, PI)0, psolve(x^2-5*x+4 > 0, x, Real)- ¥, 1È 4, ¥plotfunc2d(x^2-5*x+4, x=-8..8, YRange=-8..8)
-8 -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 8
-8
-6
-4
-2
2
4
6
8
x
y
Низови
Задавање низа, исписивање елемената низа, број елемената низа, брисање елемента низа
array(1..5) NIL NIL NIL NIL NIL hfarray(1..5) 0.0 0.0 0.0 0.0 0.0 array(1..5, 1 = 1, 2 = PI, 4 = E, 5 = MuPAD) 1 p NIL e MuPAD array(1..5, [1,4,9,16,25]) 1 4 9 16 25 array(1..5, i = i^2 $ i = 1..5) 1 4 9 16 25 Niz:=array(1..5, i = i^2 $ i = 1..5) 1 4 9 16 25 Niz[1],Niz[2], Niz[3],Niz[4],Niz[5]1, 4, 9, 16, 25
Niz[1]:= "Izmenjeni element""Izmenjeni element"
Niz "Izmenjeni element" 4 9 16 25 delete(Niz[1])Niz NIL 4 9 16 25 op(Niz)NIL, 4, 9, 16, 25
nops(Niz)5
DvodimenzionalniNiz:=array(1..2, 1..2, [[1, 2], [3, 4]])1 23 4
DvodimenzionalniNiz[1,1], DvodimenzionalniNiz[1,2], DvodimenzionalniNiz[2,1], DvodimenzionalniNiz[2,2]1, 2, 3, 4
DvodimenzionalniNiz[1,2]:="Izmenjeni element" "Izmenjeni element"
DvodimenzionalniNiz1 "Izmenjeni element"3 4
delete(DvodimenzionalniNiz[1,2])DvodimenzionalniNiz
1 NIL3 4
op(DvodimenzionalniNiz)
op(DvodimenzionalniNiz)1, NIL, 3, 4
nops(DvodimenzionalniNiz)4
TrodimenzionalniNiz:= array(1..3, 1..3, 1..3, (1,1,1)=4, (1,2,1)=5)array(1..3, 1..3, 1..3, (1, 1, 1) = 4, (1, 2, 1) = 5)
TrodimenzionalniNiz[1,1,1], TrodimenzionalniNiz[1,1,2]4, TrodimenzionalniNiz1, 1, 2
N:=array(1..2,1..2, [[0,PI/2],[PI,3*PI/2]])0 p
2
p 3 p2
map(N,sin)0 10 - 1
Матрице
Задавање матрице.
reset()matrix(3,3)
0 0 00 0 00 0 0
matrix(3,3,1)1 1 11 1 11 1 1
matrix([[1],[1, 1], [1, 1, 1]])1 0 01 1 01 1 1
matrix(3,3,[(1,1)=1,(2,1)=1,(2,2)=1,(3,1)=1,(3,2)=1,(3,3)=1])1 0 01 1 01 1 1
matrix(2,3, [1, 2, 3, 4, 5, 6])1 2 34 5 6
matrix([[1, 2,3], [4,5,6]])
1 2 34 5 6
M1NIZ:=array(1..2, 1..3,[[1, 2, 3], [4, 5, 6]])
1 2 34 5 6
matrix(M1NIZ)
1 2 34 5 6
M2NIZ:=array(1..2, 1..3)
NIL NIL NILNIL NIL NIL
matrix(M2NIZ)Error: unable to define matrix over Dom::ExpressionField() [(Dom::Matrix(Dom::ExpressionField()))::new]
M3NIZ:=hfarray(1..2, 1..3)0.0 0.0 0.00.0 0.0 0.0
matrix(M3NIZ)
0 0 00 0 0
matrix(3,3,(i,j)->i+j)
2 3 43 4 54 5 6
f:=(i,j)->x^(i+2*j-5): matrix(3,3,f)
f:=(i,j)->x^(i+2*j-5): matrix(3,3,f)1x2 1 x2
1x x x3
1 x2 x4
linalg::randomMatrix(3,3,Dom::Integer,1..10)
2 1 84 7 96 9 2
matrix(3 ,4, [1,2,3], Diagonal)1 0 0 00 2 0 00 0 3 0
matrix(4,4,[2,5,3],Banded)5 3 0 02 5 3 00 2 5 30 0 2 5
matrix::identity(3)
1 0 00 1 00 0 1
M:= matrix([[1,1,2], [-1,0,-2], [-1,4,-1]])1 1 2- 1 0 - 2- 1 4 - 1
Исписивање димензија матрице Мlinalg::matdim(M)3, 3
Исписивање одговарајуће врсте, односно колоне матрице Мlinalg::row(M,1) 1 1 2 linalg::col(M,2)
104
Замена места врстама, односно колонама матрице Мlinalg::swapCol(M,1,2)
1 1 20 - 1 - 24 - 1 - 1
linalg::swapRow(M,1,3)- 1 4 - 1- 1 0 - 21 1 2
Транспонована матрица матрице Мlinalg::transpose(M)
1 - 1 - 11 0 42 - 2 - 1
Детерминаната матрице linalg::det(M)1
Адјунгована матрица задате матрице linalg::adjoint(M)
8 9 - 21 1 0- 4 - 5 1
Инверзна матрица задате матрице 1/M
8 9 - 21 1 0- 4 - 5 1
M^(-1)8 9 - 21 1 0- 4 - 5 1
Подматрица задате матрице N:=M[2..3, 2..3]
0 - 24 - 1
Минор матрице
linalg::det(N)8
Приступ елементим задате матрицеM[1,1]1
Ранг матрицеlinalg::rank(M)3
M1:=matrix([[1,1,2], [-1,-1,-2], [-1,4,-1]])1 1 2- 1 - 1 - 2- 1 4 - 1
linalg::det(M1)0
linalg::rank(M1)2
Траг матрице (збир елемената на главној дијагонали)linalg::tr(M)0
linalg::tr(M1)- 1
Збир, разлика, производ две матрице, степен матрицеA:=matrix(2,2,[[5,6],[4,5]])
5 64 5
B:=matrix(2,2,[[0,-1],[1,0]])
0 - 11 0
A+B
5 55 5
A-B
5 73 5
A*B
6 - 55 - 4
B*A
- 4 - 55 6
2*A
10 128 10
linalg::det(A), 2*linalg::det(A), linalg::det(2*A) 1, 2, 4
B/A4 - 55 - 6
linalg::det(B)1
A/B- 6 5- 5 4
linalg::det(A+B)0
A/(A+B)FAIL
linalg::det(A-B)
linalg::det(A-B)4
A/(A-B)74 - 5
4
54 - 3
4
A*B6 - 55 - 4
(A*B)^2
11 - 1010 - 9
(A*B)^3
16 - 1515 - 14
(A*B)^4
21 - 2020 - 19
(A*B)^5
26 - 2525 - 24
Формирање нових матрица помоћу задатих матрица и пресликавања
f:=x->x^2: map(A,f)25 3616 25
g:=(x,y)->x*y: zip(A,B,g)
0 - 64 0
Карактеристични полином, минимални полином, сопствене вредности и сопствени вектори
K := matrix([[1, -3, 3], [3, -5, 3], [6, -6, 4]])1 - 3 33 - 5 36 - 6 4
linalg::charpoly(K, `λ`)l3 - 12 l - 16
factor(%)l - 4 l + 22linalg::minpoly(K, `λ`)l2 - 2 l - 8
factor(%)l + 2 l - 4linalg::eigenvalues(K)- 2, 4linalg::eigenvectors(K)4, 1,
1
2121
,
- 2, 2,
110
,
- 101
Рад са векторима, норма, скаларни и векторски производ
v:=matrix([x,y,z]) xyz
u:=matrix ( [[x,y,z]]) x y z norm(v,2)x2 + y2 + z2v1:=matrix([x_1, y_1, z_1]); v2:=matrix([x_2,y_2,z_2]);
x1y1z1
x2y2z2
assume([x_1, y_1, z_1,x_2,y_2,z_2], Type::Real):linalg::scalarProduct(v1,v2);
assume([x_1, y_1, z_1,x_2,y_2,z_2], Type::Real):linalg::scalarProduct(v1,v2);x1 x2 + y1 y2 + z1 z2
linalg::crossProduct(v1, v2)y1 z2 - y2 z1x2 z1 - x1 z2x1 y2 - x2 y1
linalg::angle(v1, v2)
arccos x1 x2 + y1 y2 + z1 z2
x12 + y1
2 + z12
x22 + y2
2 + z22
Цртање графика функције једне променљиве
plotfunc2d((10*sin(10*x))/x+cos(10*x))
-5 -4 -3 -2 -1 1 2 3 4 5
-20
20
40
60
80
100
x
y
plotfunc2d((10*sin(10*x))/x+cos(10*x),x=0..5)
1 2 3 4 5
-20
0
20
40
60
80
100
x
y
plotfunc2d((10*sin(10*x))/x+cos(10*x),x=-10..10,YRange=-100..100)
-10 -8 -6 -4 -2 2 4 6 8 10
-100
-80
-60
-40
-20
20
40
60
80
100
x
y
f:=plot::Function2d((10*sin(10*x))/x+cos(10*x))
plot::Function2d
cos10 x + 10 sin10 x
x, x = - 5 ..5
plot(f)
plot(f)
-5 -4 -3 -2 -1 1 2 3 4 5
-20
20
40
60
80
100
x
y
plotfunc2d(sqrt(1-x^2), -sqrt(1-x^2),x=-1.5..1.5, YRange=-1.5..1.5, Scaling=Constrained, Header= " Jedinični krug ")
(1 - x^2)^(1/2)-(1 - x^2)^(1/2)
-1.5 -1.0 -0.5 0.5 1.0 1.5
-1.5
-1.0
-0.5
0.5
1.0
1.5
x
y
Jedinicni krug
plotfunc2d(sqrt(1-x^2), -sqrt(1-x^2),x=-1.5..1.5, YRange=-1.5..1.5, Scaling=Constrained, Footer= " Jedinični krug ")
(1 - x^2)^(1/2)-(1 - x^2)^(1/2)
-1.5 -1.0 -0.5 0.5 1.0 1.5
-1.5
-1.0
-0.5
0.5
1.0
1.5
x
y
Jedinicni krug
plotfunc2d(sqrt(1-x^2), -sqrt(1-x^2),x=-1.5..1.5, YRange=-1.5..1.5, Scaling=Constrained, Title= " Jedinični krug ", TitlePosition=[1,1])
(1 - x^2)^(1/2)-(1 - x^2)^(1/2)
-1.5 -1.0 -0.5 0.5 1.0 1.5
-1.5
-1.0
-0.5
0.5
1.0
1.5
x
y
Jedinicni krug Jedinicni krug
plotfunc2d(sqrt(1-x^2), -sqrt(1-x^2),x=-1.5..1.5, YRange=-1.5..1.5, Scaling=Constrained, AxesTitles=["sin","cos"], YAxisTitleOrientation=Vertical )
plotfunc2d(sqrt(1-x^2), -sqrt(1-x^2),x=-1.5..1.5, YRange=-1.5..1.5, Scaling=Constrained, AxesTitles=["sin","cos"], YAxisTitleOrientation=Vertical )
(1 - x^2)^(1/2)-(1 - x^2)^(1/2)
-1.5 -1.0 -0.5 0.5 1.0 1.5
-1.5
-1.0
-0.5
0.5
1.0
1.5
sin
cos
plot(plot::Implicit2d(x^2+y^2-1, x = -1.5..1.5, y = -1.5..1.5,Scaling=Constrained,XTicksDistance=0.5,YTicksDistance=0.5));
-1.5 -1.0 -0.5 0.5 1.0 1.5
-1.5
-1.0
-0.5
0.5
1.0
1.5
x
y
plotfunc2d(sin(x),cos(x),sin(PI+x), x=-15..15, YRange=-1.5..1.5,Colors=[RGB::Green,[1,0,1,1],[0.2,0.2,1,0.5]],XTicksDistance=PI, LineStyle=Dashed)
sin(x)cos(x)-sin(x)
-12.566 -9.4248 -6.2832 -3.1416 3.1416 6.2832 9.4248 12.566
-1.5
-1.0
-0.5
0.5
1.0
1.5
x
y
plotfunc2d(sin(x),cos(x),sin(PI+x), x=-15..15, YRange=-1.5..1.5, Colors=[RGB::Green,[1,0,1,1],[0.2,0.2,1,0.5]], XTicksNumber = None, XTicksAt = [-PI = "-p", PI = "p", -2*PI ="-2p", 2*PI ="2p",-3*PI ="-3p",3*PI ="-3p"], TicksLabelFont = ["Symbol", 8])
sin(x)cos(x)-sin(x)
-p p-2p 2p-3p -3p
-1.5
-1.0
-0.5
0.5
1.0
1.5
x
y
plotfunc2d(sin(x),cos(x),sin(PI+x),GridVisible=TRUE,SubgridVisible=TRUE,YRange=-1.5..1.5)
plotfunc2d(sin(x),cos(x),sin(PI+x),GridVisible=TRUE,SubgridVisible=TRUE,YRange=-1.5..1.5)
sin(x)cos(x)-sin(x)
-5 -4 -3 -2 -1 1 2 3 4 5
-1.5
-1.0
-0.5
0.5
1.0
1.5
x
y
plotfunc2d(piecewise([x < 1, 1 - x], [1 < x and x < 2, 1], [x > 2, 2 - x]), x = -2..3)
-2.0 -1.5 -1.0 -0.5 0.5 1.0 1.5 2.0 2.5 3.0
-1
1
2
3
x
y
g:=plot::Function2d(sin(x)): h:=plot::Hatch(g,-10..10,FillColor=RGB::Blue): plot(g,h)
-5 -4 -3 -2 -1 1 2 3 4 5
-1.0
-0.8
-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
1.0
x
y
g1:=plot::Function2d(sin(x)): g2:=plot::Function2d(cos(x)): h:=plot::Hatch(g1,g2,-10..10,FillColor=RGB::PaleBlue,FillPattern=Solid): plot(g,h)
-5 -4 -3 -2 -1 1 2 3 4 5
-1.0
-0.8
-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
1.0
x
y
plot(plot::Curve2d([x*cos(x), x*sin(x)], x = 0..50*PI))
plot(plot::Curve2d([x*cos(x), x*sin(x)], x = 0..50*PI))
-140 -120 -100 -80 -60 -40 -20 20 40 60 80 100 120 140
-140
-120
-100
-80
-60
-40
-20
20
40
60
80
100
120
x
y
plot(plot::Curve2d([x*cos(x), x*sin(x)], x = 0..50*PI, Mesh = 400)):
-140 -120 -100 -80 -60 -40 -20 20 40 60 80 100 120 140
-140-120-100
-80-60-40-20
20406080
100120140
x
y
plot(plot::Curve2d([x*cos(x), x*sin(x)], x = 0..50*PI, AdaptiveMesh = 4)):
-140 -120 -100 -80 -60 -40 -20 20 40 60 80 100 120 140
-140-120-100
-80-60-40-20
20406080
100120140
x
y
plot(plot::Polar([r^2,r],r=0..17*PI/2))
-400-300-200-100 100 200 300 400 500 600
-400
-200
200
400
600
x
y
plot(plot::Polar([r^2,r],r=0..17*PI/2, Mesh=1000))
plot(plot::Polar([r^2,r],r=0..17*PI/2, Mesh=1000))
-400-300-200-100 100 200 300 400 500 600
-400
-200
200
400
600
x
y
Цртање графика функције две променљиве
reset()plot(x^2+x*y+y^2, #3)
f:=(x,y)->x^2+x*y+y^2x, y ® x2 + x y + y2
plot(f)
g:= plot::Function3d(x^2+x*y+y^2):plot(g)
plotfunc3d(x^2+x*y+y^2)
plotfunc3d(x^2+x*y+y^2)
plotfunc3d(2 + x^2 + y^2, 1 + x^4 + y^4, x^6 + y^6, x = -1..1, y = -1..1, Colors = [RGB::Red, RGB::Green, RGB::Blue])
Анимација графика функција
plotfunc2d(sin(a*x),x=-2*PI..4*PI, a=1..2, TicksNumber = None, XTicksAt = [-PI = "-p", PI = "p", -2*PI ="-2p", 2*PI ="2p",-3*PI ="-3p",3*PI ="-3p"], TicksLabelFont = ["Symbol", 8],LineColorType = Rainbow )
-p p-2p 2p -3px
y
plot(sin(a*x), sin(x - a), x = 0..PI, a = 0..4*PI, Frames = 200, Colors = [RGB::Rose, RGB::BlueViolet])
0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0
-1.0
-0.8
-0.6
-0.4
-0.2
0.0
0.2
0.4
0.6
0.8
1.0
x
y
plotfunc3d(cos(x-a)*sin(y-a),x=-PI..PI, y=-PI..PI, a=-PI..PI, AxesVisible = FALSE, FillColorFunction = RGB::Grey)
Граничне вредности функција
reset()limit(sin(x)/x,x=0), limit((1 - cos(x))/x^2, x=0), limit((1+1/x)^x, x=infinity), limit((E^x-1)/x,x=0), limit(ln(1+x)/x,x=0), limit(((1+x)^a-1)/x,x=0)
1, 12, e, 1, 1, a
limit(1/x,x=0)undefined
limit(1/x,x=0,Left)- ¥
limit(1/x,x=0,Right)¥
f:=piecewise([x<0,arctan(1/x)],[x>=0,sin(x)])arctan 1
x if x < 0
sinx if 0 £ x
limit(f,x=0)
limx® 0
sinx if 0 < x
arctan 1x if x < 0
limit(f,x=0,Left)- p
2
limit(f,x=0,Right)0
limit((g(x+h)-g(x))/h,h=0)g 'x
g1:=x->sin(x)x ® sinx
limit((g1(x+h)-g1(x))/h,h=0)cosx
Диференцирање функције једне променљиве
reset()diff(sin(x),x)cosx
sin'(x)cosx
sin'cos
D(sin(x))sinx '
D(sin)cos
diff(ln(sin(x)),x)cosxsinx
f:=x->ln(sin(x)): f'(x)
f:=x->ln(sin(x)): f'(x)cosxsinx
D(f)
x ®cosxsinx
diff(x^k,x)k xk - 1
diff(x^k, x$3)k xk - 3 k - 1 k - 2
diff(x^k,x,x,x)k xk - 3 k - 1 k - 2
diff(1/(x+1),x$2)2x + 13
(1/(x+1))''2 x '2x + 13 - x''x + 12
g:=x->1/(x+1): g''(x)2x + 13
D(D(1/(x+1)))2 x '2x + 13 - x''x + 12
D(D(g(x)))2 x '2x + 13 - x''x + 12
D(D(g))
x ® 2x + 13За конверзију између D и diff користи се наредба rewrite
diff(y(x),x$3)=rewrite(diff(y(x),x$3),D)¶ 3
¶ x3 yx = y'''x
Тангента криве у задатој тачки дате криве
f:=x->1/(1+x)^2
x ® 11 + x2a:=11
g:=x->f(a)+D(f)(a)*(x-a)x ® f a + f 'a x - a
y=g(x)
y = 12 - x
4
plotfunc2d(f(x), g(x), x = 0 .. 2)
1/(x + 1)^21/2 - x/4
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.00.0
0.2
0.4
0.6
0.8
1.0
x
y
Тејлоров развој
Тејлоров развој, Тејлоров полином, коефицијенти Тејлоровог полинома
Тејлоров развој, Тејлоров полином, коефицијенти Тејлоровог полиномаreset()taylor(sin(x),x)
x - x3
6 + x5
120 + Ox7
taylor(cos(x),x=0)
1 - x2
2 + x4
24 + Ox6
taylor(exp(x),x,4)
1 + x + x2
2 + x3
6 + Ox4
taylor(ln(1+x),x=0,4)
x - x2
2 + x3
3 - x4
4 + Ox5
taylor(x^(1/2),x=1)
1 + x - 12
- x - 128
+ x - 1316
- 5 x - 14128
+ 7 x - 15256
+ Ox - 16expr(taylor(sin(x),x))
x5
120 - x3
6 + x
coeff(taylor(sin(x),x),x,3)
- 16
ORDER:=44
taylor(sin(x),x)
x - x3
6 + Ox5
taylor(exp(x),x)
1 + x + x2
2 + x3
6 + Ox4
taylor(abs(x),x=0)Error: abs(x) does not have a Taylor series expansion, try 'series' [taylor]
taylor(abs(x),x=0,Right)x + Ox5
taylor(arctan(1/x),x=0)Error: arctan(1/x) does not have a Taylor series expansion, try 'series' [taylor]
taylor(arctan(1/x),x=0,Left)
- p2 - x + x3
3 + Ox5
taylor(x^x,x=0)Error: x^x does not have a Taylor series expansion, try 'series' [taylor]
taylor(x^x,x=0,Right)Error: x^x does not have a Taylor series expansion, try 'series' [taylor]
series(x^x,x=0)
1 + x lnx + x2 lnx22
+ x3 lnx36
+ Ox4Интеграли функција једне променљиве
reset()freeze(int)(x^a,x)=int(x^a,x)+C
xa d x =
C + lnx if a = - 1
C + xa+ 1a+ 1 if a ¹ - 1
hold(int)(sqrt(1-x^2),x)1 - x2 d x
eval(%)+C
C +arcsinx
2 + x
1 - x2
2
Смена променљиве у интегралуintlib::changevar(hold(int)(sqrt(1-x^2),x), x=sin(t),t) assuming -PI/2<t<PI/2
cost2 d t
eval(%)+C | t=arcsin(x)
eval(%)+C | t=arcsin(x)
C +sin2 arcsinx
4 + arcsinx
2
Simplify(%)
C +arcsinx
2 + x
1 - x2
2
Парцијална интеграцијаintlib::byparts(hold(int)(sqrt(1-x^2), x ),1)
x
1 - x2 -
- x21 - x2
d x
eval(%)+ C
C +arcsinx
2 + x
1 - x2
2
Одрећени интегралиhold(int)(2*x*arctan(sqrt(x)),x=0..1)=int(2*x*arctan(x^(1/2)), x = 0..1)
0
1
2 x arctanx d x = 23
Несвојствени интегралиhold(int)(1/x,x=-1..1); int(1/x,x=-1..1)- 1
11x d x
undefined
f1:=plot::Function2d(1/x): f2:=plot::Function2d(1/x,x=-1..1): h:=plot::Hatch(f2,-3..3,FillColor=RGB::Red,FillPattern=Solid): plot(f1,h)
-5 -4 -3 -2 -1 1 2 3 4 5
-16-14-12-10
-8-6-4-2
2468
101214
x
y
Главна вредност несвојственог интегралаhold(int)(1/x, x = -1..1, PrincipalValue) = int( 1/x, x = -1..1, PrincipalValue)
pv- 1
11x d x = 0
hold(int)(1/x,x=-1..1); int(1/x,x=-1..1)- 1
11x d x
undefined
hold(int)(1/x,x=1..infinity)=int(1/x,x=1..infinity)1
¥1x d x = ¥
hold(int)(1/x^2,x=1..infinity)=int(1/x^2,x=1..infinity)1
¥1x2 d x = 1
hold(int)(cos(x),x=PI..infinity); int(cos(x),x=PI..infinity)p
¥
cosx d x
undefined
hold(int)(E^(-t^2),t=0..x)=int(E^(-t^2),t=0..x)
hold(int)(E^(-t^2),t=0..x)=int(E^(-t^2),t=0..x)0
x1
et2 d t =
p erfx2
hold(int)(E^(-t^2),t=-infinity..infinity)=int(E^(-t^2),t=-infinity..infinity)-¥
¥1
et2 d t = p
plotfunc2d(exp(-x^2),x=-2..2,YTicksNumber = Low)
-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0
0.5
1.0
x
y
Површина елипсе
reset()f:=plot::Implicit2d(9*x1^2 + 16*x2^2 = 144,x1 = -5 .. 5, x2 = -5 .. 5):g:=plot::Function2d((144-9*x1^2)^(1/2)/4, x1 = 0 .. 5, x2 = 0 .. 5):plot(f,Color = RGB::DarkPink, LineWidth = 0.5*unit::mmg, plot::Hatch(g,FillColor=RGB::MountbattenPink,FillPattern=XCrossedLines))
-5 -4 -3 -2 -1 1 2 3 4 5
-5
-4
-3
-2
-1
1
2
3
4
5
x
y
P = hold(int)(4*(144-9*x^2)^(1/2)/4 ,x=0..4)
P =0
4144 - 9 x2 d x
eval(%)P = 12 p
P = intlib::changevar(hold(int)(4*(144-9*x^2)^(1/2)/4 ,x=0..4),x=4*sin(t),t) assuming 0<t<PI/2
P =0
p2
48 cost2 d t
eval(%)P = 12 p
P = intlib::byparts(hold(int)(4*(144-9*x^2)^(1/2)/4 ,x=0..4),1)
P = -0
4- 9 x2
144 - 9 x2 d x
eval(%)P = 12 p
Обим јединичног круга
reset()plot(plot::Implicit2d(x^2+y^2-1, x = -1.5..1.5, y = -1.5..1.5,Scaling=Constrained,TicksNumber = None));
plot(plot::Implicit2d(x^2+y^2-1, x = -1.5..1.5, y = -1.5..1.5,Scaling=Constrained,TicksNumber = None));
x
y
l=hold(int)(4*sqrt(1+(diff(sqrt(1-x^2),x))^2),x=0..1)
l =0
1
4
1 - x2
x2 - 1 d x
eval(%)l = 2 p
Запремина сфере полупречника R
reset()V=PI*hold(int)(R^2-x^2,x=-R..R)
V = p -R
RR2 - x2 d x
eval(%)
V = 4 p R3
3
Површина омотача ваљка полупречника R и висине H
reset()O=2*PI*hold(int)(R*sqrt(hold(diff)(R,x)^2+1),x=0..H)
O = 2 p 0
H
R
¶¶ x R
2+ 1 d x
eval(%)O = 2 p H R
Диференцијалне једначине
За разне вредности реалног параметра a, наћи опште решење диференцијалне једначине y'' - (1+a)y' + ay = ch(x).reset()jednacina:=diff (y(x), x, x) - (1+a) * (diff (y(x), x)) + a*y(x) = cosh(x) ¶ 2
¶ x2 yx - a + 1 ¶¶ x
yx + a yx = coshxhomogenajednacina:=diff (y(x), x, x) - (1+a) * (diff (y(x), x)) + a*y(x) = 0¶ 2
¶ x2 yx - a + 1 ¶¶ x
yx + a yx = 0
karakteristicnajednacina:=`λ`^2 - (1+a) * `λ` + a = 0l2 + - a - 1 l + a = 0
solve(karakteristicnajednacina,`λ`)1, aНа основу решења карактеристичне једначине намеће се закључак да треба разматрати следећа два случаја :
а=1homogenajednacina | a=1¶ 2
¶ x2 yx - 2 ¶¶ x
yx + yx = 0
solve(ode(%,y(x)))C12 ex + C15 x exjednacina | a=1¶ 2
¶ x2 yx - 2 ¶¶ x
yx + yx = coshxsolve(ode(%,y(x)))
solve(ode(%,y(x)))C21 ex + ex
1
8 e2 x + x
4 e2 x - x2
4 + x ex
x2 - 1
4 e2 x + C24 x ex
coerce(%,DOM_LIST)
C21 ex + ex
18 e2 x + x
4 e2 x - x2
4 + x ex
x2 - 1
4 e2 x + C24 x ex
%[1]
C21 ex + ex
18 e2 x + x
4 e2 x - x2
4 + x ex
x2 - 1
4 e2 x + C24 x ex
collect(%,x)ex
4 x2 + C24 ex x + 1
8 ex + C21 ex
a<>1solve(ode(homogenajednacina,y(x)))C26 ea x + C27 ex
Видимо да и овде имамо два подслучаја
а= -1jednacina | a=-1¶ 2
¶ x2 yx - yx = coshx
solve(ode(%,y(x)))ex x
4 - 1
8 e2 x - x
4 + e2 x
8
ex + C30 ex + C29
ex
coerce(%,DOM_LIST)ex x
4 - 1
8 e2 x - x
4 + e2 x
8
ex + C30 ex + C29
ex
%[1]
ex x
4 - 1
8 e2 x - x
4 + e2 x
8
ex + C30 ex + C29
ex
collect(%,x)ex
4 - 1
4 ex x + C30 ex - ex
8 - 1
8 ex + C29
ex
a<>1,-1solve(ode(jednacina,y(x)))C32 ea x + C33 ex -
12 a- 1 - 1
2 a+ 1 + e2 x
a- 122 ex
- e2 x + 2 x e2 x - 14 ex a - 1
coerce(%,DOM_LIST)
C32 ea x + C33 ex -
12 a- 1 - 1
2 a+ 1 + e2 x
a- 122 ex
- e2 x + 2 x e2 x - 14 ex a - 1
%[1]
C32 ea x + C33 ex -
12 a- 1 - 1
2 a+ 1 + e2 x
a- 122 ex
- e2 x + 2 x e2 x - 14 ex a - 1