c# parse pdf to xml : Add metadata to pdf programmatically SDK software service wpf winforms html dnn xnumbers-tutorial122-part876

Xnumbers Tutorial 
220 
PECE algorithm of 4
th
order  
Now we solve the above differential equation with a 4
th
order PECE algorithm using the 4 steps 
Adams-Bashforth-Moulton formulas 
    ,   (0) ) 2
'
2
=
=−
y
xy
y
To start this algorithm needs 4 steps. A good set of starting steps is: 
y(x) 
0.2 
1.9230769231 
0.4 
1.7241379310 
0.6 
1.4705882353 
The first 4 rows of the PECE algorithm are built as shown in the previous example.  
The first 4 values of yp and yc are 
the same. 
Now let's insert in the cell B10 
=ODE_PRE(yn, f, h) 
where “yn” is the last value of 
y(x), D9 in that case.  
“f” is a vector of the the last four 
values of f(x,y), E6:E9 in this 
case.  
“h” is the step B3. 
Insert in the cell D10 
=ODE_COR(yn, fp, f, h) 
where “yn” is the last value of 
y(x). In that case D9.  
“f” is a vector of the last 3 values 
of f(x,y), E7:E9.  
“fp” is the predicted value of 
f(x,y), C10 in this case. 
“h” is the step B3 
T Now the setting of the PECE 
algorithm of 4
th
order is completed. 
Select the 5
th
row and drag it down in 
order to calculate the steps you want. 
he predictor-corrector error curves are 
shown in the following graph 
-0.01
-0.005
0
0.005
0.01
0.015
0
0.5
1
1.5
2
2.5
3
ep
4th PECE
We do not investigate here how to get the extra 3 values (they 
could comes by Runge-Kutta method or by Taylor series 
approximation). The only thing that we have to point out is 
that these values must be sufficiently accurate in order to 
preserve the global accuracy of the algorithm 
Add metadata to pdf programmatically - 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
pdf xmp metadata; rename pdf files from metadata
Add metadata to pdf programmatically - 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
read pdf metadata java; adding metadata to pdf files
Xnumbers Tutorial 
221 
In order to compare the accuracy of the solutions of the this algorithm with the 2
nd
order 
algorithm of the previous example let's draw both the error curves in a same graph 
-0.006
-0.004
-0.002
0
0.002
0.004
0.006
0.008
0.01
0
0.5
1
1.5
2
2.5
3
4th PECE
2nd PECE
As we can see, the 4
th
order algorithm is evidently more accurated then the 2
nd
order. On the 
other hand, the first one requires an extra work for providing 3 starting points. 
ODE Predictor-Corrector 4  
= ODE_PC4(Equations, VarInit, Step, [Par, …]) 
This function integrates numerically an ordinary differential equation of 1st order or differential 
system of 1st order, with the 4th order P(EC)^2 schema predictor-corrector of Adams-
Bashforth-Moulton.  
The input arguments are identical to the function ODE_RK4  
The function can return all the solution points in an array. Before inserting the function, select 
as many rows that you want to fill. For example if you select a (p x n+1) array , the function will 
return p solution points of a n x n differential system. 
Let’s see how it works with an example   
= −
=
w v v w
w
v v
v v
'
12)
)(
' (1
=−
=
1
(0)
(0) 0
w
v
(FitzHug-Naguno model) 
Insert the equations in the cell A2 and A3. Insert the starting point [t0, v0, w0 ] = [0, 0, -1] in the 
range A7:C7 
Select the range A8:C167 in order to get simultaneously 160 integration points and insert the 
function ODE_PC4 by the CTRL+SHIFT+ENTER sequence. 
VB.NET PowerPoint: Read, Edit and Process PPTX File
How to convert PowerPoint to PDF, render PowerPoint to SVG and effective VB.NET solution to add desired watermark VB.NET PowerPoint: Read & Edit PPTX Metadata,
remove pdf metadata online; batch pdf metadata editor
C# Create PDF Library SDK to convert PDF from other file formats
Besides, using this PDF document metadata adding control, you can add some additional information to generated PDF file.
batch update pdf metadata; pdf metadata editor
Xnumbers Tutorial 
222 
The following plot shows the obtained functions v(t) and w(t) for 0 <= t <= 8 
The 4
th
order P(EC)
2
schema predictor-corrector of Adams-Bashforth-Moulton is detailed in the 
following flow-graph 
The initial extra 3 steps, necessary for starting the predictor-corrector algorithm, are calculated 
by the function ODE_RK4 requiring 4 function evaluations for step. After that, the PC schema 
require only 2 function evaluations for step. Conventionally we measure the effort (EF) counting 
the number of function evaluation for n steps.  
EF = 12+2*n  (for PC schema),    EF = 4*n  (for RK algorithm) 
For n >> 1 the effort reduction of the P(EC)
2
schema is about 50% 
Compute the first 3 
steps by the 4
th
order 
Runge-Kutta algorithm 
Starting 
x
0
, y
0
, h 
Starting points 
x
0
, y
0
x
1
, y
1
x
2
, y
2
x
3
, y
3
Compute the next step 
by 4
th
order by the 4
th
order Predictor 
Evaluate the function  
f
p
= f (x
4
, y
p
y
p
Refine the step by the 
4
th
order Corrector 
f
p
Evaluate the function  
f
c
= f (x
4
, y
c
y
c
Refine the step by the 
4
th
order Corrector 
f
c
y
4
right-shift the 
points and repeat 
x
1
, y
1
x
2
, y
2
x
3
, y
3
x
4
, y
4
P (EC)
2
Predictor-Corrector 
schema of 4
th
order 
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Document and metadata. All object data. Flatten visible layers. C#.NET DLLs: Compress PDF Document. Add necessary references: RasterEdge.Imaging.Basic.dll.
pdf xmp metadata viewer; bulk edit pdf metadata
C# PDF Text Search Library: search text inside PDF file in C#.net
Ability to search and replace PDF text in ASP.NET programmatically. C#.NET PDF DLLs for Finding Text in PDF Document. Add necessary references:
c# read pdf metadata; remove metadata from pdf file
Xnumbers Tutorial 
223 
ODE Implicit Predictor-Corrector   
ODE_PC2I(Equations, VarInit, Step, [Par, …])
This function integrates numerically an ordinary differential equation of 1st order or a differential 
system of 1st order, with the 2th order implicit Predictor-Corrector method. Thanks to its large 
stability it is suitable for solving "stiff" problems. 
The input arguments are identical to the function ODE_RK4  
The function can return all the solution points in an array. Before inserting the function, select 
as many rows that you want to fill. For example if you select a (p x n+1) array , the function will 
return p solution points of a n x n differential system. 
This function uses the 1
st
order Euler formula as predictor and the 2
nd
order trapezoidal formula 
as the corrector. 
( , , )
1
n
n
n
n
h f f t t y
y
y
+ ⋅
+
=
+
Predictor (Euler formula)
(
)
)
( ,
( , , )
/2
1
1
1
+
+
+
+
+
=
n
n
n
n
n
n
y
f t
f t t y
h
y
y
Corrector (Trapezoidal formula)
The second non-linear equation is started with the predicted value and then solved respect to 
the variable yn+1 till the convergence. 
This algorithm, despite its low order, exibits a large stability and, thus, it is suitable for solving 
"stiff" problems 
Let’s see how it works with an example 
Solve numerically the following 2
nd 
order Cauchy’s problem for  1 ≤ x ≤ 7 and k = 100 
 0
( 1)
2
2
=
+
+ +
ky
dx
dy
k
dx
d y
 
0.5
(1) 1  ,   '(1)
=−
=
y
y
First of all, we transform the problem in a 1st order differential equations system taking 
'
   ,
2
1
y
y y
y
=
=
+
=−
=
2
1
2
2
1
( 1)
'
'
y
k
ky
y
y
y
=−
=
0.5
(1)
(1) 1
2
1
y
y
A possible arrangement may be the following 
We have written in cell A2 and A3 the 
differential equations   
In cell D3 we have inserted the k parameter 
and in the cell E3 the h step 
In the range A8:C8 we have put the starting 
values for x and y1 and y2. 
note that we have also added the labels "k" , 
"x", "y1", "y2" just above theirs values. 
Labels
are necessary for the correct 
assignment in the symbolic equation. 
Now select the range A9:C40 and insert the 
function ODE_PC2I passing its arguments 
The scatter plot of the 30 points (x, y1)  is shown in the following graph 
.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract images from PDF file. Read PDF metadata. Search text content inside PDF. Edit, remove images from PDF. Add, edit, delete links. Form Process.
edit pdf metadata online; pdf metadata extract
VB.NET PDF - How to Add Barcode on PDF Page
text in PDF, C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET VB.NET PDF barcode creator add-on, which combines the PDF reading add-on with
preview edit pdf metadata; google search pdf metadata
Xnumbers Tutorial 
224 
Compare the approximate solution (dotted line) with the exact one (pink continue line)  
The fitting, even with only 30 points, looks good. If we try to solve this problem with the 4
th
order 
Runge-Kutta algorithm we have to choose a step less then  0.025 for avoiding the instability 
and, thus, we need more than 250 points for reaching the same integration interval. 
The Lotcka-Volterra Model 
The following two-dimensional differential system  
+
=−
=
a y y a a xy
dt
dy
ax a a xy
dt
dx
4
3
2
1
is called the Lockta-Volterra model or also "prey-predator" model. It is very useful in biology, 
chemistry and many other fields. The numerical integration of this ODE family requires a stable 
algorithm otherwise the result are not acceptable 
The function x(t) and y(t), depending from the time, may represent different things. In a 
biological models, for example, they simulate respectively the population of pray (rabbits) and 
predator (foxes) at time t. The proportionality constants  a
, a
, a
, and a
4
are positive. It is 
known that its solution leads to oscillate steady-state. 
. Let's see with a practical example 
=− +
=
xy
x
y
xy
x
x
2
' 5
2
' 2
=
=
(0) 1
(0) 1
y
x
Insert the equation defintion in the cells 
A1 and A2 , the step in the cell C2 = 0.02 
and  the starting values [0, 1, 1]  in the 
range A6:C6 
Do not miss the labels "t", "x", "y" 
Then, select the range A7:C407 and 
insert the function ODE_PC2I with the 
ctrl-shift-enter keys sequence 
The following graph at the left shows the result of the function x(t) and y(t). By performing the 
scatter plot of x-y variable we have the steady-state plot at the right. It shows a closed loop, a 
limit cycle. 
VB.NET PDF - Convert CSV to PDF
pages, C#.NET search text in PDF, C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET VB.NET Demo Code for Converting RTF to PDF. Add necessary references
batch pdf metadata; modify pdf metadata
VB.NET PDF Text Search Library: search text inside PDF file in vb.
Ability to search and replace PDF text programmatically in VB.NET. Our VB.NET PDF Document Add-On enables you to search for text in target PDF document
preview edit pdf metadata; pdf remove metadata
Xnumbers Tutorial 
225 
0
1
2
3
4
5
6
0
2
4
6
8
10
12
x
y
0
1
2
3
0
2
4
6
We can easily change the zoom of the graph by changing the integration step h 
Note that the oscillations are quite deep. The above system has two equilibrium points where 
dx/dt = 0 and dy/dt = 0 simultaneously, that can be found solving the algebric system 
=
+
=
0
2
5
0
2
2
xy
x
xy
x
   
=
=
0
0
y
x
=
=
1
2.5
y
x
The non trivial solutions means that if the initial populations start from x
0
= 2.5 and y
0
= 1, then 
there will be no oscillation and the population fraction x/y will be always constant in the time. 
On the contrary, the populations become progressively to oscillate when the initial populations 
are different from the equilibrium point [2.5 , 1]. 
Here same examples: 
x(0) = 2.45 and y(0) = 1 
x(0) = 2.4 and y(0) = 1 
0
0.5
1
1.5
2
2.5
3
0
2
4
6
8
10
12
x
y
0
0.5
1
1.5
2
2.5
3
0
2
4
6
8
10
12
x
y
VB.NET Create PDF Library SDK to convert PDF from other file
Load PDF from stream programmatically in VB.NET. VB.NET: DLLs for Creating PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
batch edit pdf metadata; pdf metadata
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
without any dependency on Adobe products; Add PDF viewing and Support navigating, zooming, annotating and saving PDF in C# WinForms project programmatically;
extract pdf metadata; remove metadata from pdf
Xnumbers Tutorial 
226 
Differential Systems 
OD Linear System  
= ODE_SYSL(A, y0, step, [b]))  
This function integrates numerically a system of ordinary linear differential equations of 1st 
order with constant coefficients, starting from an initial value. For example, the general form of 
a 3x3 linear differential system is: 
+
+
+
=
+
+
+
=
+
+
+
=
3
1
33
1
32
1
31
3
2
1
23
1
22
1
21
2
1
1
13
1
12
1
11
1
'
'
'
a y y a a y y a a y y b
y
a y y a a y y a a y y b
y
a y y a a y y a a y y b
y
where all the coefficients aij and bi are constant. 
Such system can be put in the following handy matrix form. 
[ ]
]
A y y b
y
⋅ +
'=
where 
=
33
32
31
23
22
21
13
12
11
a
a
a
a
a
a
a
a
a
A
[
]
T
y y y y
y
3
2
1
 ,  ,
=
[
]
T
b b b b
b
3
2
1
 ,  ,
and with the initial condition: 
[
]
T
y
y
y
y
(0)
3
(0)
2
(0)
1
0
 ,
 ,
=
The constant term b is optional. If omitted the system is called "homogeneous" 
This function uses the exponential expansion method that, for this kind of differential systems, 
is both accurate and efficient. 
The function returns an (n x m ) array containing all the nodes of the integration: m is the 
number of equations; n is the numbers of the nodes. The function automatically sets n equal to 
the rows of the range that you have selected before inserting it. 
Let's see how it works practically 
Solve the following homogeneous differential system with constant coefficients 
[ ]
]
A y
y
'=
'
where 
=
1
2
2
16
6
16
19
10
20
A
[
]
T
y
1 , 0 , 0
0
=
For 0 ≤ x ≤ 4 and h = 0.05 
The numerical solution can be arranged as in the following worksheet 
The initial values are in the first row (range B7:D7). The column "x" was added only for clarity 
but it is not indispensable at all.  Select the range B8:D87, than insert the function ODE_SYSL 
giving the suitable parameters A, y
0
, h. Then press CTRL+SHIFT+ENTER 
Xnumbers Tutorial 
227 
All the 240 cells will be filled with the nodal solutions of y1, y2, y3. 
The scale can be esily arranged simply by changing the parameter h 
-1
-0.5
0
0.5
1
1.5
0
0.5
1
1.5
2
2.5
3
3.5
4
y1
y2
y3
-1
-0.5
0
0.5
1
1.5
0
0.25
0.5
0.75
1
y1
y2
y3
h = 0.05 
h = 0.012 
Compare with the exact solutions 
+
=−
=
+
+
=−
x
x
x
x
x
x
x
e
e
y
e
e
y
e
e
e
y
2
3
10
2
2
10
2
1
2
2
2
2
2
2
High order linear ODE 
The function ODE_SYSL can also be used to solve high order linear ODE with constant 
coefficients, that in general can be written as 
a y y ay y a a y y b
a y
y
n
n
n
=
+
+
+
+
0
1
2
( 1)
1
( )
'
''
....
with the initial conditions 
0
0
( )
y
y x
=
'
'( )
0
0
y
y x
=
''
''( )
0
0
y
y x
=
, , 
( 1)
0
0
( 1)
( )
=
n
n
y
x
y
As known, such ODE can be transformed into a linear differential system of 1
st
order. 
+
=
b
y
y
y
y
a
a
a
a
y
y
y
y
n
n
n
n
n
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
'
'
'
'
1
2
1
1
2
1
0
1
2
1
L
L
M
M
K
O
K
K
K
M
M
L
having the initial conditions 
[
]
[
]
T
n
T
n
y
y
y
y
y
y
y
y
y
(0)
(0) , '(0) , ''(0) ,
(0) , (0) , (0) , (0)
1
3
2
1
0
=
=
Xnumbers Tutorial 
228 
For example assume tha you have to calculate the solution of following IVP problem: 
0
''' 5 5 '' ' 9 9 ' ' 5
=
+
+
+
y
y
y
y
, with 
(0 )=2
y
,  
3
'(0)
=−
=
y
''(0) 4
=
y
Introducing the axiliary variables  y
1
= y  ,  y
2
= y'  ,  y
3
= y'' , we get the following equivalent 
differential system 
=
3
2
1
3
2
1
5
9
5
1
0
0
0
1
0
'
'
'
y
y
y
y
y
y
with  
=
=−
=
(0) 4
3
(0)
(0) 2
3
2
1
y
y
y
Observe that the last row of the matrix contains the coefficients of the given ODE with the 
opposite sign; besides of that, it has only all "1" in the upper subdiagonal. 
Insert the initial values in the first row (range B10:D10). The column "x" was added only for 
clarity but it is not indispensable at all.Select the range B11:D40, where you want to otput the 
results and insert the function ODE_SYSL giving the suitable parameters: A, y
0
, h.  
Then press CTRL+SHIFT+ENTER  
The selected area will be filled with the numerical solution of the given system 
0
0.5
1
1.5
2
2.5
0
1
2
3
4
5
6
y1
Exact
Observe that the solution y
1
(x) is also the solution y(x) of the given ODE. Compare with the 
exact solution 
x
e
e
y x
x
x
cos
( )
2
+
=
Of course the above differential system can be also solved with other methods. 
In order to show the accuracy of the 
exponential method we put in a graph the 
average relative error 
e(x) = |yi - y(xi)| / | y(xi)| , 
obtained in the same condition, with 3 
different methods: Exponential, Euler, 
and Runge-Kutta 4. 
The graph is eloquent. The error of the 
Exponetial method is several times more 
accurate then the others 
1E-16
1E-14
1E-12
1E-10
1E-08
1E-06
0.0001
0.01
1
100
0
1
2
3
4
5
6
Euler
RK 4
Expo
Clearly it takes advantages using dedicated methods for linear differential equations. 
Another important feature of the exponential method is its high stability 
Let' s try the following test stiff system 
=−
=
2
1
2
2
1
21
20
'
y
y
y
y
y
=−
=
6770293
0.
(0.4)
6706555
(0.4)    0.
2
1
y
y
Xnumbers Tutorial 
229 
The exact solution is 
=−
+
=
x
x
x
x
e
e
y
e
y e
20
2
20
1
20
In the following graph we shows the numerical result obtained with three different integration 
methods, Exponential, Runge Kutta of 4
th
order and Euler, using different integration steps  
The Expo method reaches the integration length of about x = 19 with a step h = 0.4 
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0
5
10
15
20
Expo method
h = 0.42
The Runge-Kutta method, using a step h = 0.14 gives accurate only for x < 3; after that the 
solution begins to diverge. 
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0
5
10
15
20
Runge Kutta 4
h = 0.14
The Euler method, with a step h = 0.11, begins to oscillate even from the first steps. At this step 
the Euler method is completely unstable. 
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0
5
10
15
20
Euler method 
h = 0.11
As we can see the stability step of the Exponential method is here about 3 times greater than 
the others methods. 
Documents you may be interested
Documents you may be interested