c# parse pdf to xml : Edit multiple pdf metadata SDK control API .net azure web page sharepoint xnumbers-tutorial118-part871

Xnumbers Tutorial 
180 
Example. Compute numerically the following integral 
dxdy
y
x
D
∫∫
+
2
2
Where the domain D is the half-circular 
region showed at the right 
Set the parameter "Polar" to True. 
Compare the precision with the exact result   
Edit multiple pdf metadata - add, remove, update PDF metadata in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata
remove pdf metadata online; delete metadata from pdf
Edit multiple pdf metadata - VB.NET PDF metadata library: add, remove, update PDF metadata in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
metadata in pdf documents; view pdf metadata
Xnumbers Tutorial 
181 
Infinite integral 
Integral_Inf()   
This macro performs the numeric integration of a smooth, regular, not oscillating
function f(x) 
over an unlimited (or very long) interval 
+∞
−∞
−∞
+∞
f xdx
f xdx
f xdx
a
a
  ( ( )
    ,
  ( ( )
    ,
  ( ( )
This macro can use two different methods:  
 The Bode formula with adaptive step  
 The double exponential algorithm 
The Bode formula with 8 steps to calculate the integral and the truncation error. 
(
)
4
3
2
1
0
1
7
32
12
32
7
45
2
f
f
f
f
f
h
I
h
+
+
+
+
=
(
)
8
7
6
5
4
2
7
32
12
32
7
45
2
f
f
f
f
f
h
I
h
+
+
+
+
=
2
1
h
h
h
I
I
I
+
=
63
h2
h
T
I I
E
After each step the routine detects the truncation error and recalculates the step in order to 
keep a constant error (variable step integration method). 
The double exponential algorithm, also called "tanh-sinh quadrature". first introduced by 
Takahasi and Mori, is based on the hyperbolic variable transformations.  
It is more complicated then the polynomial Newton-Cotes schema but, on the other hand, it is 
much more efficient. 
Using this macro is very easy.  
Example: Approximate the given integral 
+∞
⋅ ⋅
0
2
  100
x e e dx
x
The integration function is regular over the entire x-axes; the exponential assures the 
convergence. Therefore the infinite integral exists. 
Put the symbolic expression “100*x^2*exp(-x)” in any cell that you like (A3 for example), and 
arrange the worksheet in the following way (but it is not obligatory at all) 
The word “inf” means – of course –infinity. It is not necessary to specify the sign, because the 
macro always assumes “b”  as +inf , “a”  as  -inf 
Now select the cell A3 and run the macro Integral_Inf  . The input fields will be automatically 
filled 
VB.NET PDF Library SDK to view, edit, convert, process PDF file
NET empowers VB.NET developers to implement fast and high quality PDF conversions to or from multiple supported images and PDF Hyperlink Edit. PDF Metadata Edit.
google search pdf metadata; read pdf metadata
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Divide PDF file into multiple files by outputting PDF file size. Split Split PDF Document into Multiple PDF Files Demo Code in VB.NET. You
remove metadata from pdf online; change pdf metadata
Xnumbers Tutorial 
182 
Choose “run” to start the integration routine. The result will be similar to the worksheet below 
(without formatting) where we have compared the results of both methods 
As we can see the integral is 100 with an excellent approximation for both methods but the 
double exponential is more efficient. It required only 199 function evaluations. 
Sometime we have to calculate the integral over the entire x- axes. Let’ see 
+∞
−∞
+ +
+
+
dx
x
x
x
x
1
3
2
4
2
Note that, in this case, we have needed more than 10.000 evaluation points for the variable 
step method but only 344 for the DE method. The superiority is ever so evident? Not always. 
There are cases in which the adaptive quadrature schema works better. For example when the 
integration function has a finite discontinuity (jump) inside the integration interval; this usually 
happens for the piecewise functions.  
Example, Assume to have to compute the following didactical integral  
(
)
+∞
1
2
1
sgn1.5
dx
x
x
The integration function is shown in the 
following graph 
In this case is easy to calculate the integral 
simply separating the given interval [1, +] in 
two sub-intervals:  [1, 1.5] [1.5, +]. 
Calculating each integral and summing we get 
the exact result  I = 1/3.  
But we want here to investigate how the two methods works in this situation 
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Free online C#.NET source code for combining multiple PDF pages together in .NET framework. C# Demo Code: Combine and Merge Multiple PDF Files into One in .NET.
change pdf metadata creation date; rename pdf files from metadata
C# HTML5 PDF Viewer SDK to view, annotate, create and convert PDF
RaterEdge HTML5 PDF Editor empower C#.NET users to edit PDF pages with multiple manipulation functionalities in ASP.NET application.
endnote pdf metadata; add metadata to pdf programmatically
Xnumbers Tutorial 
183 
As we can see the variable step method has find the result with high precision using about 
7200 steps. The double exponential algorithm fails the convergence 
We have to put in evidence that using quadrature algorithms in a “blind” way, may lead to 
wrong result. We should always study the integration function to discover singularities, 
discontinuities, convergence rate, etc. If the integration function is “sufficiently” smooth, then 
the numeric integration can give good approximate results.  
This routine can also be used over a closed long interval, when other algorithms would take too 
long computational time. 
Double Data integration  
=IntegrData2D(Dataxy, hx, hy)   
Given a bidimensional set of points  (xi, yj) defined by a rectangular grid  
{
}
m  
n j
i
jh
y
y
ih
x x
x y
D
y
j
x
i
j
i
  ,  0...  , 0...
  ,
 , )|
0
0
=
=
+
=
+
=
this function computes the numerical double integral over the domain D 
∫∫
D
dxdy
f x x y
 , )
"Dataxy" is a (n x m ) rectangular array containing the function values f(xi, yj) 
"hx" and "hy" are the grid intervals respectively of the x-axis and the y axis 
Using this function is very simple.  
Example assuming to have the following rectangular dataset (x, y) in wich each cell represent a 
point of the grid and thus a value of the function f(xi, yj)  where i = 0, 1, 2...20, j = 0, 1, 2...20 
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Able to add and insert one or multiple pages to existing adobe PDF document in VB.NET. Add and Insert Multiple PDF Pages to PDF Document Using VB.
c# read pdf metadata; pdf metadata online
C# Create PDF from images Library to convert Jpeg, png images to
Component for combining multiple image formats into one or multiple PDF file in C#.NET. Any piece of area is able to be cropped and pasted to PDF page.
pdf metadata editor online; pdf metadata viewer
Xnumbers Tutorial 
184 
the function  = IntegrData2D(B54:V74C53A55) returns the value  16.2661406 
The scales x and y at the border of the range are not necessary for the function IntegrData2D. 
They are designed only for clarity. 
This function can also return the estimate error as second, optional value. To see also the error 
select two adjacent cells and insert the function with the CTRL+SHIFT+ENTER keys 
The given data set was generated by the function  
y
x
e
e
f x x y
+
=
/3
 , )
with  xi = 0.3 i  and yi = 0.2 j  
Therefore the above result is an approximation of the following integral  
∫∫
+
3
0
4
0
/3
dydx
e
e
y
x
that is about  16.266082. 
One interesting feature of this function is that 
it accepts piecewise-rectangular domains 
For example. Assume you have to 
approximate the following integral 
∫∫
+
+
D
y
x
1)
2
Ln(
where D is the domain shown at the right 
This integral could be split, of course, into three rectangular integrals 
∫∫
∫∫
∫∫
+
+
3
0
3
1
2
1
1
0
2
0
3
3
( , , )
( , , )
( , , )
dydx
f x x y
dydx
f x x y
dydx
f x x y
which the result is about   18.18803389
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Combine multiple specified PDF pages in into single one file. using RasterEdge.XDoc. PDF; VB.NET Demo code to Combine and Merge Multiple PDF Files into One.
adding metadata to pdf files; pdf metadata reader
C# PDF Library SDK to view, edit, convert, process PDF file for C#
XDoc.PDF SDK for .NET empowers C# developers to implement fast and high quality PDF conversions to or from multiple supported images C#.NET: Edit PDF Metadata.
remove metadata from pdf file; pdf metadata extract
Xnumbers Tutorial 
185 
But it could be approximated in a worksheet sampling the domain for 0 <= x <= 3 and 0 <= y <= 
4 with a suitable grid, for example hx = 0.1 , hy = 0.1 
The cells out of the domain must be left empty. 
The entire range is now B2:AF42 but the function will compute the integral only over the not 
empty cells. 
Note that in that case the scales x and y at the border of the range are used for calculating the 
function f(xi,yi) 
The integral and its estimate error will be 
Note the good accuracy of this result. 
IntegrData2D use the bidimensional trapezoidal formula with one-step of the Richardson 
extrapolation. This algorithm works very fine with smooth regular functions and its precision is 
similar the Cavalieri-Simpson formula  
C# PDF File Split Library: Split, seperate PDF into multiple files
The following C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines. Split PDF Document into Multiple PDF Files in C#.
edit pdf metadata online; pdf metadata
VB.NET PDF Converter Library SDK to convert PDF to other file
mechanisms, it can be used for multiple PDF to image PDF barcode reading, PDF barcode generation, PDF content extraction and metadata editing if
view pdf metadata in explorer; add metadata to pdf file
Xnumbers Tutorial 
186 
Series Evaluation 
=xSerie(Funct, Id, a, b, [Param], [DgtMax]) 
Returns the numeric series of a function f(n) . 
=
=
b
n a
f n
S
( )
The parameter "Funct" is a math expression string such as: 
"2^n/n*(-1)^(n+1)", "x^n/n!", "(-1)^(n)*(3+a)*x/(n-1)", ...  
Remember the quote " " for passing a string to an Excel function. 
For further details about the math string see  Math formula string
"Id"  indicates the integer index of the sum (usually "n", "k" , "i", etc.) 
"a" and "b" are the limits of the sum. 
The function may also have other parameters ("x", "y", "a", etc.) that can assume real values.  
"Param" contains labels and values for parameters substitution (if there are). If we pass the 
variable range without “labels”, the function will assign the values to the variables in the same 
order that they appear in the formula string, from left to right. 
The parameter "DgtMax" sets the multiprecision arithmetic. if omitted or zero the function uses 
the fastest standard arithmetic 
Example 1. Compute 
=
+
10
1
1
( 1)
n
n
n
n
x
for  x = 2, with standard precision (15 digits) and with 25 digits. 
The function substitutes  x = 2  and then, computes the series f(n)  for n =1, 2 ...10 
10
2
...
4
2
3
2
2
2
2
2
( 1)
10
4
3
2
1
10
1
1
+
⋅ = = −
=
+
n
n
n
n
xSerie("(-1)^(n+1)*x^n/n","n",1,10,2)= -64.8253968253968 
Example 2. Compute  
=
=
10
n 0 
n
n!
x
s
for  x = 1.5, with standard precision (15 digits) and with 25 digits. As known, this series 
approximates the exponential  e^(-1.5) 
The function xSerie accepts one or more parameters. 
Xnumbers Tutorial 
187 
Example 3. Compute the following series where a and b are parameters 
=
⋅ +
=
10
n 1 
n
n
a
b
s
for a = 0.7  and b = 1.5, in standard precision 
Note that we have enclosed the labels "a" and "b" in the range B4:C5 passed to the function as 
the argument "Param". The labels indicate to the function the correct assignment between the 
variables and their values 
Labels are optional. If we pass only the range B5:C5, without labels, the function assign the 
values to the variables in the order from left to right. 
Note how compact and straight is this calculation using the xSerie function. 
Series acceleration with ^2 
Many series are very slow to converge requiring therefore methods to accelerate their 
convergence. The Aitken's extrapolation formula ( 
2
extrapolation) can be used for this scope. 
Practically we build a new series S
(1)
, whose partial sums S
n
(1)
are given by the Aitken's 
formula. It is possible to repeat the process starting from the series S
(1)
to obtain S
(2)
., and so 
on. 
Example. We want to approximate the following series: 
=
+
=
k 0
k
1 k
( 1)
S
We know the exact result that is 
Σ = Log(2) = 0.693147180559945... 
In the cell B4 we insert the formula 
=Series($B$1;"k";0;A4) 
In the cell C4 we insert  
=(B4-LN(2)) 
we fill the rows from 5 to 16 simply selecting the range 
B4:C4 and dragging it down.  
In the last cell B17 we have inserted the function 
=ExtDelta2(B10:B16) 
performing the 
2
extrapolation using the last 7 values 
of the sum 
As we can see, the cell B16 shows the sum with 12 terms; its approximation is very poor 
having an error of more than 0.01. But if we apply the 
2
extrapolation at the last seven partial 
sums   S
(12)
 S
(11)
,  S
(10)
....  S
(6)
we have a good approximation with an error less then 1E-8 
Note that for reaching this accuracy the given series would need more than 100 million terms! 
Xnumbers Tutorial 
188 
Complex Series Evaluation 
=cplxserie(Formula, a, b, [z
0
])   
This function returns the numeric series of a complex function f(z, n) . 
=
=
b
n a
f zn
S
( , , )
"Formula" is a math expression string defined by arithmetic operators and common elementary 
functions such as: 
"2^n/n*(-1)^(n+1)", "x^n/n!", "(-1)^(n)*(3+j)*x/(n-1)", ...  
Remember the quote """ to pass a string to an Excel function. 
The integer variable must be “n”.  
The parameters "a" and "b" set the minimum and the maximum limits of the integer variable "n". 
The function may have also a complex variable "z". In that case specify its value in the 
parameter z
0
Example: evaluate the given series for z = z
0
= 2-i 
20
...
2 3
20
 1 
z
z z
z
n
z
S
n
= + + + + +
=
=
Xnumbers Tutorial 
189 
Double Series  
= xSerie2D(Funct, Id1, a, b, Id2, c, d, [Param], [DgtMax])  
Returns the numeric double series of a function f(n, m). 
∑∑
=
=
=
b
m a
d
n c
f mn
S
( , , )
The parameter "Funct" is a math expression string such as: 
" x^(n+2*m)/(n!*m!)", "(n+1)/(m+1)!", "comb(n,k)*a^k*b^(n-k)" ...  
Remember the quote " " for passing a string to an Excel function. 
For further details about the math string see the par. Math formula string
"Id1" , "Id2" indicate the integer indexes of the sum (usually "n", "m", "k" , "i", etc.) 
"a" , "b",  "c",  "d"  set the minimum and the maximum limits of the integer variables n and m. 
The function may have other parameters ("x", "y", "a", etc.) that can assume real values.  
"Param" contains labels and values for parameters substitution (if there are). If we pass the 
variable range without “labels”, the function will assign the values to the variables in the same 
order that they appear in the formula string, from left to right. 
The parameter "DgtMax" sets the multiprecision. if omitted or zero the function uses the fastest 
standard arithmetic 
Example. Compute the following double series, in standard (15 digits) and multiprecision (25 
digits) 
(
)
∑∑
=
=
+
=
4
m 0
10
n 1
n 2m
n!m!
x
s
for x = 0.8 
Take care to the index limits because, for large interval, this function can slow down your Excel 
application 
Documents you may be interested
Documents you may be interested