Download ebooks file MATLAB R2020a Symbolic Math Toolbox User s Guide Mathworks all chapters
Download ebooks file MATLAB R2020a Symbolic Math Toolbox User s Guide Mathworks all chapters
com
https://textbookfull.com/product/matlab-r2020a-symbolic-
math-toolbox-user-s-guide-mathworks/
OR CLICK BUTTON
DOWNLOAD NOW
https://textbookfull.com/product/matlab-econometrics-toolbox-user-s-
guide-the-mathworks/
textboxfull.com
https://textbookfull.com/product/matlab-bioinformatics-toolbox-user-s-
guide-the-mathworks/
textboxfull.com
https://textbookfull.com/product/matlab-mapping-toolbox-user-s-guide-
the-mathworks/
textboxfull.com
https://textbookfull.com/product/matlab-optimization-toolbox-user-s-
guide-the-mathworks/
textboxfull.com
MATLAB Trading Toolbox User s Guide The Mathworks
https://textbookfull.com/product/matlab-trading-toolbox-user-s-guide-
the-mathworks/
textboxfull.com
https://textbookfull.com/product/matlab-computer-vision-toolbox-user-
s-guide-the-mathworks/
textboxfull.com
https://textbookfull.com/product/matlab-curve-fitting-toolbox-user-s-
guide-the-mathworks/
textboxfull.com
https://textbookfull.com/product/matlab-fuzzy-logic-toolbox-user-s-
guide-the-mathworks/
textboxfull.com
https://textbookfull.com/product/matlab-global-optimization-toolbox-
user-s-guide-the-mathworks/
textboxfull.com
Symbolic Math Toolbox™
User's Guide
R2020a
How to Contact MathWorks
Phone: 508-647-7000
Getting Started
1
Symbolic Math Toolbox Product Description . . . . . . . . . . . . . . . . . . . . . . . 1-2
Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
v
Copy and Paste Symbolic Output in Live Editor . . . . . . . . . . . . . . . . . . . . 2-15
Differentiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-46
Derivatives of Expressions with Several Variables . . . . . . . . . . . . . . . . . . 2-47
More Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-48
Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-56
One-Sided Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-56
Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-59
Integration with Real Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-61
Integration with Complex Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-62
High-Precision Numerical Integration Using Variable-Precision Arithmetic
..................................................... 2-63
vi Contents
Simplify Symbolic Expressions Using Live Editor Task . . . . . . . . . . . . . . 2-94
vii
Symbolic Linear Algebra Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-141
Variable-Precision Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-142
Symbolic Investigation of Singular Value . . . . . . . . . . . . . . . . . . . . . . . 2-143
Eigenvalues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-145
viii Contents
Solve Differential Algebraic Equations (DAEs) . . . . . . . . . . . . . . . . . . . . 2-194
ix
Generate MATLAB Function Blocks from Symbolic Expressions . . . . . 2-270
Generate and Edit a Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-270
Control the Order of Input Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-270
Name the Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-270
Functions
4
x Contents
1
Getting Started
Symbolic Math Toolbox provides functions for solving, plotting, and manipulating symbolic math
equations. You can create, run, and share symbolic math code using the MATLAB Live Editor. The
toolbox provides functions in common mathematical areas such as calculus, linear algebra, algebraic
and ordinary differential equations, equation simplification, and equation manipulation.
Symbolic Math Toolbox lets you analytically perform differentiation, integration, simplification,
transforms, and equation solving. You can perform dimensional computations and conversions using
SI and US unit systems. Your computations can be performed either analytically or using variable-
precision arithmetic, with the results displayed in mathematical typeset.
You can share your symbolic work with other MATLAB users as live scripts or convert them to HTML
or PDF for publication. You can generate MATLAB functions, Simulink® function blocks, and
Simscape™ equations directly from symbolic expressions.
Key Features
• Symbolic integration, differentiation, transforms, and linear algebra
• Algebraic and ordinary differential equation (ODE) solvers
• Simplification and manipulation of symbolic expressions
• Unit systems for specifying, converting, and computing using SI, US, and custom unit systems
• Plotting of analytical functions in 2D and 3D
• Symbolic expression conversion to MATLAB, Simulink, Simscape, C, Fortran, and LaTeX code
• Variable-precision arithmetic
1-2
Create Symbolic Numbers, Variables, and Expressions
Create a symbolic number by using sym and compare it to the same floating-point number.
sym(1/3)
1/3
ans =
1/3
ans =
0.3333
The symbolic number is represented in exact rational form, while the floating-point number is a
decimal approximation. The symbolic result is not indented, while the standard MATLAB result is
indented.
Calculations on symbolic numbers are exact. Demonstrate this exactness by finding sin(pi)
symbolically and numerically. The symbolic result is exact, while the numeric result is an
approximation.
sin(sym(pi))
sin(pi)
ans =
0
ans =
1.2246e-16
To learn more about symbolic representation of numbers, see “Numeric to Symbolic Conversion” on
page 2-136.
• sym – Create numbered symbolic variables or create symbolic variables in MATLAB functions.
• syms – Create fresh symbolic variables for interactive symbolic workflows, that is, for symbolic
variable creation at the MATLAB command line or in MATLAB live scripts. A fresh symbolic
variable does not have any assumptions.
The syms command is shorthand for the sym syntax, but the two functions handle assumptions
differently. For more details, see “Reuse Names of Symbolic Objects” on page 1-5.
Create the symbolic variables x and y using syms and sym, respectively.
syms x
y = sym('y')
1-3
1 Getting Started
The first command creates a symbolic variable x in the MATLAB workspace with the value x assigned
to the variable x. The second command creates a symbolic variable y with the value y.
With syms, you can create multiple variables in one command. Create the variables a, b, and c.
syms a b c
If you want to create a MATLAB array of numbered symbolic variables, the syms syntax is
inconvenient. Therefore, use sym instead to create an array of many numbered symbolic variables.
Clear the workspace. Create a row vector containing the symbolic variables a1, ..., a20 and
assign it to the MATLAB variable A. Display the variable in the MATLAB workspace.
clear all
A = sym('a', [1 20])
whos
A =
[ a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,...
a11, a12, a13, a14, a15, a16, a17, a18, a19, a20]
A 1x20 8 sym
By combining sym and syms, you can create many fresh symbolic variables with corresponding
variables name in the MATLAB workspace.
Clear the workspace. Create the fresh symbolic variables a1, ..., a10 and assign them the
MATLAB variable names a1, ..., a10, respectively. Display the variables in the MATLAB
workspace.
clear all
syms(sym('a', [1 10]))
whos
a1 1x1 8 sym
a10 1x1 8 sym
a2 1x1 8 sym
a3 1x1 8 sym
a4 1x1 8 sym
a5 1x1 8 sym
a6 1x1 8 sym
a7 1x1 8 sym
a8 1x1 8 sym
a9 1x1 8 sym
The MATLAB workspace contains 10 MATLAB variables that are symbolic variables.
The syms command is a convenient shorthand for the sym syntax, and its typical use is to create fresh
symbolic variables for interactive symbolic workflows. Use the sym syntax to create the following:
1-4
Create Symbolic Numbers, Variables, and Expressions
1+ 5
φ=
2
The command
phi = (1 + sqrt(sym(5)))/2;
achieves this goal. Now you can perform various mathematical operations on phi. For example,
f = phi^2 - phi - 1
returns
f =
(5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2
Now suppose you want to study the quadratic function f = ax2 + bx + c. First, create the symbolic
variables a, b, c, and x:
syms a b c x
Tip To create a symbolic number, use the sym command. Do not use the syms function to create a
symbolic expression that is a constant. For example, to create the expression whose value is 5, enter
f = sym(5). The command f = 5 does not define f as a symbolic expression.
returns
f =
a + b
1-5
1 Getting Started
syms f
f
f =
f
You can use the syms command to clear variables of definitions that you previously assigned to them
in your MATLAB session. syms clears the assumptions of the variables: complex, real, integer, and
positive. These assumptions are stored separately from the symbolic object. However, recreating a
variable using sym does not clear its assumptions. For more information, see “Delete Symbolic
Objects and Their Assumptions” on page 1-25.
See Also
More About
• “Create Symbolic Functions” on page 1-7
• “Create Symbolic Matrices” on page 1-9
• “Choose syms or sym Function” on page 2-5
• “Perform Symbolic Computations” on page 1-11
• “Use Assumptions on Symbolic Variables” on page 1-24
1-6
Create Symbolic Functions
Create a symbolic function f with variables x and y by using syms. Creating f automatically creates
x and y.
syms f(x,y)
f(x,y) = x^2*y
f(x, y) =
x^2*y
f(3,2)
ans =
18
Symbolic functions accept array inputs. Calculate f for multiple values of x and y.
xVal = 1:5;
yVal = 3:7;
f(xVal,yVal)
ans =
[ 3, 16, 45, 96, 175]
You can differentiate symbolic functions, integrate or simplify them, substitute their arguments with
values, and perform other mathematical operations. For example, find the derivative of f(x,y) with
respect to x. The result dfx is also a symbolic function.
dfx = diff(f,x)
dfx(x,y) =
2*x*y
Calculate df(x,y) at x = y + 1.
dfx(y+1,y)
ans =
2*y*(y + 1)
If you are creating a constant function, such as f(x,y) = 1, you must first create f(x,y). If you do
not create f(x,y), then the assignment f(x,y) = 1 throws an error.
1-7
1 Getting Started
See Also
More About
• “Create Symbolic Numbers, Variables, and Expressions” on page 1-3
• “Create Symbolic Matrices” on page 1-9
• “Perform Symbolic Computations” on page 1-11
• “Use Assumptions on Symbolic Variables” on page 1-24
1-8
Create Symbolic Matrices
syms a b c
A = [a b c; c a b; b c a]
A =
[ a, b, c]
[ c, a, b]
[ b, c, a]
Since matrix A is circulant, the sum of elements over each row and each column is the same. Find the
sum of all the elements of the first row:
sum(A(1,:))
ans =
a + b + c
To check if the sum of the elements of the first row equals the sum of the elements of the second
column, use the isAlways function:
isAlways(sum(A(1,:)) == sum(A(:,2)))
ans =
logical
1
From this example, you can see that using symbolic objects is very similar to using regular MATLAB
numeric objects.
1-9
1 Getting Started
A = sym('A', [2 4])
A =
[ A1_1, A1_2, A1_3, A1_4]
[ A2_1, A2_2, A2_3, A2_4]
To control the format of the generated names of matrix elements, use %d in the first argument:
A = sym('A%d%d', [2 4])
A =
[ A11, A12, A13, A14]
[ A21, A22, A23, A24]
A = hilb(3)
A =
1.0000 0.5000 0.3333
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
By applying sym to A
A = sym(A)
you can obtain the precise symbolic form of the 3-by-3 Hilbert matrix:
A =
[ 1, 1/2, 1/3]
[ 1/2, 1/3, 1/4]
[ 1/3, 1/4, 1/5]
For more information on numeric to symbolic conversions, see “Numeric to Symbolic Conversion” on
page 2-136.
See Also
More About
• “Create Symbolic Numbers, Variables, and Expressions” on page 1-3
• “Create Symbolic Functions” on page 1-7
• “Perform Symbolic Computations” on page 1-11
• “Use Assumptions on Symbolic Variables” on page 1-24
1-10
Perform Symbolic Computations
In this section...
“Differentiate Symbolic Expressions” on page 1-11
“Integrate Symbolic Expressions” on page 1-12
“Solve Equations” on page 1-13
“Simplify Symbolic Expressions” on page 1-15
“Substitutions in Symbolic Expressions” on page 1-16
“Plot Symbolic Functions” on page 1-18
For in-depth information on taking symbolic derivatives see “Differentiation” on page 2-46.
To differentiate a symbolic expression, use the diff command. The following example illustrates how
to take a first derivative of a symbolic expression:
syms x
f = sin(x)^2;
diff(f)
ans =
2*cos(x)*sin(x)
Partial Derivatives
For multivariable expressions, you can specify the differentiation variable. If you do not specify any
variable, MATLAB chooses a default variable by its proximity to the letter x:
syms x y
f = sin(x)^2 + cos(y)^2;
diff(f)
ans =
2*cos(x)*sin(x)
For the complete set of rules MATLAB applies for choosing a default variable, see “Find a Default
Symbolic Variable” on page 2-3.
1-11
1 Getting Started
syms x y
f = sin(x)^2 + cos(y)^2;
diff(f, y)
ans =
-2*cos(y)*sin(y)
To take a second derivative of the symbolic expression f with respect to a variable y, enter:
syms x y
f = sin(x)^2 + cos(y)^2;
diff(f, y, 2)
ans =
2*sin(y)^2 - 2*cos(y)^2
You get the same result by taking derivative twice: diff(diff(f, y)). To take mixed derivatives,
use two differentiation commands. For example:
syms x y
f = sin(x)^2 + cos(y)^2;
diff(diff(f, y), x)
ans =
0
For in-depth information on the int command including integration with real and complex
parameters, see “Integration” on page 2-59.
Suppose you want to integrate a symbolic expression. The first step is to create the symbolic
expression:
syms x
f = sin(x)^2;
int(f)
ans =
x/2 - sin(2*x)/4
If the expression depends on multiple symbolic variables, you can designate a variable of integration.
If you do not specify any variable, MATLAB chooses a default variable by the proximity to the letter x:
1-12
Perform Symbolic Computations
syms x y n
f = x^n + y^n;
int(f)
ans =
x*y^n + (x*x^n)/(n + 1)
For the complete set of rules MATLAB applies for choosing a default variable, see “Find a Default
Symbolic Variable” on page 2-3.
You also can integrate the expression f = x^n + y^n with respect to y
syms x y n
f = x^n + y^n;
int(f, y)
ans =
x^n*y + (y*y^n)/(n + 1)
syms x y n
f = x^n + y^n;
int(f, n)
ans =
x^n/log(x) + y^n/log(y)
Definite Integrals
To find a definite integral, pass the limits of integration as the final two arguments of the int
function:
syms x y n
f = x^n + y^n;
int(f, 1, 10)
ans =
piecewise(n == -1, log(10) + 9/y, n ~= -1,...
(10*10^n - 1)/(n + 1) + 9*y^n)
syms x
int(sin(sinh(x)))
ans =
int(sin(sinh(x)), x)
Solve Equations
You can solve different types of symbolic equations including:
1-13
1 Getting Started
For in-depth information on solving symbolic equations including differential equations, see “Equation
Solving”.
Use the double equal sign (==) to define an equation. Then you can solve the equation by calling
the solve function. For example, solve this equation:
syms x
solve(x^3 - 6*x^2 == 6 - 11*x)
ans =
1
2
3
If you do not specify the right side of the equation, solve assumes that it is zero:
syms x
solve(x^3 - 6*x^2 + 11*x - 6)
ans =
1
2
3
If an equation contains several symbolic variables, you can specify a variable for which this equation
should be solved. For example, solve this multivariable equation with respect to y:
syms x y
solve(6*x^2 - 6*x^2*y + x*y^2 - x*y + y^3 - y^2 == 0, y)
ans =
1
2*x
-3*x
If you do not specify any variable, you get the solution of an equation for the alphabetically closest to
x variable. For the complete set of rules MATLAB applies for choosing a default variable see “Find a
Default Symbolic Variable” on page 2-3.
syms x y z
[x, y, z] = solve(z == 4*x, x == y, z == x^2 + y^2)
x =
0
2
y =
0
1-14
Perform Symbolic Computations
z =
0
8
phi = (1 + sqrt(sym(5)))/2;
f = phi^2 - phi - 1
returns
f =
(5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2
simplify(f)
ans =
0
syms x
f = (x ^2- 1)*(x^4 + x^3 + x^2 + x + 1)*(x^4 - x^3 + x^2 - x + 1);
expand(f)
ans =
x^10 - 1
The factor simplification function shows the polynomial roots. If a polynomial cannot be factored
over the rational numbers, the output of the factor function is the standard polynomial form. For
example, to factor the third-order polynomial, enter:
syms x
g = x^3 + 6*x^2 + 11*x + 6;
factor(g)
ans =
[ x + 3, x + 2, x + 1]
The nested (Horner) representation of a polynomial is the most efficient for numerical evaluations:
1-15
1 Getting Started
syms x
h = x^5 + x^4 + x^3 + x^2 + x;
horner(h)
ans =
x*(x*(x*(x*(x + 1) + 1) + 1) + 1)
For a list of Symbolic Math Toolbox simplification functions, see “Choose Function to Rearrange
Expression” on page 2-104.
You can substitute a symbolic variable with a numeric value by using the subs function. For example,
evaluate the symbolic expression f at the point x = 1/3:
syms x
f = 2*x^2 - 3*x + 1;
subs(f, 1/3)
ans =
2/9
f =
2*x^2 - 3*x + 1
When your expression contains more than one variable, you can specify the variable for which you
want to make the substitution. For example, to substitute the value x = 3 in the symbolic expression
syms x y
f = x^2*y + 5*x*sqrt(y);
subs(f, x, 3)
ans =
9*y + 15*y^(1/2)
You also can substitute one symbolic variable for another symbolic variable. For example to replace
the variable y with the variable x, enter
subs(f, y, x)
ans =
x^3 + 5*x^(3/2)
1-16
Perform Symbolic Computations
You can also substitute a matrix into a symbolic polynomial with numeric coefficients. There are two
ways to substitute a matrix into a polynomial: element by element and according to matrix
multiplication rules.
Element-by-Element Substitution
syms x
f = x^3 - 15*x^2 - 24*x + 350;
A = [1 2 3; 4 5 6];
subs(f,A)
ans =
[ 312, 250, 170]
[ 78, -20, -118]
If you want to substitute a matrix into a polynomial using standard matrix multiplication rules, a
matrix must be square. For example, you can substitute the magic square A into a polynomial f:
syms x
f = x^3 - 15*x^2 - 24*x + 350;
2 Create the magic square matrix:
A = magic(3)
A =
8 1 6
3 5 7
4 9 2
3 Get a row vector containing the numeric coefficients of the polynomial f:
b = sym2poly(f)
b =
1 -15 -24 350
4 Substitute the magic square matrix A into the polynomial f. Matrix A replaces all occurrences of
x in the polynomial. The constant times the identity matrix eye(3) replaces the constant term of
f:
ans =
-10 0 0
0 -10 0
0 0 -10
The polyvalm command provides an easy way to obtain the same result:
polyvalm(b,A)
1-17
1 Getting Started
ans =
-10 0 0
0 -10 0
0 0 -10
To substitute a set of elements in a symbolic matrix, also use the subs command. Suppose you want
to replace some of the elements of a symbolic circulant matrix A
syms a b c
A = [a b c; c a b; b c a]
A =
[ a, b, c]
[ c, a, b]
[ b, c, a]
To replace the (2, 1) element of A with beta and the variable b throughout the matrix with variable
alpha, enter
alpha = sym('alpha');
beta = sym('beta');
A(2,1) = beta;
A = subs(A,b,alpha)
A =
[ a, alpha, c]
[ beta, a, alpha]
[ alpha, c, a]
For more information, see “Substitute Elements in Symbolic Matrices” on page 2-119.
Create a 2-D line plot by using fplot. Plot the expression x3 − 6x2 + 11x − 6.
syms x
f = x^3 - 6*x^2 + 11*x - 6;
fplot(f)
1-18
Perform Symbolic Computations
Add labels for the x- and y-axes. Generate the title by using texlabel(f). Show the grid by using
grid on. For details, see “Add Title and Axis Labels to Chart” (MATLAB).
xlabel('x')
ylabel('y')
title(texlabel(f))
grid on
1-19
Another Random Scribd Document
with Unrelated Content
vitkastella asioilla. Oli annettava selkään jollekin vihamiehelle,
viskattava kivellä jotakin, jota ei muuten ehtinyt tavoittaa ja
lauvantaipäivinä oli oltava mukana ainaisessa tappelussa
maalaispoikain kanssa. Sitä paitse ei hän raskinut jättää entistä
sukkelaa temppuaan jalkakammilla keikauttaa kumoon rauhallisesti
kulkevia ihmisiä. Useasti hän tuli asioilta hengästyneenä ja verissä
naamoin, ja kun kysyttiin, mitä hänelle oli tapahtunut, sanoi hän
kaatuneensa tai että joku mies, jota hän ei ollenkaan tuntenut, oli
hänet aivan syyttömästi tyrkännyt kivikatuun.
Ensi kerran näki nyt Eerikki neidin — ennen oli hän nähnyt hänet
vaan etäämpää ja sattumalta — kun neiti soitti hänet luokseen
pieneen kammariin suuremman konttoorihuoneen taakse. Eerikki
vähän ällistyi ja sai hyvin kunnioittavan tunteen neitiä ja kaikkea
hänen läheisyyttään kohtaan. Neiti näytti niin ylhäiseltä ja hienolta,
hänellä näytti olevan hyvin kalliit kapineet huoneessaan, ja Eerikki
kuvitteli ison mustan rautakaapin olevan täynnä kultarahoja ja suuria
seteliä, jotka kaikki olivat neidin hallussa. Ja voivathan ne kaikki olla
neidin omiakin, hyvinkin omia tuon neidin, joka oli monta vuotta ollut
ulkomailla, tuolla kaukana maiden ja merien takana, missä Eerikki
kuvitteli olevan vaan rikkautta ja onnea.
Neiti antoi pari kirjettä, jotka käski viedä postiin. Vaan kun Eerikki
yritti niitä ottamaan, sanoi hän:
— Oikein todella sinä olet kaunis. Sinusta tulee vielä kaunis mies
— (isääsi), lisäsi äiti ajatuksissaan.
Eräänä päivänä kuuli Eerikki hyvin tärkeän asian. Hän kuuli neidin
kysyvän vanhemmalta kirjanpitäjältä:
Eerikki sai uutta intoa. Erästä nuorta kirjanpitäjää, joka oli erittäin
säännöllinen ja huolellisesti puettu mies, rupesi hän pitämään
esikuvanaan. Hän harjoittautui tekemään saman laisia liikkeitä kuin
hänkin, ja varsinkin hänen kauniit kumarrukset hän otti mieleensä.
Eerikki oli hyvin tarkkana ja säästöillään hän aina osti itselleen lisää
kapineita, jotka häntä lähentäisivät tuota ihannetta. Hänellä oli
kiiltävä kuminen pystykaulus, hän hankki loistavia kravatteja,
kuitenkin aina hänelle sopimattomia, ja eräänä päivänä oli hänellä
käsissään kankeat kumiset kalvokkaat, joita hän kuitenkin ensimältä
sormillaan työnsi nutun hihoihin piiloon. Pieni peili ja kampa hänellä
oli aina taskussa. Melkein kaikki loma-ajat hän katseli itseään
peilistä, siisteili ja laitteli. Toisin ajoin hän luki satukirjoja ja
rakkaushistorioita. Hänellä oli alituisena hyräilylauluna, konttoorilla
ajatuksissa ja kadulla puoliäänessä: "Oisko pursi ja punapurjeet,
millä mennä merten taa —"
Hän odotti, että neiti antaisi merkin. Mutta neiti ei näyttänyt olevan
kiireinen.
Kerran kun hän tunsi kirjeessä olevan valokuvan, avasi hän sen.
Kirjeestä hän ei mitään ymmärtänyt, kun se oli vieraskielinen, vaan
valokuva oli neidin. Eerikki vapisi pelonalaisesta liikutuksesta
katsellessaan kuvaa. Neiti oli kuvassa niin ihana. Hän painoi kuvaa
suutaan vasten, että märkä sija tuli siihen, painoi moneen kertaan.
Hän ei kuitenkaan tahtonut varastaa kuvaa eikä kirjettä. Hän pani ne
uuteen kuoreen ja kirjoitti osoitteen. Vaan kirjoitus tuli niin törkeän
huonoa, ettei hän uskaltanut sitä lähettää. Hän poltti kirjeen ja kätki
kuvan tarkimpaan talteen, josta sitä useasti katseli.
Kun kirkon kello löi 12, läksi hän kauppaneuvoksen talolle päin,
verkalleen ja varovasti. Hän oli täydessä palokuntalaispuvussa,
jonka tähden hän vältti ihmisiä. Hän pääsi onnellisesti portin alaitse
kauppaneuvoksen talon pihaan. Kaikki oli valmiiksi ajateltu.
Makasiinin kupeelta hän otti kuivan tyhjän laatikon, heitti siihen
tuohensa ja vei sen sitte suurten rappusten vierelle.
Nyt otti Eerikki kevyet portaat, ryömi niiden kanssa portin alaitse
kadulle, pystytti tikapuut neidin akkunan alle, nousi akkunaan ja
sydän lyöden koko miestä horjuttaen koputti hän kovasti akkunaan.
Eerikki huusi:
— Mikä hätänä?
— Missä on tuli?
Kauppaneuvos vielä nuhteli häntä kovin sanoin, kun oli tullut sillä
lailla säikyttämään neitiä turhanpäiten.
Kun hän sitte parattuaan tuli konttoorille, oli hän sekaisin iloisen ja
nolon näköinen, — niin kuin kylmästä sateesta korjattu koiran pentu.
Junnu Juntunen.
Kauppias jätti asian silleen, vaan Torkkeli päätti kostaa. Kun hän
ensi kerran tämän jälkeen tapasi Junnun, joka oli makasiinien välistä
solaa siivoamassa, potkasi hän takaa päin hänet suulleen likaan ja
kysyi:
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
textbookfull.com