Các hàm toán học
Các hàm toán học sau đây có thể được áp dụng cho ma trận và vector: MathAbs
, MathArccos
, MathArcsin
, MathArctan
, MathCeil
, MathCos
, MathExp
, MathFloor
, MathLog
, MathLog10
, MathMod
, MathPow
, MathRound
, MathSin
, MathSqrt
, MathTan
, MathExpm1
, MathLog1p
, MathArccosh
, MathArcsinh
, MathArctanh
, MathCosh
, MathSinh
, MathTanh
. Các phép toán như vậy ngụ ý xử lý từng phần tử của ma trận và vector.
Đối với MathMod
và MathPow
, phần tử thứ hai có thể là một giá trị vô hướng hoặc một ma trận/vector có kích thước phù hợp.
cpp
matrix<T> mat1(128,128);
matrix<T> mat3(mat1.Rows(),mat1.Cols());
ulong n,size=mat1.Rows()*mat1.Cols();
...
mat2=MathPow(mat1,(T)1.9);
for(n=0; n<size; n++)
{
T res=MathPow(mat1.Flat(n),(T)1.9);
if(res!=mat2.Flat(n))
errors++;
}
mat2=MathPow(mat1,mat3);
for(n=0; n<size; n++)
{
T res=MathPow(mat1.Flat(n),mat3.Flat(n));
if(res!=mat2.Flat(n))
errors++;
}
...
vector<T> vec1(16384);
vector<T> vec3(vec1.Size());
ulong n,size=vec1.Size();
...
vec2=MathPow(vec1,(T)1.9);
for(n=0; n<size; n++)
{
T res=MathPow(vec1[n],(T)1.9);
if(res!=vec2[n])
errors++;
}
vec2=MathPow(vec1,vec3);
for(n=0; n<size; n++)
{
T res=MathPow(vec1[n],vec3[n]);
if(res!=vec2[n])
errors++;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37