[Ebooks PDF] download Introduction to MATLAB and SIMULINK A Project Approach Third Edition Engineering Ottmar Beucher full chapters
[Ebooks PDF] download Introduction to MATLAB and SIMULINK A Project Approach Third Edition Engineering Ottmar Beucher full chapters
https://ebookfinal.com/download/an-introduction-to-numerical-methods-
a-matlab-approach-third-edition-guenther/
ebookfinal.com
https://ebookfinal.com/download/system-simulation-techniques-with-
matlab-and-simulink-1st-edition-dingyu-xue/
ebookfinal.com
https://ebookfinal.com/download/introduction-to-the-simulation-of-
dynamics-using-simulink-1st-edition-michael-a-gray/
ebookfinal.com
https://ebookfinal.com/download/signals-and-systems-with-matlab-
computing-and-simulink-modeling-3rd-edition-steven-t-karris/
ebookfinal.com
Modeling and Simulation in Ecotoxicology with Applications
in MATLAB and Simulink Kenneth R. Dixon
https://ebookfinal.com/download/modeling-and-simulation-in-
ecotoxicology-with-applications-in-matlab-and-simulink-kenneth-r-
dixon/
ebookfinal.com
https://ebookfinal.com/download/modeling-and-simulation-of-systems-
using-matlab-and-simulink-1-har-cdr-edition-devendra-k-chaturvedi/
ebookfinal.com
https://ebookfinal.com/download/chemical-engineering-dynamics-an-
introduction-to-modelling-and-computer-simulation-third-edition-dr-
john-ingham/
ebookfinal.com
https://ebookfinal.com/download/engineering-materials-2-third-edition-
an-introduction-to-microstructures-processing-and-design-d-r-h-jones/
ebookfinal.com
The CD-ROM that accompanies this book may only be used on a single PC. This
license does not permit its use on the Internet or on a network (of any kind). By
purchasing or using this book/CD-ROM package(the “Work”), you agree that this
license grants permission to use the products contained herein, but does not give you
the right of ownership to any of the textual content in the book or ownership to any of
the information or products contained on the CD-ROM. Use of third party software
contained herein is limited to and subject to licensing terms for the respective
products, and permission must be obtained from the publisher or the owner of the
software in order to reproduce or network any portion of the textual material or
software (in any media) that is contained in the Work.
INFINITY SCIENCE PRESS LLC (“ISP” or “the Publisher”) and anyone involved in
the creation, writing or production of the accompanying algorithms, code, or
computer programs (“the software”) or any of the third party software contained on
the CD-ROM or any of the textual material in the book, cannot and do not warrant the
performance or results that might be obtained by using the software or contents of the
book. The authors, developers, and the publisher have used their best efforts to insure
the accuracy and functionality of the textual material and programs contained in this
package; we, however, make no warranty of any kind, express or implied, regarding
the performance of these contents or programs. The Work is sold “as is” without
warranty (except for defective materials used in manufacturing the disc or due to
faulty workmanship);
The authors, developers, and the publisher of any third party software, and anyone
involved in the composition, production, and manufacturing of this work will not be
liable for damages of any kind arising out of the use of (or the inability to use) the
algorithms, source code, computer programs, or textual material contained in this
publication. This includes, but is not limited to, loss of revenue or profit, or other
incidental, physical, or consequential damages arising out of the use of this Work.
The sole remedy in the event of a claim of any kind is expressly limited to replacement
of the book and/or the CD-ROM, and only at the discretion of the Publisher.
The use of “implied warranty” and certain “exclusions” vary from state to state, and
might not apply to the purchaser of this product.
INTRODUCTION TO
MATLAB® & SIMULINK
A Project Approach
Third Edition
O. BEUCHER
and
M. WEEKS
This publication, portions of it, or any accompanying software may not be reproduced in any way, stored in a retrieval
system of any type, or transmitted by any means or media, electronic or mechanical, including, but not limited to,
photocopy, recording, Internet postings or scanning, without prior permission in writing from the publisher.
O. Beucher and M. Weeks. Introduction to MATLAB & Simulink: A Project Approach, Third Edition.
ISBN: 978-1-934015-04-9
The publisher recognizes and respects all marks used by companies, manufacturers, and developers as a means to
distinguish their products. All brand names and product names mentioned in this book are trademarks or service marks
of their respective companies. Any omission or misuse (of any kind) of service marks or trademarks, etc. is not an
attempt to infringe on the property of others.
Beucher, Ottmar. Introduction to MATLAB & SIMULINK : a project approach / Ottmar Beucher and Michael Weeks.
— 3rd ed.
p. cm.
Includes bibliographical references and index.
ISBN 978-1-934015-04-9 (hardcover with cd-rom : alk. paper)
1. Engineering mathematics–Data processing. 2. Computer simulation–Computer programs.
3. MATLAB. 4. SIMULINK. I. Weeks, Michael. II. Title.
TA345.B4822 2007
620.001’51–dc22
2007010556
Printed in the United States of America
7 8 9 4 3 2 1
Our titles are available for adoption, license or bulk purchase by institutions, corporations, etc. For additional
information, please contact the Customer Service Dept. at 877-266-5796 (toll free).
Requests for replacement of a defective CD-ROM must be accompanied by the original disc, your mailing address,
telephone number, date of purchase and purchase price. Please state the nature of the problem, and send the information
to Infinity Science Press, 11 Leavitt Street, Hingham, MA 02043.
The sole obligation of Infinity Science Press to the purchaser is to replace the disc, based on defective materials or
faulty workmanship, but not based on the operation or functionality of the product.
CONTENTS
Preface xv
Chapter 1. Introduction to MATLAB 1
1.1 What is MATLAB? 1
1.2 Elementary MATLAB Constructs 3
1.2.1 MATLAB Variables 4
1.2.2 Arithmetic Operations 13
1.2.3 Logical and Relational Operations 21
1.2.4 Mathematical Functions 26
1.2.5 Graphical Functions 33
1.2.6 I/O Operations 50
1.2.7 Import Wizard 52
1.2.8 Special I/O Functions 52
1.2.9 The MATLAB Search Path 54
1.2.10 Elementary Matrix Manipulations 56
1.3 More Complicated Data Structures 64
1.3.1 Structures 64
1.3.2 Cell Arrays 72
1.3.3 Definition of Cell Arrays 73
1.3.4 Access to Cell Array Elements 77
1.4 The MATLAB Desktop 82
1.5 MATLAB Help 86
1.6 MATLAB Programming 88
1.6.1 MATLAB Procedures 88
1.6.2 MATLAB Functions 90
1.6.3 MATLAB Language Constructs 95
1.6.4 The Function eval 107
1.6.5 Function Handles 109
1.6.6 Solution of Differential Equations 113
v
vi CONTENTS
ix
x LIST OF FIGURES
3.1 Run times (seconds) for the original and improved “perm” functions 226
3.2 Run times (seconds) for the original “perm” function,
on two different computers 228
3.3 Run time comparisons (seconds) 240
xiii
PREFACE
T
his book is primarily intended for first semester engineering students who are
looking for an introduction to the MATLAB and Simulink environment ori-
ented toward the knowledge and requirements of beginning students. Thus,
only a few basic ideas from mathematics, in particular ordinary differential equa-
tions, programming, and physics are required to understand the contents of this
book. This knowledge is usually acquired in the first two or three semesters of a
technical engineering degree program.
Under these conditions, this book should also be of interest for practicing engi-
neers who are looking for a brief introduction to MATLAB and Simulink. In the case
of this book, engineers will have the knowledge required to understand it years after
they have finished their studies.
The MathWorks periodically updates MATLAB and Simulink software. See
Appendix C for information about R2007b, the release made in September, 2007.
The examples in this book are compatible with the new version.
The first chapter covers the basic principles of MATLAB. It explains the fundamental
concepts, how to handle the most important commands and operations, and the basics
of MATLAB as a programming language. This chapter, like Chapter 2, emphasizes
the numerical solution of ordinary differential equations. Beyond this, there are some
comments on the symbolics toolbox, which makes the core of the computer algebra
program MAPLE available to the MATLAB user and, thereby, enables symbolic
calculations in MATLAB.
Chapter 2 is an introduction to the use of Simulink. Here the emphasis is on the
solution of ordinary differential equations or systems of differential equations and,
with that, the simulation of dynamic systems. Particular attention is paid to the various
techniques for interaction between MATLAB and Simulink. Thus, for example, it is
shown how the execution of Simulink simulations can be automated in MATLAB.
xv
xvi PREFACE
as Simulink model files. The sound files generated in Chapter 3 are stored on the
CD-ROM under the folder sweep_data. It also contains images from the book.
Hence, the book is also suitable for self study.
There are many changes in the new working interface of MATLAB and Simulink.
And, naturally, the corresponding discussion has had to be modified. The most
important content changes are in the sections on cell arrays and function handles.
To be sure, cell arrays showed up in the earlier MATLAB versions, but these
data structures were not mentioned in the two earlier editions. In the meantime, I
have been persuaded to refer to this very flexible tool, even though dealing with these
data structures might still be difficult for the beginner. In many cases, however, cell
arrays cannot be avoided, so at least the essentials should be discussed thoroughly.
Function handles also showed up earlier. But the concept of calling is new. This
makes using the function feval superfluous and makes the call natural. This is also
discussed in a short section.
Other innovations have not been included, since they go beyond the scope of a
basic introduction.
All the new topics have again been supplemented with corresponding problems.
Thus, the number of problems (as ever, fully solved) now exceeds 100.
Chapter 3 is also a new addition, with in-depth programming projects.
PREFACE xvii
In sum, the third edition gives the reader has a fully-up-to-date introduction to
the current versions of MATLAB and Simulink.
REMARKS ON NOTATION
In this book, MATLAB code is generally set in typewriter font. The same holds
for MATLAB commands belonging to the built-in MATLAB environment, such as
the commands whos or the function ode23.
MATLAB commands based on the programs written by the authors are also set
in typewriter font, e.g., the command FInput.
Simulink systems belonging to the built-in environment, such as the parameters
of Simulink systems, are also generally set in typewriter font, e.g., the parameter
Amplitude of the Simulink block Sine Wave.
The names of Simulink systems provided by the author always begin with an
s_. This is of historical origin. Before MATLAB 5, MATLAB programs and Simulink
systems were m files. Since Simulink systems after MATLAB 5 have the ending *.mdl,
it was basically no longer necessary to distinguish them by putting an s_ in front. But,
a second indication of the difference cannot hurt, so this naming convention has been
retained.
Metanames, i.e., names in commands, which are to be replaced by the actual
name in calls, are set in <...> . The formulation help <command name> thus
means that on calling, the entry <command name> must be replaced by the actual
command about which help is being sought. Here the angle brackets do not have to
be entered.
The names of the accompanying programs are accentuated in typewriter
font in the text. There is, of course, much more extensive comment in the programs
than in the printed excerpts. This is particularly so for the solutions to the problems
which have been shortened for reasons of space.
In order to make it easier for the reader to find the programs in the text, an index
of the accompanying software is given at the end of the book.
ACKNOWLEDGMENTS
First of all, thanks to my colleagues Helmut Scherf and Josef Hoffmann for their
many comments and discussions on this topic.
I also thank the students in the Automotive Technology major in the Department
of Mechatronics, who served as “guinea pigs” in some of the one-week compact
courses that preceded the development of this book. Naturally, the (known and
xviii PREFACE
unknown) reactions of the students had a great influence on the development of this
book. I thank Dietmar Moritz, as a representative of them all, for some valuable
comments which have been directly incorporated into the book.
O.B., Lingenfeld and Karlsruhe, Germany, 2007
T
his chapter presents the fundamental properties and capabilities of
the computational and simulation tool MATLAB.
1
2 INTRODUCTION TO MATLAB & SIMULINK
1
All data structures (there are 15 different kinds of them) can usually be subsumed
under the concept of a “field” (array). Thus, MATLAB yields ARRLAB (ARRay
LABoratory). From this concept it follows that the numerical field and, therefore,
the classical matrix, is essentially just a special case.
INTRODUCTION TO MATLAB 3
Starting with the basic data structure of the numerical field, the most impor-
tant elementary constructs and operations of MATLAB (in the author’s
opinion) will be presented here. Initially, MATLAB will only be used
interactively. It will be shown how (numerical) calculations are carried out
interactively and how the results of these calculations can be represented
graphically and checked.
The elementary MATLAB operations can be divided roughly into five
classes:
Arithmetic operations
Logical operations
Mathematical functions
Graphical functions
I/O operations (data transfer)
2
This depends on the user’s settings. These settings can be specified in the menu
command File - Preferences.
4 INTRODUCTION TO MATLAB & SIMULINK
With this instruction, after a MATLAB prompt the number 2.45 (a num-
ber is a 1 × 1 matrix!) will be assigned to the variable x and can subsequently
be addressed under this variable name.
MATLAB responds to this definition with
x =
2.4500
and, in the interactive mode, confirms the input. An error message appears
if there are any errors of syntax.
Numbers are always represented by 4 digits after the decimal point
by default (format short). The default can be changed in the menu
command File - Preferences ... under the listing Command -
Window - Numeric Format. In most cases, however, the default
representation is the best choice.
The following commands define a row vector of length 3 and a 2 × 3
matrix. The response of MATLAB is also shown for each case:
>> vector = [1 5 -3]
vector =
1 5 -3
thematrix =
colvector =
2.0000
4.0000
3.0000
-1.0000
1.0000 - 4.0000i
If no variable name is set, MATLAB assigns the name ans (answer) to the
result, as the following example shows:
>> [2,3,4; 3,-1,0]
ans =
2 3 4
3 -1 0
The Workspace
All of the defined variables will be stored in the so-called workspace of MAT-
LAB. You can check the state of the workspace at any time. The command
who returns the names of the saved variables and the command whos pro-
vides additional, perhaps vital, information, such as the dimension of a matrix
or the memory allocation.
This command yields the following for the preceding examples:
>> who
>> whos
Name Size Bytes Class
3
This action toggles the docking function, and can be used to dock the window there
again.
4
The significance of the button is most easily understood by bringing the mouse
pointer over the button and holding it there for a moment. This opens up a text
window with the name of the button.
8 INTRODUCTION TO MATLAB & SIMULINK
yields
>> who
Reconstructing Commands
The commands that have been set previously are saved. In this way you
can conveniently repeat or modify a command. For this only the arrow
keys ↑ and ↓ have to be pressed. The earlier commands show up in the
MATLAB command window and can (if necessary, after modification) be
brought up again using the return key. For instance, the definition of the
recently erased matrix thematrix can be recovered and reconstructed in
this way.
In long MATLAB sessions this keying through earlier commands
becomes rather tedious. If you know the first letters of the command, you
can shorten the search. Thus, for example, to find the matrix thematrix
you need only type
>> them
and then press the arrow key ↑. Only commands beginning with them
will be searched for. If the beginning is unique, the command is found at
once.
Other convenient possibilities employing the so-called history-
mechanism are provided by the command-history window.
In Fig. 1.1 this command-history window (2) can be seen at the lower
left. In this window the commands set in the past are listed under the cor-
responding date of the MATLAB session. By scrolling, it is also very easy
to find commands from even further back. A double click on the command
is sufficient to activate it again. Some other application possibilities will be
discussed in Section 1.4.
The choice of command reconstruction capabilities ultimately depends
on the preference of the user and practical considerations.
thematrix =
thematrix =
or with
>> v = [1;2;3]
v =
1
2
3
thematrix =
If you want to delete the second column, then you must fill it with an empty
vector [ ]. The second column in the variable thematrix will then be
addressed in accordance with the conventional matrix indexing. Since the
row index is arbitrary in this case, it is indicated by the place holder : (colon).
This yields
>> thematrix(:,2) = []
thematrix =
3 2 1
4 -5 2
INTRODUCTION TO MATLAB 11
1 3 3
thematrix =
4 -5 2
1 3 3
Likewise, a row or column vector can be selected and another variable can
be assigned. Thus, with
>> firstrow = thematrix(1,:)
firstrow =
4 -5 2
largevector =
Columns 1 through 12
0 2 4 6 8 10 12 14 16 ...
Columns 13 through 24
24 26 28 30 etc.
12 INTRODUCTION TO MATLAB & SIMULINK
will let the output in the full command window be suspended when the user
ends the execution of the screen display by pressing a key. This function then
enables the further progress of the interactive MATLAB session. But it can
also be shut off again by entering
>> more off
as a command.
PROBLEMS
All the important constructs for defining MATLAB variables have now been
brought together in order to begin with the first problems on this subject.
NOTE Solutions to all problems can be found in Chapter 4.
Problem 1
Define the following matrices or vectors according to MATLAB and
classify the corresponding variables:
1 0 0
M = 0 j 1 ,
j j + 1 −3
k = 2.75 ,
1
3
v =
−7 ,
−0,5
= 1 −5.5 −1.7 −1.5 3 −10.7 ,
w
y = 1 1.5 2 2.5 · · · 100.5 .
INTRODUCTION TO MATLAB 13
Problem 2
1. Expand the matrix M to a 6 × 6 matrix V of the form
M M
V= .
M M
2. Delete row 2 and column 3 from the matrix V (reduced matrix V23).
3. Create a new vector z4 from row 4 of the matrix V.
4. Modify the entry V(4, 2) in the matrix V to j + 5.
Problem 3
From the vector
r = j j + 1 j − 7 j+1 −3
construct a matrix N consisting of 6 columns where each contain r.
Problem 4
Check whether the row vector of Problem 3 can be joined onto the matrix N
that was constructed there.
Problem 5
Erase all variables from the workspace and reconstruct the matrix V of
Problem 2 using the saved commands and the ↑ and ↓ keys.
Carry out the same procedure once again with the aid of the command-
history window.
Problem 6
Fill row 5 of the matrix V of Problem 2 with zeroes using the array editor.
Problem 7
Open the file ExcelDatEx.xls of the accompanying software in Microsoft
Excel. Transfer the data contained in it to the array editor using the Windows
interface.
Next, delete the second column of the transferred data matrix in the
MATLAB command window and then copy it back into Excel via the
Windows interface.
Matrix Operations
Since the fundamental data structure of MATLAB is the matrix, these oper-
ations must, above all, be understood as matrix operations. This means that
the computational rules of matrix algebra are assumed, with all the associated
consequences.
Thus, for example, the product of two variables A and B is not defined
according to MATLAB if the underlying matrix product A · B is not defined;
that is, if the number of columns in A is not equal to the number of rows in B.
An exception to this rule occurs only if one of the variables is a 1 × 1
matrix, or scalar. Then the multiplication is interpreted as multiplication by
a scalar in accordance with the rules of linear algebra.
The following examples of MATLAB commands5 will make this clearer:
>> M = [1 2 3; 4 -1 2] % define 2x3-Matrix M
M =
1 2 3
4 -1 2
N =
1 2 -1
4 -1 1
2 0 1
V =
15 0 4
4 9 -3
5
Comments can be introduced after commands using the % symbol. Later on, this
will be very useful in writing MATLAB programs. The characters after % in a line
will be ignored by MATLAB.
INTRODUCTION TO MATLAB 15
Field Operations
Besides the matrix operations, in many cases there is a need for corre-
sponding arithmetic operations, which must be carried out term-by-term
(componentwise).
Operations that are to be understood as term-by-term, which are known
as field operations or array operations in MATLAB, must at the very least be
given a new notation as they might otherwise be confused with matrix oper-
ations. This is solved in MATLAB syntax by placing a period (.) before the
operator symbol. An * alone, therefore, always denotes matrix multiplication,
while a .* always denotes term-by-term multiplication (array multiplica-
tion). This leads to other rules about the dimensionality of the objects, as the
following example shows:
M =
1 2 3
4 -1 2
N =
1 -1 0
2 1 -1
ans =
1 -2 0
8 -1 -2
As you can see, the matrix product M*N is not defined this time.
Instead, the product is defined term-by-term. To each entry in M there is
a corresponding entry in N, with which the product can be formed.
Another common example is the squaring of the components of a vector:
>> vect = [ 1, -2, 3, -2, 0, 4]
vect =
1 -2 3 -2 0 4
ans =
1 4 9 4 0 16
In the first case MATLAB could again carry out a matrix operation. Squaring
a matrix, however, is only possible if the matrix is square (i.e., it has the same
numbers of columns and rows) which is not so here. But, the components
themselves can be squared in any case.
Division Operations
The division sign has special significance. In MATLAB we distinguish
between right division / and left division \.
The fact that there are two division operations is again a consequence of
the matrix algebra interpretation. Division of two matrices A and B (i.e., A/B)
is normally not defined. In the case of square matrices, the quotient can only
be interpreted meaningfully as X = A · B−1 if the inverse matrix B−1 exists.
If A−1 exists, then “left division” X = A\B is also meaningful, interpreted in
this case as X = A−1 · B.
MATLAB takes these two situations into account by defining left and
right division. Let us clarify this with a simple example involving two
INTRODUCTION TO MATLAB 17
invertable 2 × 2 matrices.
>> A = [2 1 ;1 1] % Matrix A
A =
2 1
1 1
B =
-1 1
1 1
Ainv =
1 -1
-1 2
Binv =
-0.5000 0.5000
0.5000 0.5000
X1 =
-0.5000 1.5000
0 1.0000
X2 =
-0.5000 1.5000
0 1.0000
18 INTRODUCTION TO MATLAB & SIMULINK
Y1 =
-2.0000 -0.0000
3.0000 1.0000
Y2 =
-2 0
3 1
The next example shows, however, that MATLAB goes one step further in
the interpretation of the division operations:
>> A = [2 1 ;1 1] % Matrix A
A =
2 1
1 1
b =
2
1
x =
1.0000
0.0000
ans =
2.0000
1.0000
SUMMARY
Table A.1 of Appendix 1 lists all the arithmetic operations and their execution
as matrix operations, each with an example.
Table A.2 again lists the arithmetic operations and their execution as field
operations.
N
TH E C
The MATLAB demonstration program aritdemo.m in the accompany-
D
O
PROBLEMS
Work through the following problems for practice with arithmetic operations.
NOTE Solutions to all problems can be found in Chapter 4.
Problem 8
Start the MATLAB demonstration program aritdemo.m by calling the
command aritdemo in the MATLAB command window and work through
the program.
6
See the MATLAB 7 handbook.
20 INTRODUCTION TO MATLAB & SIMULINK
Problem 9
Calculate
Problem 10
Test left division A\b with the matrix
2 2
A=
1 1
and the vector
2
b =
1
and interpret the result.
Problem 11
with the matrix
Test right division b/A
2 2
A=
1 1
INTRODUCTION TO MATLAB 21
A =
1 -3
0 0
>> B=[0 5 ;0 1]
B =
0 5
0 1
>> res=A&B
res =
0 1
0 0
22 INTRODUCTION TO MATLAB & SIMULINK
The resulting matrix res only contains a single 1 (logically true), where the
corresponding components of the two matrices are both = 0 (logically true),
and is 0 (logically false) everywhere else.
The relational operators or comparison operators work in a similar fash-
ion. The following sequence checks which components of matrix A are greater
than the corresponding components of matrix B. The matrices from the
preceding example are used.
>> comp = A>B
comp =
1 0
0 0
The comparison matrix comp shows that only the first component of A is
greater than that of B.
It hardly needs to be pointed out that here, as with all field operators,
the dimensions of the matrices must be identical.
Other relational operators include ≥ and ≤ (in MATLAB syntax these
are <= and >=) and < , as well as == (equal) and ~= (unequal). Besides the
above mentioned logical AND, we have the logical operators logical OR (|),
logical negation (~), and exclusive OR xor.
Further information on this topic, as well as on the other operations and
functions, is available in MATLAB-help (Section 1.5). For comments relating
to this section, you can, for example, search for the keyword operators
under the menu command Help - MATLAB help. Alternatively, you can
enter help ops in the MATLAB command window. In both cases you
obtain a list of MATLAB operators that includes the logical and relational
operators, among others.
As an illustration of the capabilities of this operator class we give an
example that shows up in many simulations. The problem is to select each
component from a result vector which exceeds a particular value, say 2,
and form a vector out of them. This can be done with the following
sequence:
>> vect=[-2, 3, 0, 4, 5, 19, 22, 17, 1]
vect =
-2 3 0 4 5 19 22 17 1
Exploring the Variety of Random
Documents with Different Content
finalement, de la saleté en abondance et une variété d’odeurs
nauséabondes que le vent du nord ne saurait chasser, voilà des
choses que l’on peut considérer tout à fait indépendamment de
« l’Esprit de Démocratie », ou de « l’Avenir de ce grand pays au
développement puissant ». Dans tout autre pays elles passeraient
pour un signe de négligence, de malpropreté et d’incapacité. Ici, on
vous explique et on vous répète, que c’est une preuve de la rapidité
avec laquelle la ville a grandi et de l’enviable indifférence de ses
citoyens pour les questions de détail. — Un de ces jours, me dit-on,
on s’occupera sérieusement de remédier à cet état de choses. Les
dirigeants de la ville, hommes corrompus, seront balayés par un
cyclone, par un ouragan, ou par quelque explosion grandiose et
retentissante d’indignation populaire ; on élira alors à l’unanimité des
hommes capables qui toucheront, à juste titre, les appointements
énormes actuellement alloués à des étrangers incapables pour des
balayages de rues, et tout ira bien. C’est alors que la licence
inculquée par les gouvernants chez les gouvernés, pendant les
trente, quarante, ou peut-être cinquante années passées ;
l’insouciance brutale du public en ce qui touche les devoirs des
citoyens ; l’endurcissement et l’élasticité de la morale populaire et le
dédain insensé de la vie humaine, engendrés par les lois
impuissantes et encouragés par la familiarité avec des accidents
évitables et une négligence criminelle, disparaîtront
miraculeusement. Si les lois de cause à effet qui gouvernent même
le peuple le plus libre de la terre affirment qu’il en est autrement, tant
pis pour ces lois. L’Amérique fait les siennes. Derrière elle se tient le
fantôme de la guerre la plus sanglante du siècle, suscitée dans ces
pays paisibles à force de s’accoutumer le mépris des lois, de laisser
aller les choses, par l’incapacité et le dédain aveugle pour tout sauf
le besoin matériel du moment présent, tant et si bien que l’heure
depuis longtemps conçue et oubliée se dressa toute armée et que
les hommes s’écrièrent : « Voici une crise imprévue ! » et
s’entretuèrent au nom de Dieu pendant quatre années.
Dans une contrée païenne les trois choses qui passent pour être
les piliers d’un gouvernement passable, sont : le respect de la vie
humaine, la justice criminelle et civile, autant que l’homme est
capable de rendre la justice, et de bonnes routes. Dans cette cité
chrétienne les habitants attachent peu d’importance à la première
(leurs journaux, leurs conversations et leurs actes en font foi) ; ils
achètent et vendent la seconde à un certain prix fixe, ouvertement et
sans honte, et paraissent, semble-t-il, se passer aisément de la
troisième. On s’attendrait presque à ce que le sens de l’humour,
inhérent à la race, les empêche d’espérer rien que des louanges,
épaisses, excessives et serviles de la part de l’étranger en visite
chez eux. Mais non ; si on se tait, ils forgent eux-mêmes des éloges
qu’ils mettent dans votre bouche sur leurs qualités et mérites,
agissant par là, envers leur propre pays qu’ils prétendent honorer,
comme agit le charlatan qui fait la réclame de ses pilules ; s’il vous
arrive d’exprimer votre opinion, — mais vous verrez, par vous-
même, les conséquences de votre franchise. Ils ne se rendent pas
compte qu’avec les mensonges et les invectives, c’est à eux seuls
qu’ils font du tort. Le blâme de toutes les imperfections de leur ville
ne retombe pas entièrement sur les hommes, généralement
d’extraction étrangère, qui gouvernent la cité ; car ils trouvent un
peuple fait pour eux, gens sans lois, prêts à fermer les yeux sur une
infraction aux règlements commise par les voisins, à condition qu’ils
puissent eux-mêmes à leur tour en faire autant avec profit, et qui,
dans leurs rares loisirs, sont bien aises de sourire en entendant
raconter les détails d’un coup de fraude habilement mené. Mais,
vous dit l’Américain cultivé : « Donnez-nous le temps. Donnez-nous
le temps et nous arriverons à quelque chose ! » — Tandis que l’autre
type d’Américain, celui qui est agressif, s’empresse de mettre sous
le nez de l’étranger quelque spécimen de travail bâclé, à moitié fini,
en le présentant comme le résultat d’un effort achevé. Je ne connais
rien de plus agréable que d’écouter pendant un temps strictement
limité un enfant qui vous raconte ses projets pour quand il sera
grand ; mais lorsque ce même enfant, à la voix forte, devenu
exigeant, impudiquement avide de louanges, aussi susceptible que
le plus maladif blanc-bec, vient vous barrer partout la route et vous
ennuyer avec la même histoire, dite sur le même ton, on commence
à soupirer après quelque chose de terminé — mettons l’Égypte et
une momie bien morte. Il n’est ni prudent, ni bienséant, d’insinuer
que le gouvernement de la plus grande ville des États-Unis n’est que
le despotisme de l’étranger, par l’étranger, pour l’étranger, tempéré,
de temps à autre, par des insurrections de gens convenables. Seul,
le Chinois lave le linge sale des autres peuples.
Saint-Paul, Minnesota.
Le lendemain.
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.
ebookfinal.com