c# parse pdf to xml : Get pdf metadata application Library tool html asp.net azure online xnumbers-tutorial123-part877

Xnumbers Tutorial 
230 
ODE for integral function solving 
The integral function y(x) that we want to 
calculate is defined as 
Taking the derivatives of both sides and 
remembering Leibniz's rule, we have 
=
x
x
f xdx
y x
0
( )
( )
 
( )
'( )
f x
y x
=
,      
( ) ) 0
0
y x x =
As we can see, the computing of any integral function is equivalent of solving an ODE. 
Example. Plot the integral function of  
x
xe
f x
 
( )
Insert in the cell A1 the expression 
y' = x*exp(-x)  
Choose a suitable step, for example h = 0.15. 
Select the range A7: B54 and insert the 
function ODE_RK4 with crtl+shift+enter 
In the adjacent column C we insert the 
integration function f(x) = x*exp(-x) 
Now select all the range A7:C54 and plot 
together. 
The result is shown in the following graph 
0
0.2
0.4
0.6
0.8
1
1.2
0
2
4
6
8
f(x)
∫f(x)
Comparing with the exact integral function  
x
e
x
y x
= − − +
( ) ) 1 1 ( ( 1)
, we have obtained a good 
solution with an average error of about 5E-7. For this example we have taken about 50 points. 
Remark. This method works fine when the function f(x) is smooth together with its derivative 
and has no singularity in the integration range. Otherwise we have to choose some quadrature 
algorithm as the double exponential method (see chap Integration for further details) 
Get 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
pdf metadata viewer; modify pdf metadata
Get 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
pdf xmp metadata viewer; edit pdf metadata acrobat
Xnumbers Tutorial 
231 
Example. Solve the following linear differential equation of 3
rd
order. 
0
''' 5 5 '' ' 33 3 ' 29
=
+
+
+
y
y
y
y
with  
(0 )=2
y
3
'(0)
=−
=
y
20
''(0)
=−
y
This linear equation with constant terms can be transformed into the equivalent differential 
system: 
=
3
2
1
3
2
1
5
33
29
1
0
0
0
1
0
'
'
'
y
y
y
y
y
y
with    
=−
=−
=
20
(0)
3
(0)
(0) 2
3
2
1
y
y
y
Solving numerically this differential 
system is very rapid. 
Simply write the system matrix A in the 
worksheet, for example, in the range 
B5:D7. Insert the row starting values,  
[2,-3,-20] in the range B10:D10, where 
you want to begin the functions 
tabulation. Choose a suitable step that 
you like, for example h = 0.05 
Then, select the range B11:D60 and 
insert the function  
=ODE_SYSL(B5:D7;B10:D10;B3) 
And give the ctrl+shift+enter key 
sequence. 
The selected cells will be automatically filled with the calculated solutions. 
Compare with the exact solution 
cos(5 )
2
x
e
y e
x
x
+
=
The following graph shows the exact solutions (continue lines) compared with the calculated 
solutions (dotted lines). We note a global good fitting.  
-5
-4
-3
-2
-1
0
1
2
3
4
5
0
0.5
1
1.5
2
2.5
y1
y2
y3
C# TIFF: TIFF Metadata Editor, How to Write & Read TIFF Metadata
TIFFDocument doc = new TIFFDocument(@"c:\demo1.tif"); // Get Xmp metadata for string. TagCollection collection = doc.GetTagCollection(0); // Get Exif metadata.
edit pdf metadata; clean pdf metadata
VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
' Get PDF document. Dim fileInpath As String = "" Dim doc As PDFDocument = New PDFDocument(fileInpath) ' Get all annotations. ' Get PDF document.
pdf xmp metadata; adding metadata to pdf files
Xnumbers Tutorial 
232 
Macro ODE Solver 
This macro performs the numerical integration of ordinary differential equations systems (ODE) 
using the Runge-Kutta-Fehlberg method of 4th order.  
It is useful for solving ODE with initial values (Cauchy problem) 
( , , )
'
y =f f x x y
  
0
0
( )
y
y x
=
max
0
x x
x
≤ ≤
as well an ODE system 
' ( ( , , )
y f f y
= x
,   
0
0
( )
y
y
x =
x
max
0
x x
x
≤ ≤
where 
[
]
T
n
y y y y
...
,
2
1
y=
is the vector of depend variables 
The macro works with equation definited by worksheet formulas (on site) or even with equation 
definited by symbolic string. The macro implements a control of the local error and changes the 
integration step consequently Therefore the precision can be set independently from the 
tabulating step. The independence of the integration step from the tabulation step is the main 
feature of this macro. 
The macro implement a predefined simple input schema. Let's see how to use it with a simple 
example 
Example 2. Find a numerical solution of this simple differential system 
=−
=
2
1
2
2
1
5
' 4
'
y
y
y
y
y
with     
=
=
(0) 2
(0) 0
2
1
y
y
and with   
5
0
x
x
Arrange the worksheet reserving two columns for [y
1
, y
2
] and the two adjacent columns for the 
derivatives [y
1
', y
2
']. In the first column set a x-grid with 50 step of increment x = 0.1. 
Then select the area A4:E55 and start the macro ODE Solver. 
Differential Equations links to the cells where are the equation formulas: = C5, = -
(4*B5+5*C5) . 
Variables are the cells (x, y
1
, y
2
) referenced by the formulas; in that case A4:C5 
Starting values indicate the starting cells of the table (they may or not may coincide with the 
variables cells). 
If we have followed the above schema, the input fields are correctly filled. 
We have only to set the required precision:   Err. Max = 1E-6 
Optionally, if we want the macro to fill also the derivative columns, activate the check box 
Press "Run" to start the RKF integration algorithm. After few seconds and about 1400 function 
evaluations, the macro output its result. Each solution node has a relative error less then 1E-6.  
Compare it with the exact solution 
C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
Get PDF document. String fileInpath = @""; PDFDocument doc = new PDFDocument(fileInpath); // Get all annotations. Get PDF document.
view pdf metadata; view pdf metadata in explorer
How to C#: Modify Image Metadata (tag)
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel How to C#: Modify Image Metadata (tag). With XImage.Raster, you can get the image tags and modify them rapidly
online pdf metadata viewer; analyze pdf metadata
Xnumbers Tutorial 
233 
x
x
e
y e
4
1
=
x
x
e
e
y
4
2
4
+
=−
The following graphs shows the exact solution (pink line) and the calculated solution (dotted 
line) 
Solution y
1
(x) 
Solution y
2
(x) 
Note the general good fitting. It is a remarkable result overall if we consider the relative few 
points in the initial range where both functions have high swinging.  
For further details see " ODE tutorial"  by Foxes Team, 2006 
Macro ODE - Slope Grid 
This macro generate and visualize the slope y'(x) of a 1
st
ODE solution over a rectangular 
domain. It is didactically useful for studying the 1
st
order differential equation 
' ( ( , , )
y = = f f x x y
For example we have to study the following equation 
x
y y y e
'+ =
       
y
xe
y
x
=
'
Therefore we have to plot the slope given by the bivariate function 
y
e
f x x y
x
=
( , , )
in a 
suitable rectangular domain, for example in D = {-2  x  2 , {-2  y  2 }  
For using this macro, set the variables x and y in 
adjacent cells, for example I4 and J4. Then, in the 
adjacent right cell K4, insert the formula defining  
y'. thus: = EXP(-I4)-J4 
Select the range I4:K4 and start the macro ODE Slope Field 
Option Tab 
The Grid number, from 4 to 24, set the 
density of the grid. The dots check box 
adds the grid points to the plot. The axes 
check box adds the x-y axes 
VB.NET PDF: Get Started with PDF Library
rotate PDF pages, C#.NET search text in PDF, C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET VB.NET PDF: Get Started with .NET PDF Library Using VB.
endnote pdf metadata; bulk edit pdf metadata
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Scan image to PDF, tiff and various image formats. Get image information, such as its location, zonal information, metadata, and so on.
pdf xmp metadata editor; batch pdf metadata
Xnumbers Tutorial 
234 
In the Axes tab we can set the domain D.  Click the "Draw" button to generate the plot 
The macro generates a graphical object 
showing the slope y' of each point of the 
grid. 
Every solution y(x) of the differential 
equation follows the direction of the slope 
field. Therefore the field gives a global 
view of the solutions crossing the given 
domain. 
For example, the solution crossing the 
point (0,0) is  
y e e x
−x
=
( red line) 
We can see that this solution evolves 
following the slope directions. In this case, 
it never crosses the slope in any point. 
Other interesting examples 
xy
y
' =−2
2
1
'
y
y x
=
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
Capture image from whole PDF based on special characteristics. Get image information, such as its location, zonal information, metadata, and so on.
batch pdf metadata editor; read pdf metadata
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
You can easily get pages from a PDF file, and then use these pages to create and output a new PDF file. Pages order will be retained.
edit pdf metadata online; change pdf metadata creation date
Xnumbers Tutorial 
235 
Nonlinear Equations 
Bisection 
=Zero_bisec(a, b, func, [step], [param]) 
Approximates the zero of a monovariable function f(x) with the bisection method 
f( x)=0
f
This function needs two starting points [a, b] bracketing the zero. 
Parameter "func" is a math expression string containing the symbolic function f(x)  
Examples of correct function definitions are: 
-2*ln(x)   ,    2*cos(x)-x   ,  3*x^2-10*exp(-4*x) , etc. 
The optional parameter "step" sets the maximum number of steps allowed. If omitted the 
function iterates still the convergence. Step = 1 is useful to study the method step-by-step 
Param contains labels and values for parameters substitution (if there are) 
At the first step, the function returns a new segment  
[ a
1
, b
1
]   where   a
1
< x
0
< b
1
At the second step, the function return a new segment 
[ a
2
, b
2
  where    a
1
< a
2
< x
0
< b
2
< b
1
After several iterations, the interval [a
n
, b
n
], with n>>1, will be very closed to the value x
0
Example: Find the approximated zero of the following equation and show the first steps of the 
bisection method. 
5 0
( )
log
2
( )
3 log
10
10
− =
+
x
x
The plot indicates two zeros: one trivial   
x = 10 and another in the interval 2 < x < 9 
Starting the algorithm with a = 2 
and b = 9 we get 
x
0
= 4.64158883361278   
The root approximates the exact 
zero x
0
= 100
1/3
with an error < 1E-14  
C# PDF insert text Library: insert text into PDF content in C#.net
String inputFilePath = Program.RootPath + "\\" 1.pdf"; PDFDocument doc = new PDFDocument(inputFilePath); // get a text manager from the document object
pdf keywords metadata; pdf metadata reader
Xnumbers Tutorial 
236 
We can also solve this equation step-by-step in order to investigate how this algorithm works 
As we can see, the convergence is quite low but very robust because the zero always remains 
bracketed between the interval limits [a, b]. The error estimation is also very quick. Simply 
taking the difference |b-a| 
Secant 
=Zero_sec(a, b, func, [step], [param], [DgtMax]) 
Approximates the zero of a monovariable function f(x) with the secant method 
f( x)=0
f
This function needs two starting points [a, b] bracketing the zero. 
This version accepts also a worksheet function. 
The parameter "Func" is a math string containing the symbolic function f(x)  or a range of two 
adjacent cells containing the worksheet functions [ f(a) , f(b) ]  (see example). 
Examples of correct symbolic function definitions are: 
-2*ln(x)   ,    2*cos(x)-x   ,  3*x^2-10*exp(-4*x) , etc. 
The optional parameter "Step" sets the maximum number of iterations. If omitted, the function 
iterates still the convergence. Step = 1 is useful for investigation about the algorithm. 
"Param" contains labels and values for parameters substitution (if there are) 
Both parameters "step" and "param" are ignored if funct is not a symbolic function. 
The optional parameter "DgtMax" set the number of the precision digits. If omitted, the function 
works in the faster double precision. 
At the first step, the function returns a new segment  
[ a
1
, b
1
]   where   a
1
< x
0
< b
1
At the second step, the function return a new segment 
[ a
2
, b
2
  where    a
1
< a
2
< x
0
< b
2
< b
1
After several iterations, the interval [a
n
, b
n
], with n>>1, will be very closed to the value x
0
Use the CTRL+SHIFT+ENTER sequence to paste this function 
Example: Find the approximated zero of the following equation and show the first steps of the 
secant method. 
) 0
sin(
ln(2))
3
exp(
⋅ =
− ⋅
x
x
π
The plot indicates one zeros into the interval  0 < x < 0.5  
Xnumbers Tutorial 
237 
-1
-0.5
0
0.5
1
1.5
0
0.2
0.4
0.6
0.8
1
exp(-6*x*Ln(2))-sin(pi*x)
Starting the algorithm with a = 0 and b = 0.5 we get  x
0
= 0.166666666666667   
The root  approximates the 
exact zero  x
0
= 1/6  with 
error < 1E-15  
Let’s see now the iteration trace setting the parameter step = 1 
As we can see this convergence is much faster than the one of the bisection method. On the 
other hand, it is no guaranteed that the zero always remains bracketed into the interval. 
Zero finder for worksheet function 
Example we want to find the zero of the function f(x) = x  cos(x) , using the standard 
worksheet function = COS(x). Arrange a worksheet like the following 
Xnumbers Tutorial 
238 
Insert in A3:B3  the array function zero_sec(a, b, func) using the sequence Ctrl+Shift+Enter 
In this case, none parameter is necessary because the function always returns one step of the 
secant algorithm. 
Now insert the functions in the range C3:D3 by simply dragging-down the range C2:D2 
Insert the function =ABS(A3-B3) in E3. This is not necessary but it is usefull for checking the 
convergence. Now, let's select the last row A3:E3 and drag it down until the convergence 
shows the minimal error 
We can compute this result also in multiprecision. In this case we have use, of course, the 
equivalent  
x-functions; in cell D2 = xsub(A4, xcos(A4)), E2 = xsub(B4, xcos(B4)) and in cell E3 = 
ABS(xsub(A5, B5)). 
In the range A3:B3 insert the array function {Zero_sec(A4, B4, C4:D4, , , 30)}.  
The parameter DgtMax = 30 switches the function in multiprecision mode 
Following the other steps we get the result below 
As we can see, the final value is 
x = 0.739085133215160641655312087673 
that is the zero of the function f(x) = x  cos(x)   with 30 significant digits 
Xnumbers Tutorial 
239 
Derivatives 
First Derivative 
=Diff1(x, func, [lim], [param])   
Approximates the first derivative of an univariate function f(x) at the given point x 
( )
'( )
f x
dx
d
f x
=
The parameter “func”  is a math expression string containing the symbolic function f(x)  
Examples of function definition are: 
-2*Ln(x) ,  2*cos(x) ,  3*x^2-10*exp(-4*x) , x^2+4*x+1 , etc. 
The optional parameter “lim” (default = 0) sets the way how the limit approach to x. If lim = 1, it 
approaches from the right; if lim = -1, it approaches from the left;  
if lim = 0 , it approaches centrally. That is, it returns the following derivatives 
=
=
=
=
+
→ +
→ −
'( )
( )
lim
'( )
( )
lim
'( )
( )
lim
'( )
0
0
0
f x
f x
f x
f x
f x
f x
f x
h
h
h
"Param" contains labels and values for parameters substitution (if there are) 
This function uses the following formulas to approximate each derivative 
(
)
4 )
3 ) ) 3 3 (
2 ) ) 16 6 (
) 36 6 (
25 ( ( ) ) 48 8 (
12
1
'( )
h
f x
h
f x
h
f x
f x x h
f x
h
f x
+
− +
(
)
2 )
(
)
) 8 8 (
2 ) ) 8 8 (
(
12
1
'( )
h
f x
f x x h
f x x h
h
f x
h
f x
+
+
+
(
)
4 )
2 ) ) 16 ( ( 3 3 ) ) 3 3 (
) 36 6 (
25 ( ( ) ) 48 8 (
12
1
'( )
h
f x
h
f x
h
f x
f x x h
f x
h
f x
+
+
+
+
+ +
+
Example. Evaluate numerically the left, right and central derivatives of the given function at the 
point x = 0, and check if the given function is differentiable in that point 
| | | 1
( )
2
+
+
=
x
x
x
f x
As we can see all derivatives are equal, so the function is differentiable in x = 0 
Documents you may be interested
Documents you may be interested