﻿

# itextsharp pdf to image c# : Create a pdf form online application SDK tool html winforms wpf online book36-part1783

A.3 Exercises
625
b) Demonstrate the function n on the e equation x6sinπx = 0, , with
� = 10−13. Trydiﬀerent t starting valuesfor Newton’smethod: x
0
=
2.6,−1.2,1.5,1.7,0.6.Compare theresultswiththe exact solutions
x= ...,−2− 1,0,1,2,....
c) UsetheNewton_plotfunctiontoexploretheimpactofthestarting
point x
0
when solving the following nonlinear algebraic equations:
sin x = 0,
(A.50)
x= sinx,
(A.51)
x
5
=sinx,
(A.52)
x
4
sin x = 0,
(A.53)
x
4
=16,
(A.54)
x
10
=1,
(A.55)
tanh x = 0.tanhx
=x
10
.
(A.56)
Hint. Suchanexperimentalinvestigationisconvenientlyrecordedin
an IPython notebook. See Section H.1.9 for a quick introduction to
notebooks.
Filename: Newton2.py.
Exercise A.10: Implement the secant method
Newton’s method (A.34) for solvingf(x) = 0 requires the derivative
of the functionf(x). Sometimes this is diﬃcult or inconvenient. The
derivative can be approximated using the last two approximations to the
root, x
n−2
and x
n−1
:
f
(x
n−1
)≈
f(x
n−1
)− f(x
n−2
)
x
n−1
−x
n−2
.
Using this approximation in (A.34) leads to the Secant method:
x
n
=x
n−1
f(x
n−1
)(x
n−1
−x
n−2
)
f(x
n−1
)− f(x
n−2
)
, x
0
,x
1
given.
(A.57)
Heren = 2,3,.... Make a program that applies the Secant method to
solve x5 = sinx. Filename: Secant.py.
Exercise A.11: Test diﬀerent methods for root ﬁnding
Make a program for solving f(x) = 0 by Newton’s method (Sec-
tion A.1.10), the Bisection method (Section 4.10.2), and the Secant
Create a pdf form online - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
allow users to save pdf form; chrome save pdf form
Create a pdf form online - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
chrome pdf save form data; adding image to pdf form
626
A Sequences anddiﬀerence equations
method (Exercise A.10). For each method, the sequence of root ap-
proximations should be written out (nicely formatted) on the screen.
0
,andx
1
from the command line. Newton’s
method starts withx
0
,the Bisection method starts with the interval
[a,b], whereas the Secant method starts with x
0
and x
1
.
Run the program for each of the equations listed in Exercise A.9d.
You should ﬁrst plot thef(x) functions so you know how to choosex
0
,
x
1
,a, and b in each case. Filename: root_finder_examples.py.
Exercise A.12: Make diﬀerence equations for the Midpoint
rule
Use the ideas of Section A.1.7 to make a similar system of diﬀerence
equations and correspondingimplementation for the Midpoint integration
rule:
b
a
f(x)dx ≈ h
n−1
i=0
f(a −
1
2
h+ ih),
whereh = (b−a)/n andn counts the number of function evaluations
(i.e., rectangles that approximate the area under the curve). Filename:
diffeq_midpoint.py.
Exercise A.13: Compute the arc length of a curve
Sometimes one wants to measure the length of a curvey =f(x) for
x∈[a,b].Thearclengthfrom f(a)tosomepoint f(x)isdenotedby
s(x) and deﬁned through an integral
s(x) =
x
a
1+ [f(ξ)]2dξ.
(A.58)
We can compute s(x) via diﬀerence equations as explained in Sec-
tion A.1.7.
a) MakeaPythonfunctionarclength(f, a, b, n)thatreturnsan
arrays withs(x) values forn uniformly spaced coordinatesx in [a,b].
Heref(x) is the Python implementation of the function that deﬁnes the
curve we want to compute the arc length of.
b)Howcanyouverifythatthearclengthfunctionworkscorrectly?Con-
struct test case(s) and write corresponding test functions for automating
the tests.
Hint. Checktheimplementationforcurveswithknownarclength,e.g.,
asemi-circle and a straight line.
VB.NET PDF - Create PDF Online with VB.NET HTML5 PDF Viewer
C# Protect: Add Password to PDF; C# Form: extract value from NET: ASP.NET PDF Editor; VB.NET: WPF PDF Viewer; VB.NET: Create PDF from Word; VB.NET: Create PDF from
add email button to pdf form; adding text fields to pdf acrobat
VB.NET PDF Form Data Read library: extract form data from PDF in
RasterEdge .NET PDF SDK is such one provide various of form field edit functions. Demo Code to Retrieve All Form Fields from a PDF File in VB.NET.
convert word to editable pdf form; adding signature to pdf form
A.3 Exercises
627
c) Apply the function to
f(x) =
x
−2
=
1
e
−4t2
dt, x ∈ [−2,2].
Compute s(x) and plot it together with f(x).
Filename: arclength.py.
Exercise A.14: Find diﬀerence equations for computing sin x
The purpose of this exercise is to derive and implement diﬀerence equa-
tions for computing a Taylor polynomial approximation to sin x:
sin x ≈ S(x;n) =
n
j=0
(−1)
j
x2j+1
(2j + 1)!
.
(A.59)
To computeS(x;n) eﬃciently, write the sum asS(x;n) =
n
j=0
a
j
,and
derive a relation between two consecutive terms in the series:
a
j
=−
x2
(2j +1)2j
a
j−1
.
(A.60)
Introduces
j
=S(x;j− 1) anda
j
as the two sequences to compute. We
have s
0
=0 and a
0
=x.
a) Formulate the two diﬀerence equations for s
j
and a
j
.
ming can be solved for the Taylor polynomial approximation of ex.
b) Implement the system m of diﬀerence equations s in a a function
sin_Taylor(x, n), which h returns s
n+1
and |a
n+1
|. The latter r is
the ﬁrst neglected term in the sum (sinces
n+1
=
n
j=0
a
j
)and may act
as a rough measure of the size of the error in the Taylor polynomial
approximation.
c) Verifytheimplementationbycomputingthe diﬀerenceequations
forn = 2 by hand (or in a separate program) and comparing with the
output from thesin_Taylor function. Automate this comparison in a
test function.
d)Makeatableofs
n
for variousxandn values to verifythat the accuracy
of a Taylor polynomial improves asn increases andx decreases. Be
aware of the fact thatsine_Taylor(x, n) can give extremely inaccurate
approximations tosinx ifx is not suﬃciently small andn suﬃciently
large.
Filename: sin_Taylor_series_diffeq.py.
C# HTML5 PDF Viewer SDK to create PDF document from other file
C# Protect: Add Password to PDF; C# Form: extract value from NET: ASP.NET PDF Editor; VB.NET: WPF PDF Viewer; VB.NET: Create PDF from Word; VB.NET: Create PDF from
change text size pdf form; pdf form change font size
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
C# Protect: Add Password to PDF; C# Form: extract value from NET: ASP.NET PDF Editor; VB.NET: WPF PDF Viewer; VB.NET: Create PDF from Word; VB.NET: Create PDF from
pdf form maker; add fillable fields to pdf online
628
A Sequences anddiﬀerence equations
Exercise A.15: Find diﬀerence equations for computing cosx
Solve Exercise A.14 for the Taylor polynomial approximation tocosx.
(The relevant expression for the Taylor series is easily found in a
mathematics textbook or by searching on the Internet.) Filename:
cos_Taylor_series_diffeq.py.
Exercise A.16: Make a guitar-like sound
Given start valuesx
0
,x
1
,...,x
p
, the following diﬀerence equation is
known to create guitar-like sound:
x
n
=
1
2
(x
n−p
+x
n−p−1
), n = p+ 1,...,N .
(A.61)
With a sampling rater, the frequency of this sound is given byr/p. Make
aprogram with a functionsolve(x, p) which returns the solution array
xof(A.61).Toinitializethearray x[0:p+1]welookattwomethods,
which can be implemented in two alternative functions:
• x
0
=1, x
1
=x
2
=··· = x
p
=0
• x
0
,...,x
p
are uniformly distributed random numbers in [−1,1]
Import max_amplitudewrite, and play from the scitools.sound
module. Choose a sampling rater and setp =r/440 to create a 440 Hz
tone (A). Create an arrayx1 of zeros with length 3r such that the tone
will last for 3seconds. Initializex1 accordingto method 1above and solve
(A.61). Multiply thex1 array bymax_amplitude. Repeat this process
for an arrayx2 of length 2r, but use method 2 for the initial values and
choose p such that the tone is 392 Hz (G). Concatenate x1 and x2, call
writeandthen play toplaythesound.Asyouwillexperience,this
sound is amazingly similar to the sound of a guitar string, ﬁrst playing
Afor 3 seconds and then playing G for 2 seconds.
The method (A.61) is called the Karplus-Strong algorithm and was
discovered in 1979 by a researcher, Kevin Karplus, and his student
Alexander Strong, at Stanford University. Filename: guitar_sound.py.
Exercise A.17: Damp the bass in a sound ﬁle
Given a sequencex
0
,...,x
N−1
,the following ﬁlter transforms the se-
quence to a new sequence y
0
,...,y
N−1
:
y
n
=
x
n
,
n= 0
1
4
(x
n−1
−2x
n
+x
n+1
), 1 ≤ n ≤ N −2
x
n
,
n= N −1
(A.62)
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
C# Protect: Add Password to PDF; C# Form: extract value from NET: ASP.NET PDF Editor; VB.NET: WPF PDF Viewer; VB.NET: Create PDF from Word; VB.NET: Create PDF from
pdf form save; adding an image to a pdf form
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
C# Protect: Add Password to PDF; C# Form: extract value from NET: ASP.NET PDF Editor; VB.NET: WPF PDF Viewer; VB.NET: Create PDF from Word; VB.NET: Create PDF from
chrome save pdf with fields; change pdf to fillable form
A.3 Exercises
629
Ifx
n
represents sound,y
n
is the same sound but with the bass damped.
x = scitools.sound.Nothing_Else_Matters()
# or
x = scitools.sound.Ja_vi_elsker()
to get a sound sequence. Apply the ﬁlter (A.62) and play the resulting
sound. Plot the ﬁrst 300 values in thex
n
andy
n
signals to see graphically
what the ﬁlter does with the signal. Filename: damp_bass.py.
Exercise A.18: Damp the treble in a sound ﬁle
Solve Exercise A.17 to get some experience with coding a ﬁlter and
trying it out on a sound. The purpose of this exercise is to explore some
other ﬁlters that reduce the treble instead of the bass. Smoothing the
sound signal will in general damp the treble, and smoothing is typically
obtained by letting the values in the new ﬁltered sound sequence be an
average of the neighboring values in the original sequence.
The simplest smoothing ﬁlter can apply a standard average of three
neighboring values:
y
n
=
x
n
,
n= 0
1
3
(x
n−1
+x
n
+x
n+1
), 1 ≤ n ≤ N −2
x
n
,
n= N −1
(A.63)
Two other ﬁlters put less emphasis on the surrounding values:
y
n
=
x
n
,
n= 0
1
4
(x
n−1
+2x
n
+x
n+1
), 1 ≤ n ≤ N − 2
x
n
,
n= N − 1
(A.64)
y
n
=
x
n
,
n= 0,1
1
16
(x
n−2
+4x
n−1
+6x
n
+4x
n+1
+x
n+2
), 2 ≤ n ≤ N − 3
x
n
,
n= N − 2,N −1
(A.65)
Apply all these three ﬁlters to a sound ﬁle and listen to the result.
Plot the ﬁrst 300 values in thex
n
andy
n
signals for each of the three
ﬁlters to see graphically what the ﬁlter does with the signal. Filename:
damp_treble.py.
Exercise A.19: Demonstrate oscillatory solutions of (A.13)
a) Write a program to solve the diﬀerence equation (A.13):
C# PDF Form Data Read Library: extract form data from PDF in C#.
A best PDF document SDK library enable users abilities to read and extract PDF form data in Visual C#.NET WinForm and ASP.NET WebForm applications.
add date to pdf form; changing font size in pdf form field
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
C# Protect: Add Password to PDF; C# Form: extract value from NET: ASP.NET PDF Editor; VB.NET: WPF PDF Viewer; VB.NET: Create PDF from Word; VB.NET: Create PDF from
add picture to pdf form; change font size pdf form
630
A Sequences anddiﬀerence equations
y
n
=y
n−1
+qy
n−1
(1 −y
n−1
), n = 0,...,N .
0
,q, andN from the command line. The
variables and the equation are explained in Section A.1.5.
b) Equation(A.13)hasthesolution y
n
=1 asn→∞ . Demonstrate, by
running the program, that this is the case wheny
0
=0.3,q = 1, and
N= 50.
c) For larger q values, y
n
does not approach a constant limit, but
y
n
oscillates instead around the limiting value. Such oscillations are
sometimes observed in wildlife populations. Demonstrate oscillatory
solutions when q is changed to 2 and 3.
d) Itcouldhappenthat y
n
stabilizes at a constant level for largerN.
Demonstrate that this is not the case by running the program with
N= 1000.
Filename: growth_logistic2.py.
Exercise A.20: Automate computer experiments
It is tedious to run a program like the one from Exercise A.19 repeatedly
for a wide range of input parameters. A better approach is to let the
computer do the manual work. Modify the program from Exercise A.19
such that the computation ofy
n
and the plot is made in a function. Let
the title in the plot contain the parametersy
0
andq (N is easily visible
from thex axis). Also let the name of the plot ﬁle reﬂect the values of
y
0
,q, andN. Then make loops overy
0
andq to perform the following
more comprehensive set of experiments:
• y
0
=0.01,0.3
• q = 0.1,1,1.5,1.8,2,2.5,3
• N = 50
How does the initial condition (the value y
0
) seem to inﬂuence the
solution?
Hint. If you do no want to get a lot of plots on the screen, which must
be killed, drop the call toshow() in Matplotlib or useshow=False as
argument to plot in SciTools.
Filename: growth_logistic3.py.
Exercise A.21: Generate an HTML report
Extend the program made in Exercise A.20 with a report containing all
the plots. The report can be written in HTML and displayed by a web
browser. The plots must then be generated in PNG format. The source
of the HTML ﬁle will typically look as follows:
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
C# Protect: Add Password to PDF; C# Form: extract value from NET: ASP.NET PDF Editor; VB.NET: WPF PDF Viewer; VB.NET: Create PDF from Word; VB.NET: Create PDF from
change font size pdf form reader; create a pdf form to fill out
VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
NET. Create multipage Tiff image files from PDF in VB.NET project. NET. Convert PDF file to Tiff and jpeg in ASPX webpage online. Online
create a pdf form online; adding text to a pdf form
A.3 Exercises
631
<html>
<body>
<p><img src="tmp_y0_0.01_q_0.1_N_50.png">
<p><img src="tmp_y0_0.01_q_1_N_50.png">
<p><img src="tmp_y0_0.01_q_1.5_N_50.png">
<p><img src="tmp_y0_0.01_q_1.8_N_50.png">
...
<p><img src="tmp_y0_0.01_q_3_N_1000.png">
</html>
</body>
Let the program write out the HTML text to a ﬁle. You may let the func-
tion makingthe plots return the name of the plot ﬁle such that this string
can be inserted in the HTML ﬁle. Filename: growth_logistic4.py.
Exercise A.22: Use a class to archive and report experiments
The purpose of this exercise is to make the program from Exercise A.21
more ﬂexible by creating a Python class that runs and archives all the
experiments (provided you know how to program with Python classes).
Here is a sketch of the class:
class GrowthLogistic:
def __init__(self, show_plot_on_screen=False):
self.experiments = []
self.show_plot_on_screen = show_plot_on_screen
self.remove_plot_files()
def run_one(self, y0, q, N):
"""Run one experiment."""
# Compute y[n] in a loop...
plotfile = ’tmp_y0_%g_q_%g_N_%d.png’ % (y0, q, N)
self.experiments.append({’y0’: y0, ’q’: q, ’N’: N,
’mean’: mean(y[20:]),
’y’: y, ’plotfile’: plotfile})
# Make plot...
def run_many(self, y0_list, q_list, N):
"""Run many experiments."""
for q in q_list:
for y0 in y0_list:
self.run_one(y0, q, N)
def remove_plot_files(self):
"""Remove plot files with names tmp_y0*.png."""
import os, glob
for plotfile in glob.glob(’tmp_y0*.png’):
os.remove(plotfile)
def report(self, filename=’tmp.html’):
"""
Generate an HTML report with plots of all
experiments generated so far.
"""
# Open file and write HTML header...
for e in self.experiments:
html.write(’<p><img src="%s">\n’ % e[’plotfile’])
# Write HTML footer and close file...
Each time therun_one method is called, data about the current experi-
ment is stored in theexperiments list. Note thatexperiments contains
632
A Sequences anddiﬀerence equations
alist of dictionaries. When desired, we can call thereport method to
collect all the plots made so far in an HTML report. A typical use of the
class goes as follows:
N = 50
g = GrowthLogistic()
g.run_many(y0_list=[0.01, 0.3],
q_list=[0.1, 1, 1.5, 1.8] + [2, 2.5, 3], N=N)
g.run_one(y0=0.01, q=3, N=1000)
g.report()
Make a complete implementation of classGrowthLogistic and test it
with the small program above. The program ﬁle should be constructed
as a module. Filename: growth_logistic5.py.
Exercise A.23: Explore logistic growth interactively
ClassGrowthLogistic from Exercise A.22 is very well suited for inter-
active exploration. Here is a possible sample session for illustration:
>>> from growth_logistic5 import GrowthLogistic
>>> g = GrowthLogistic(show_plot_on_screen=True)
>>> q = 3
>>> g.run_one(0.01, q, 100)
>>> y = g.experiments[-1][’y’]
>>> max(y)
1.3326056469620293
>>> min(y)
0.0029091569028512065
Extend this session with an investigation of the oscillations in the solution
y
n
.For this purpose, make a function for computing the local maximum
valuesy
n
and the corresponding indices where these local maximum
values occur. We can say that y
i
is a local maximum value if
y
i−1
<y
i
>y
i+1
.
Plot the sequence of local maximum values in a new plot. IfI
0
,I
1
,I
2
,...
constitute the set of increasing indices corresponding to the local maxi-
mum values, we can deﬁnethe periods of the oscillations asI
1
−I
0
,I
2
−I
1
,
and so forth. Plot the length of the periods in a separate plot. Repeat this
investigation for q = 2.5. Filename: GrowthLogistic_interactive.py.
Exercise A.24: Simulate the price of wheat
The demand for wheat in year t is given by
D
t
=ap
t
+b,
wherea< 0,b> 0, andp
t
is the price of wheat. Let the supply of wheat
be