﻿

# 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
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
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.
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
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.
Support to add password to PDF document online or in C# String outputFilePath = Program.RootPath + "\\" Remove.pdf"; // Remove password in the input file and
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
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.
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
Remove password from PDF. Dim outputFilePath As String = Program.RootPath + "\\" Remove.pdf" ' Remove password in the input file and output to a new file.
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.