﻿

# c# parse pdf data : View pdf metadata software control project winforms web page .net UWP xnumbers-tutorial127-part881

Xnumbers Tutorial
270
For functions having more than one argument, the successive arguments are separated by
commas "," or alternatively, by semicolon ";" if your system has comma as decimal separator.
max(a;b)  root(x;y)  comb(n;k)  beta(x;y)  (only if comma "," is decimal sep.)
max(a,b)  root(x,y)  comb(n,k)  beta(x,y)  (only if point "." is decimal sep.)
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
Xnumbers Tutorial
271
List of basic functions and operators
The following table lists all functions and operators recongize in a math expression string
Use: R = Real, C = Complex, M = Multiprecision
The functions with M can be evaluated either in standard or multiprecision
The functions with C alone must be used with cplxeval only
The functions with R alone must be used with xeval, xevall setting DgtMax = 0 (standard
precision)
Function
Use
Description
Note
R C M  subtraction
R C M  factorial
5!=120    (the same as fact)
R M
percentage
35% = 0.35   , 100+35% =103.5
R C M  multiplication
R C M  division
35/4 = 8.75
R C M  integer division
35\4 = 8
R C M  raise to power
3^1.8 = 7.22467405584208
| |
R C M  absolute value
|-5|=5      (the same as abs)
<
R M
less than
return 1 (true)   0 (false)
<=
R M
equal or less than
returns 1 (true)   0 (false)
<>
R M
not equal
returns 1 (true)   0 (false)
R M
equal
returns 1 (true)   0 (false)
>
R M
greater than
returns 1 (true)   0 (false)
>=
R M
equal or greater than
returns 1 (true)   0 (false)
abs(x)
R C M  absolute value
abs(-5)= 5
acos(x)
R C M  inverse cosine
argument -1  x  1
acosh(x)
R C M  inverse hyperbolic cosine
argument x  1
acot(x)
R M
inverse cotangent
acoth(x)
R M
inverse hyperbolic cotangent
argument   x<-1 or x>1
acsc(x)
R M
inverse cosecant
acsch(x)
R M
inverse hyperbolic cosecant
alog(z)
complex exponential with base 10
10^z
and(a,b)
logic and
returns 0 (false)  if a=0 or b=0
arg(z)
polar angle of complex number
-pi < a <= pi
asec(x)
R M
inverse secant
asech(x)
R M
inverse hyperbolic secant
argument   0  x  1
asin(x)
R C M  inverse sine
argument -1  x  1
asinh(x)
R C M  inverse hyperbolic sine
atanh(x)
R C M  inverse hyperbolic tangent
argument -1 < x < 1
atn(x), atan(x)
R C M  inverse tangent
beta(x,y)
R C
beta
argument x>0 y>0
betaI(x,a,b)
Beta Incomplete function
x >0  ,  a >0  ,  b >0
cbr(x)
cube root
cbr(2) =1.25992104989487,  also 2^(1/3)
clip(x,a,b)
Clipping function
return a if x<a , return b if x>b, otherwise
return x.
comb(n,k)
R C M  combinations
comb(6,3) = 20
conj(x)
conjugate
cos(x)
R C M  cosine
cosh(x)
R C M  hyperbolic cosine
cot(x)
R M
cotangent
argument (in radians) x k*π  with k = 0,
±
1,
±
2…
coth(x)
R M
hyperbolic cotangent
argument x>2
csc(x)
R M
cosecant
argument (in radians) x k*π  with k = 0,
±
1,
±
2…
csch(x)
R M
hyperbolic cosecant
argument x>0
dec(x)
R M
decimal part
dec(-3.8) = -0.8
deg(x)
R M
degree sess. conversion
conv. degree (60)  into current unit of
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
View PDF in WPF. Annotate PDF in WPF. Export PDF in to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Offer professional PDF document metadata editing APIs, using which VB.NET developers can redact, delete, view and save PDF metadata. PDF Document Protection.
Xnumbers Tutorial
272
angle
digamma(x)
R C
digamma
argument x>0
Ei(x)
R C
exponential integral function
argument x>0
Ein(x,n)
Exponential integral of n order
x >0  ,  n =  1, 2, 3…
Elli1(x)
Elliptic integral of 1st kind
∀ φ   ,   0 < k < 1
Elli2(x)
Elliptic integral of 2st kind
∀ φ   ,   0 < k < 1
erf(x)
R C
error Gauss's function
argument x>0
erfc(x)
R C
error Gauss's function for complex
value
eu
R M
Euler-Mascheroni constant
Gamma constant 0.577..
exp(x)
R C M  exponential
exp(1) = 2.71828182845905
fact(x)
R M
factorial
argument x  >0
fix(x)
R M
integer part
fix(-3.8) = 3
FresnelC(x)
Fresnel's cosine integral
∀ x
FresnelS(x)
Fresnel's sine integral
∀ x
gamma(x)
R C
gamma
argument x>0
gammaln(x)
R C
logarithm gamma
argument x>0
gcd(a,b)
greatest common divisor
The same as mcd
degree cent. conversion
conv. degree (100) into current unit of
angle
HypGeom(x,a,b,c)
Hypergeometric function
-1 < x <1    a,b >0   c  0, −1, −2…
im(z)
immaginary part of complex number
int(x)
integer part
int(-3.8) = 4
integral(f,z,a,b)
Def. integral of complex function f(z)  Integral('1/z^2','z',1-i,1+i)
inv(x)
inverse of a number
1/x
lcm(a,b)
R M
lowest common multiple
The same as mcm
ln(x), log(x)
R C M  logarithm natural
argument x>0
max(a,b,...)
R M
maximum
max(-3.6, 0.5, 0.7, 1.2, 0.99) = 1.2
min(a,b,...)
R M
minimum
min(13.5, 24, 1.6, 25.3) = 1.6
mcd(a,b,...)
R M
maximun common divisor
mcm(4346,174) = 2
mcm(a,b,...)
R M
minimun common multiple
mcm(1440,378,1560,72,1650) =
21621600
mod(a,b)
R M
modulus
mod(29, 6) = 5    mod(-29, 6) = 1
nand(a,b)
logic nand
returns 1 (true)  if a=1 or b=1
neg(z)
opposit of complex
-z
nor(a,b)
logic nor
returns 1 (true) only if a=0 and b=0
not(a)
logic not
returns 0 (false) if a  0 , else 1
nxor(a,b)
logic exclusive-nor
returns 1 (true)  only if a=b
or(a,b)
logic or
returns 0 (false) only if a=0 and b=0
pi
R M
Pi greek
3.141….
PolyCh(x,n)
Chebycev's polynomials
x  ,  orthog. for  -1  x 1
PolyHe(x,n)
Hermite's polynomials
∀ x   , orthog. for  −∞  x  +∞
PolyLa(x,n)
Laguerre's polynomials
∀ x  , orthog. for  0  x 1
PolyLe(x,n)
Legendre's polynomials
∀ x  , orthog. for  -1  x 1
R M
converts radians into current unit of angle
re(x)
real part of complex number
rnd(x)
random
returns a random number between x and
root(x,n)
R C M  n-th root
argument x  0   (the same as x^(1/n)
round(x,d)
R M
round a number with d decimal
round(1.35712, 2) = 1.36
sec(x)
R M
secant
argument (in radians) x k*π/2  with k =
±
1,
±
2…
sech(x)
R C M  hyperbolic secant
argument x>1
serie(….)
serie expansion of complex value z
Serie('z/n','n',1,10,'z',1+3i)
sgn(x)
R C
sign
returns 1 if x >0 , 0 if x=0, -1 if x<0
sin(x)
R C M  sin
sinh(x)
R C M  hyperbolic sine
C# PDF Library SDK to view, edit, convert, process PDF file for C#
RasterEdge WPF PDF Viewer provides C# users abilities to view, annotate, convert and create PDF in WPF application. C#.NET: Edit PDF Metadata.
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
View PDF in WPF. Annotate PDF in WPF. Export PDF in to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
Xnumbers Tutorial
273
sqr(x)
R C M  square root
sqr(2) =1.4142135623731,  also 2^(1/2)
tan(x)
R C M  tangent
argument (in radians)  x k*π/2  with k =
±
1,
±
2…
tanh(x)
R C M  hyperbolic tangent
xor(a,b)
R
logic exclusive-or
returns 1 (true)  only if a  b
BesselI(x,n)
Bessel's function of 1st kind, nth
order, mod.
>0 , n = 0,1, 2, 3…
BesselJ(x,n)
Bessel's function of 1st kind, nth
order
0 , n = 0, 1, 2, 3…
BesselK(x,n)
Bessel's function of 2nd kind, nth
order, mod.
>0 , n = 0,1, 2, 3…
BesselY(x,n)
Bessel's function of 2nd kind, nth
order
0 , n = 0,1, 2, 3…
J0(x)
Bessel's function of 1st kind
Y0(x)
Bessel's function of 2nd kind
I0(x)
Bessel's function of 1st kind, modified   x >
K0(x)
Bessel's function of 2nd kind,
modified
>
Si(x)
Sine integral
∀ x
Ci(x)
Cosine integral
x >0
zeta(x)
Riemman's zeta function
argument x<-1 or x>1
AiryA(x)
Airy function Ai(x)
x, example  cbr(2) = 1.2599,  cbr(-2) = -
1.2599
AiryB(x)
Airy function Bi(x)
argument (in radian)  x k*π/2  with k =
±
1,
±
2…
Mean(a,b,...)
R M
Arithmetic mean
mean(8,9,12,9,7,10) = 9.1666
Meanq(a,b,...)
R M
meanq(8,9,12,9,7,10) = 9.300
Meang(a,b,...)
R M
Arithmetic mean
meang(8,9,12,9,7,10) = 9.035
Var(a,b,...)
R M
Variance
var(1,2,3,4,5,6,7) = 4.6666
Varp(a,b,...)
R M
Variance pop.
varp(1,2,3,4,5,6,7) = 4
Stdev(a,b,...)
R M
Standard deviation
Stdev(1,2,3,4,5,6,7) = 2.1602
Stdevp(a,b,...)
R M
Standard deviation pop.
Stdevp(1,2,3,4,5,6,7) = 2
Step(x,a)
Haveside's step function
Returns 1 if x  a  , 0 otherwise
DSBeta(x, a, b, [j])
Beta distribution (j=1 cumulative)
0 < x < 1 , a > 0, b > 0,
DSBinomial(k, n, p, [j])
R
Binomial distribution (j=1 cumulative)  k integer, n integer , 0 < p < 1
DSCauchy(x, m, s, n, [j])
R
Cauchy (generalized) distribution (j=1
cumul.)
n integer , s > 0
DSChi(x, r, [j])
R
Chi distribution (j=1 cumulative)
r integer, x > 0
DSErlang(x, k, l, [j]))
R
Erlang distribution (j=1 cumulative)
k integer, x > 0
DSGamma(x, k, l, [j]))
R
Gamma distribution (j=1 cumulative)
x > 0,  k > 0, l > 0
DSLevy(x, l, [j]))
R
Levy distribution (j=1 cumulative)
x > 0, l > 0
DSLogNormal(x, m, s, [j]))
R
Log-normal distribution (j=1
cumulative)
x > 0, m  0, s > 0
DSLogistic(x, m, s, [j]))
R
Logistic distribution (j=1 cumulative)
x > 0, m  0, s > 0
DSMaxwell(x, a, [j]))
R
Maxwell-Boltzman distribution (j=1
cumulative)
x > 0, a > 0
DSMises(x, k, [j]))
R
Von Mises distribution (j=1
cumulative)
k > 0, -π < x < π
DSNormal(x, m, s, [j]))
R
Normal distribution (j=1 cumulative)
s > 0
DSPoisson(k, z, [j]))
R
Poisson distribution (j=1 cumulative)
k integer, z > 0
DSRayleigh(x, s, [j]))
R
Rayleigh distribution (j=1 cumulative)
x > 0, s > 0
DSRice(x, v, s, [j]))
R
Rice distribution (j=1 cumulative)
x > 0, v  0 , s > 0
DSStudent(t, v, [j]))
R
Student distribution (j=1 cumulative)
v integer degree of freedom
DSWeibull(x, k, l, [j]))
R
Weibull distribution (j=1 cumulative)
x > 0, k integer, l > 0
Symbol "!" is the same as "Fact",  symbol "\" is the integer division, symbols “|x|” is the same as Abs(x)
Logical function and operators returns 1 (true) or 0 (false)
Note: the arguments separator of the functions changes automatically from "," to ";" if your system decimal separator is
comma ",".
C# WPF PDF Viewer SDK to view PDF document in C#.NET
WPF Viewer & Editor. WPF: View PDF. WPF: Annotate PDF. WPF: Export PDF. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Watermark: Add Watermark to PDF
How to C#: Modify Image Metadata (tag)
C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET VB.NET How-to, VB.NET PDF, VB.NET Word, VB VB.NET Barcode Read, VB.NET Barcode Generator, view less.
Xnumbers Tutorial
274
Function Optimization
Macros for optimization on site
These macros has been ideated for performing the optimization task directly on the worksheet.
This means that you can define any function that you want simply using the standard Excel
built-in functions.
Objective function. For example: if you want to search the minimum of the bivariate function
(
)
(
)
2
100
35
2
100
51
( , , )
+
=
y
x
f x x y
insert in the cell E4 the formula  "=(B4-0.51)^2+(C4-0.35)^2", where the cells B4 and C4
contain the current values of the variables x and y respectively. Changing the values of B4 e/o
C4 the function value E4 also changes consequently.
For optimization, you can choose two different algorithms
Downhill-Simplex
1
The Nelder–Mead downhill simplex algorithm is a popular derivative-free
optimization method. Although there are no theoretical results on the
convergence of this algorithm, it works very well on a wide range of
practical problems. It is a good choice when a one-off solution is wanted
with minimum programming effort. It can also be used to minimize
functions that are not differentiable, or we cannot differentiate.
It shows a very robust behavior and converges for a very large set of
starting points. In our experience is the best general purpose algorithm,
solid as a rock, it's a "jack" for all trades.
For mono and
multivariate
functions
Divide-Conquer 1D
For monovariable function only, it is an high robust derivative free
algorithm. It is simply a modified version of the bisection algorithm
Adapt for every function, smooth or discontinue.
It converges for very large segments. Starting point not necessary
For monovariable
function only. It
needs the segment
where the max or
min is located
Example assume to have to minimize the following function for x > 0
cos(4 )
sin(3 )
( )
3
x
x e
e
f x
x
x
+
=
1
The Downhill-Simplex of Nelder and Maid routine appears by the courtesy of Luis Isaac Ramos Garcia
C#.NET. Allow Users to Read and Edit Metadata Stored in Tiff Image in C#.NET Application. C# Overview - View and Edit TIFF Metadata.
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Document and metadata. All object data. File attachment. Flatten visible layers. VB.NET Demo Code to Optimize An Exist PDF File in Visual C#.NET Project.
Xnumbers Tutorial
275
We try to search the minimum in the range  0 < x < 10
Choose a cell for the variable x , example B6, and insert the function
= SIN(3*B6)*EXP(- 2*B6) + COS(4*B6)*EXP(-B6)
in a cell that you like, for example C6.
After this, add the constrain values into another range, for example B3:C3
The values of the variables at the start are not important
Select the cell of the function C6 and start the macro "1D divide and conquer", filling the input
field as shown
Stopping limit. Set the maximum evaluation points allowed.
Max/Min. The radio buttons switches between the minimization and maximization algorithm
The "Downhill-Simplex" macro is similar except that:
The constrain box is optional.
It accepts up to 9 variables (range form 1 to 9 cells)
The algorithm starts from the point that you give in the variable cells. If the constrain
box is present, the algorithm starts from a random point inside the box
Let's see how it works with some examples
1
1
The following examples are extracted from "Optimization and Nonlinear Fitting" , Foxes Team, Nov. 2004
Xnumbers Tutorial
276
Example 1 - Rosenbrock's parabolic valley
This family of test functions is well known to be a minimizing problem of high difficult
(
)
(
)
2
2
2
1
( , , )
x
m y x
f x x y
+ −
= ⋅ ⋅ −
The parameter "m" tunes the difficult: high value means high difficult in minimum searching.
The reason is that the minimum is located in a large flat region with a very low slope.  The
following 3D plot shows the Rosenbrock's parabolic valley for m = 100
The following contour plot is obtained for m = 10
The function is always positive except in the point (1, 1) where it is 0. it is simple to
(
)
(
)
=
⋅ − − =
⋅ +
∇ =
0
2
2 0
2 1 1 2
4
0
2
3
my x
m y
x
m x
f
Xnumbers Tutorial
277
From the second equation, we get
(
)
2
2
0
2
y x
my x
=
=
Substituting in the first equation, we have
(
)
1
2 0
2
2 0
2 1 1 2
4
2
3
=
− =
⋅ − − =
⋅ +
x
x
m x
x
m x
So the only extreme is the point (1, 1) that is the absolute minimum of the function
To find numerically the minimum, let's arrange a similar sheet.
We can insert the function and the parameters as we like
Select the cell D4 - containing the objective function - and start the macro "Downhill-Simplex".
The macro fills automatically the variables-field with the cells related to the objective function.
But, In that case, the cell A4 contains the parameter m that the macro must not change. So
insert only the range B4:C4 int the variables field.
The cells B4:C4 will change for minimizing the
objective function in the cell D4
Leave empty the constraint  input box and press "Run"
Starting from the point (0, 0) we obtain the following good results
Algorithm
error
time
10
Simplex
2.16E-13
2 sec
100
Simplex
4.19E-13
2 sec
where  the error is calculated as  |x-1|+|y-1|
Example 2 - Constrained minimization
Example: assume to have to minimize the following function
7
10
4
4
2
( , , )
2
2
+
+
+
=
y
y
x
xy
x
f x x y
with the ranges constrains
0.5
2   ,   0
0
≤ ≤
≤ ≤
y
x
The Excel arrangement can be like the following