c# parse pdf to xml : Remove metadata from pdf online control Library platform web page .net wpf web browser xnumbers-tutorial119-part872

Xnumbers Tutorial 
190 
Trigonometric series 
= Serie_trig(t, period, spectrum, [offset], [angle], [smooth])   
It returns the trigonometric series 
(
)
=
+
+
=
N
n 1
sin
(0)
()
n
n
n t
a
f
f t
θ
ω
T
π
ω
2
=
The set 
(
)
N
n
a
n
n
    , 1...
 ,
=
θ
is called “spectrum” of the function f(t) 
Each couple is called harmonic. 
The parameter “t” can be a single value or a vector values 
The parameter “period” is the period T.  
The parameter "spectrum" is an array of (n x 2) elements: the first column contains the 
amplitude, the second column the phase.  
The optional parameter "offset" is the average level (default 0) 
The optional parameter "Angle" sets the angle unit: (RAD (default), DEG, GRAD) 
Optional parameter smooth (default False) applies the Lanzos factor to the trigonometric series 
)
sin(
(0)
()
1
n
N
n
n n
n t
a
f
f t
θ
ω
σ
+
+
=
=
N
n
N
n
n
/
/ )
sin(
π
π
σ
=
Here is a worksheet arrangement to 
tabulate a trigonometric serie having 
a spectrum of max 8 harmonics (the 
formulas inserted are in blue) 
The independent parameters are N 
(samples) and T (periodo) 
From those, we get the sampling 
interval 
T = T/(N-1) 
The table at the left contains the 
parameters for each harmonic: the 
integer multiple of the harmonic, its 
amplitude and its phase 
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
Period T
Period T = 1 
Note that we can always transform 
the cosine terms into sine with the 
following formula 
/2)
sin(
)
cos(
π
α
α
+
=
n° Arm.
Amp
Phase
1
1
45
2
0
0
3
0.4
-45
Remove metadata from pdf online - 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
batch update pdf metadata; google search pdf metadata
Remove metadata from pdf online - 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
preview edit pdf metadata; metadata in pdf documents
Xnumbers Tutorial 
191 
The “ringing” phenomenon is an overshoot of Fourier series occurring at simple discontinuities 
(jumps). The series does not converge uniformly to a discontinuous function in a small interval 
of  the discontinuity point. It can be proven that, at each discontinuity point, the series either 
overshoots or undershoots by about 9% of the magnitude of the jump. 
The ringing can be removed with the Lanczos sigma factors. 
Example. The phenomenon is illustrated for a square wave.  
Given the spectrum of the first 20 harmonics A
n
= { 0, 1, 0, 1/3, 0, 1/5, 0, 1/7…1/19, 0 } and θ
n
= 0, of the square wave with period T = 1, let’s plot its Fourier series with and without Lanczos 
sigma factors (parameter smooth = true / false respectively) 
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
0
0.2
0.4
0.6
0.8
1
1.2
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
0
0.05
0.1
0.15
0.2
0.25
As we can see, the series with Lanczos factors (pink line) shows a more stable and smooth 
behavior. Note, however, that ringing has interesting physical consequences. Consider, for 
example, a linear electric circuit in which, by means of a switch, a fast voltage transition is 
created: then the response of the circuit will really exhibit an overshoot  
VB.NET PDF remove image library: remove, delete images from PDF in
Image: Insert Image to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process.
edit pdf metadata; pdf xmp metadata editor
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
Ability to remove consecutive pages from PDF file in VB Enable specified pages deleting from PDF in Visual Basic Online source codes for quick evaluation in VB
get pdf metadata; pdf metadata extract
Xnumbers Tutorial 
192 
Trigonometric double serie 
= Serie2D_trig(x, y, Lx, Ly, Spectrum, [offset], [Angle])   
It returns the trigonometric double serie 
∑∑
=
=
+
+
+
=
N
n
M
m
nm
y
x
nm
y
x m
n
a
f
f x x y
1
1
,
,
0
)
cos(
( , , )
θ
ω
ω
where  
y
y
x
x
L
L
π
ω
π
ω
2
      ,
2
=
=
The set  
[
]
M
m
N
n
a
nm
nm
0...
0...   ,
 ,
,
,
=
=
θ
is called “spectrum” of the function f(t). Each couple is called "harmonic". 
The parameters “x” and “y” are vectors 
The parameters “Lx”  and “Ly” are the base lengths of the x-axis and y-axis. 
The parameter "Spectrum" is an array of (n x 4) elements: containing the following information: 
index n, index m, amplitude and phase.  
That is, for example: 
Amplitude 
Phase 
0
1
1
45
2
1
0.5
-45
3
1
0.25
15.5
1
4
0.125
30
The optional parameter "offset" is the average level (default 0) 
The optional parameter "Angle" sets the angle unit (RAD (default), DEG, GRAD) 
The function f(x, y) is returned as an (N x M) array.  
Use the CTRL+SHIFT+ENTER key to insert this function. 
Example: Here it is a worksheet arrangement to tabulate a trigonometric serie f(x, y) having a 
spectrum of max 4 harmonics  
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Free online C# class source code for deleting specified PDF pages in .NET console application. Able to remove a single page from PDF document.
pdf metadata viewer online; remove metadata from pdf
C# PDF Password Library: add, remove, edit PDF file password in C#
Support to add password to PDF document online or in C# String outputFilePath = Program.RootPath + "\\" Remove.pdf"; // Remove password in the input file and
pdf metadata editor online; pdf xmp metadata viewer
Xnumbers Tutorial 
193 
Discrete Convolution  
Convol(f, g, h, [algo])   
This function approximates the convolution of two sampled functions f(t
i
), g(t
i
)  
+∞
−∞
=
)
( ) ) (
*
f v v g t t vdv
f g
The parameters "f" and "g" are column-vectors 
The parameter "h" is the sampling step. 
The optional parameter "algo" sets the algorithm: 0 = discrete, 1 = linear (default), 2 = 
parabolic. 
The functions returns a vector with the same dimension of the two vectors f and g.  
The convolutions is also called "Faltung" 
Here are other examples of convolution plots 
In the signals analysis the function f is called "input signal" x(t) and g is called "system impulse 
response" h(t). The convolution fg  is called "system responce" y(t) 
The system behavior is reassumed in the following schema 
C# PDF remove image library: remove, delete images from PDF in C#.
Text in PDF. Image: Insert Image to PDF. Image: Remove Image from PDF Page. Cut Image in Page. Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
embed metadata in pdf; add metadata to pdf
C# PDF bookmark Library: add, remove, update PDF bookmarks in C#.
Ability to remove and delete bookmark and outline from PDF document. Merge and split PDF file with bookmark. Save PDF file with bookmark open.
read pdf metadata; edit multiple pdf metadata
Xnumbers Tutorial 
194 
If the system is described by the following differential equation 
()
()
'()
y t t k k yt t xt
=
+ ⋅
+
which has an impulse response given by 
k t
()
ht =e
We will use convolution to find the zero input response of this system to the square signal of 
period T = 1 and amplitude x
max
= 1.5  
For obtaining this gaph we have used a sampling step of t = 0.02, but this value is not critical. 
You can choose the size that you like in order to obtain the needed accuracy. 
h(t) 
x(t) 
y(t) 
In a linear system, the outputs signal y(t) depends by the input signal x(t) 
and by the inpulse responce of the system h(t). That is: 
y(t) =  x(v) h(t-v) dv 
VB.NET PDF delete text library: delete, remove text from PDF file
to remove text format by modifying text font, size, color, etc. Other PDF edit functionalities, like add PDF text, add PDF text box and field. Online .NET
analyze pdf metadata; remove metadata from pdf file
VB.NET PDF Password Library: add, remove, edit PDF file password
Remove password from PDF. Dim outputFilePath As String = Program.RootPath + "\\" Remove.pdf" ' Remove password in the input file and output to a new file.
change pdf metadata; read pdf metadata java
Xnumbers Tutorial 
195 
Interpolation 
Polynomial interpolation 
=PolyInterp(x, xi, yi, [degree], [DgtMax])  
=PolyInterpCoef(xi, yi, [degree], [DgtMax]) 
The first function performs the interpolation of a given set of points (x,y), and returns the value 
at the point x.  
The Input parameters Xi and Yi are vectors. 
The parameter "degree" sets the interpolation polynomial degree (default = 1) 
The optional parameter DgtMax sets the maximum digits of the multiprecision arithmetic. If 
omitted or 0, the functions works in faster double precision. 
The second function returns an array containing the coefficients of the polynomial interpolation. 
Use CTRL+SHIFT+ENTER for inserting this function. 
This function use the following popular Newton's formula: 
=
=
+
=
n
m
m
j
j
m
x x
D x x x
y
p x
1
1
1
1
1
)
) (
,...
(
( )
where D(x
1
,...x
n
 is the "divided difference", given by the following recursive formulas: 
  ,....
    ,   ( ( , )
( , , )
3
2
3
2
3
2
2
1
2
1
2
1
x
x
y
y
Dx x
x x
y
y
D x x x
=
=
  , .....
( , , )
( , , )
( , , , )
3
1
3
2
2
1
3
2
1
x x
Dx x
Dx x
Dx x x x
=
m
m
m
m
x x
x
D x
D x x x
D x x x
=
1
2
1
1
1
)
,...
(
)
,...
(
)
,...
(
Example : Compute the sub-tabulation between a set of 6 given points (x, y) using a linear 
polynomial and a 3
rd
degree polynomial and a step of h = 0.2. Note that the given points are not 
equidistant. 
Xnumbers Tutorial 
196 
Sub-Tabulation with Degree = 1 
Sub-Tabulation with Degree = 3 
0
0.2
0.4
0.6
0.8
1
1.2
0
2
4
6
8
10
y Interp
y
0
0.2
0.4
0.6
0.8
1
1.2
0
2
4
6
8
10
y Interp
y
If we wonder which is the 3
rd
degree polynomial used for interpolating the point x = 3.2 we can 
use the function PolyInterpCoef. 
The interpolation polynomial will be  
3
3
2
2
1
0
( )
ax
ax ax
a
p x
+
+
+
=
with the coefficients [a
0
, a
1
, a
2
, a
3
] returned from the function PolyInterpCoef 
We can plot this polynomial by the function Polyn. The interpolation polynomial is shown in the 
above graph. 
Note that the function has selected the 4 points [x
2
, x
3
, x
4
, x
5
], discharging the first point x
1
and 
the last point x
6
, in order to get the most possible accurate interpolation. 
Note. when the number of the points (x, y) is exactly degree+1, then the polynomial is 
univocally determined no matter which the interpolation point is: we can pass any number x 
that we like, for example x = 0. 
In the following example we determine the 2
nd 
degree polynomial interpolating the given 3 
points with 30 significant digits 
Xnumbers Tutorial 
197 
Interpolation schemas 
If the number N of the points (x, y) is exactly equal to degree+1, then the polynomial is 
univocally determined; but if N > degree+1 there are several different polynomials that can be 
used for interpolating a given point x. A popular method, adopted by the function PolyInterp  is 
called "sliding centered polynomial" 
Linear interpolation 
The linear interpolation is always performed between the nodes x
i
x
i+1
where x [x
i
x
i+1
For degree > 1 the interpolation strategy is more complicated. 
Odd degree polynomial (example degree = 3) 
The 3
rd
degree interpolation is performed between the nodes {x
i-1
x
i
,  x
i+1
, x
i+2
} where  
[x
i
, x
i+1
]. At the first of the segment, the interpolation is performed between the nodes  
{x
1
,  x
2
  x
3
,  x
4
} where x [x
1
, x
3
]. At the end, the interpolation is performed between the 
nodes  { x
N-3
 x
N-2
 x
N-1
, x
N
} where x [x
N-2
, x
]. 
Even degree polynomial (example degree = 2) 
The 2
rd
degree interpolation is performed between the nodes {x
i-1
x
i
,  x
i+1
} and { x
i
 x
i+1
, x
i+2
where x [x
i
, x
i+1
]. The first set gives the left interpolation polynomial while the second set 
gives the right interpolation polynomial. In the range x [x
i
, x
i+1
] the final interpolation is 
obtained taking the average of the two polynomials. At the first of the segment, the interpolation 
is performed between the nodes {x
1
 x
2
,  x
3
} where x [x
1
, x
2
]. At the end, the interpolation is 
performed between the nodes { x
N-2
 x
N-1
, x
N
} where x [x
N-1
, x
]. 
The average interpolation schemas adopted for even degree polynomials can often increase 
the gloabal accuracy but, on the other hand, it reduces the efficence. 
This example helps to explain this trick. 
Assume to have the data set composed by 4 
points; we want to perform the parabolic  
interpolation of a point y(x) where  
0.6
≤ x ≤ 
1
and y(
0.6
) = y
2
and y(
1
) = y
3
0.2 
0.163746 
0.6 
0.329287 
0.367879 
1.4 
0.345236 
Note that the given points belong to the function 
x
xe
y x
 
( )
x
i
,     x
i+1
x
i-1
x
i
  x
i+1
,  
Left polynomial 
x
N-2
,  x
N-1
, x
N
x
1
 x
2
  x
3
x
i
 x
i+1
, x
i+2
Right polynomial 
average interpolation   
x
i-1
x
i
,  x
i+1
, x
i+2
 x
N-3
 x
N-2
,  x
N-1
, x
N
x
1
,  x
2
  x
3
 x
4
Xnumbers Tutorial 
198 
Being the degree = 2, we can build 
two interpolation polynomials using 
the first 3 points and the last 3 
points.  
We have thus the left interpolation 
polynomial P
L
(x), covering the 
range [0.2, 1], and the right 
interpolation polynomial P
R
(x) 
covering the range [0.6, 1.4] 
The intersection range is [0.6,  1] 
that is just the range to interpolate 
y = -0.1914x2 + 0.4027x + 0.1566
y = -0.3967x2 + 0.7312x + 0.0334
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
If we take the average 
P
M
(x) = [P
L
(x)+ P
R
(x)] / 2 
We obtain a new 2
nd
degree 
polynomial interpolating the points 
between [ 0.6 , 1] 
Observe that it satisfys the nodes 
constraints: 
P
M
(
0.6
) = y
2
,   P
M
(
1
) = y
3
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
If we compute the absolute errors |y(x) - P
R
(x)|  , |y(x) - P
L
(x)|, |y(x) - P
M
(x)| in the range  
0.6
≤ x ≤ 
1, 
we observe a significant error reduction for the average polynomial, as shown in 
the following graph. 
0
0.001
0.002
0.003
0.004
0.005
0.006
0.4
0.6
0.8
1
1.2
average
left
right
In this case the average-parabolic polynomial accuracy is comparable with the cubic 
polynomial. 
0
0.0004
0.0008
0.0012
0.0016
0.4
0.6
0.8
1
1.2
cubic
average
But we have to consider that the simple cubic interpolation schema is more efficient then the 
average-parabolic. Generally odd degree interpolation schemas are preferable. 
Xnumbers Tutorial 
199 
Interpolation with continued fraction  
Fract_Interp_Coef(xi, yi, [DgtMax]) 
Fract_Interp(x, xi, coeff, [DgtMax]) 
These functions perform the interpolation with the continued fraction method.  
Given, for example, a set of 5 points   
xi = [ x
0
, x
1
, x
2
, x
3
, x
4
] , yi  = [ y
0
, y
1
, y
2
, y
3
, y
4
the function Fract_Interp_Coef returns the coefficients vector [ a
0
, a
1
, a
2
, a
3
, a
] of the 
continued fraction expansion given by the following formula: 
4
3
3
2
2
1
1
0
0
a
x x
a
x x
a
x x
a
x x
y a
+
+
+
+
The function Fract_Interp returns the interpolate value y at the point x 
The optional parameter DgtMax sets the maximum digits of the multiprecision arithmetic. If 
omitted or 0, the functions works in faster double precision. 
Example: find the continued fraction interpolation for the following (x, y) samples 
These points are extracted from the following function 
0.9
2
2
2
+
=
x
x
y
You can verify that the interpolation with these coefficients are better than 1E-14 for all x values 
in the range [0.4 − 1.6] 
Note also that this great precision is reached in spite of the pole (x  0.95) in the interpolation 
range. The continued fraction interpolation is just suitable for interpolating rational functions.  
The following graph shows very well how interpolate points fits the curve. 
Documents you may be interested
Documents you may be interested