这本书对于学习matlab的经典性就不必多说啥了啊,懂的人肯定知道他的价值,目前论坛上都是第二版的,现奉上最新出的第四版,这版相对于老板,更新了很多新的内容,篇幅也大幅增加。
Chapter 1 Introduction to MATLAB 1
1.1 The Advantages of MATLAB 2
1.2 Disadvantages of MATLAB 3
1.3 The MATLAB Environment 3
1.3.1 The MATLAB Desktop 4
1.3.2 The Command Window 4
1.3.3 The Command History Window 6
1.3.4 The Start Button 7
1.3.5 The Edit/Debug Window 7
1.3.6 Figure Windows 8
1.3.7 Docking and Undocking Windows 10
1.3.8 The MATLAB Workspace 11
1.3.9 The Workspace Browser 12
1.3.10 Getting Help 13
1.3.11 A Few Important Commands 14
1.3.12 The MATLAB Search Path 15
1.4 Using MATLAB as a Scratch Pad 17
1.5 Summary 18
1.5.1 MATLAB Summary 19
1.6 Exercises
Chapter 2 MATLAB Basics 21
2.1 Variables and Arrays 21
2.2 Initializing Variables in MATLAB 25
2.2.1 Initializing Variables in Assignment Statements 25
2.2.2 Initializing with Shortcut Expressions 28
2.2.3 Initializing with Built-in Functions 29
2.2.4 Initializing Variables with Keyboard Input 29
2.3 Multidimensional Arrays 31
2.3.1 Storing Multidimensional Arrays in Memory 33
2.3.2 Accessing Multidimensional Arrays with One Dimension 33
2.4 Subarrays 35
2.4.1 The end Function 35
2.4.2 Using Subarrays on the Left-hand Side of
an Assignment Statement 36
2.4.3 Assigning a Scalar to a Subarray 37
2.5 Special Values 38
2.6 Displaying Output Data 40
2.6.1 Changing the Default Format 40
2.6.2 The disp function 41
2.6.3 Formatted Output with the fprintf Function 41
2.7 Data Files 44
2.8 Scalar and Array Operations 46
2.8.1 Scalar Operations 47
2.8.2 Array and Matrix Operations 47
2.9 Hierarchy of Operations 51
2.10 Built-in MATLAB Functions 54
2.10.1 Optional Results 54
2.10.2 Using MATLAB Functions with Array Inputs 54
2.10.3 Common MATLAB Functions 55
2.11 Introduction to Plotting 55
2.11.1 Using Simple xy Plots 57
2.11.2 Printing a Plot 58
2.11.3 Exporting a Plot as a Graphical Image 58
2.11.4 Multiple Plots 59
2.11.5 Line Color, Line Style, Marker Style, and Legends 61
2.11.6 Logarithmic Scales 63
2.12 Examples 65
2.13 Debugging MATLAB Programs 72
2.14 Summary 74
2.14.1 Summary of Good Programming Practice 75
2.14.2 MATLAB Summary 76
2.15 Exercises 79
Chapter 3 Branching Statements and Program Design 87
3.1 Introduction to Top-Down Design Techniques 87
3.2 Use of Pseudocode 93
3.3 The Logical Data Type 93
3.3.1 Relational Operators 94
3.3.2 A Caution About the == and ~= Operators 97
3.3.3 Logic Operators 98
3.3.4 Logical Functions 102
3.4 Branches 104
3.4.1 The if Construct 104
3.4.2 Examples Using if Constructs 106
3.4.3 Notes Concerning the Use of if Constructs 113
3.4.4 The switch Construct 115
3.4.5 The try/catch Construct 116
3.5 Additional Plotting Features 119
3.5.1 Controlling x- and y-axis Plotting Limits 119
3.5.2 Plotting Multiple Plots on the Same Axes 122
3.5.3 Creating Multiple Figures 123
3.5.4 Subplots 123
3.5.5 Enhanced Control of Plotted Lines 125
3.5.6 Enhanced Control of Text Strings 125
3.5.7 Polar Plots 127
3.5.8 Annotating and Saving Plots 134
3.6 More on Debugging MATLAB Programs 137
3.7 Summary 141
3.7.1 Summary of Good Programming Practice 142
3.7.2 MATLAB Summary 143
3.8 Exercises 143
Chapter 4 Loops 149
4.1 The while Loop 149
4.2 The for Loop 155
4.2.1 Details of Operation 163
4.2.2 The MATLAB Just-in-Time (JIT) Compiler 165
4.2.3 The break and continue Statements 169
4.2.4 Nesting Loops 171
4.3 Logical Arrays and Vectorization 173
4.3.1 Creating the Equivalent of if/else Constructs
with Logical Arrays 174
4.4 The MATLAB Profiler 176
4.5 Additional Examples 179
4.6 Summary 194
4.6.1 Summary of Good Programming Practice 194
4.6.2 MATLAB Summary 194
4.7 Exercises 195
Chapter 5 User-Defined Functions 203
5.1 Introduction to MATLAB Functions 205
5.2 Variable Passing in MATLAB:The Pass-by-Value Scheme 209
5.3 Optional Arguments 221
5.4 Sharing Data Using Global Memory 227
5.5 Preserving Data Between Calls to a Function 234
5.6 Function Functions 240
5.7 Subfunctions, Private Functions, and Nested Functions 244
5.7.1 Subfunctions 244
5.7.2 Private Functions 245
5.7.3 Nested Functions 246
5.7.4 Order of Function Evaluation 249
5.8 Summary 249
5.8.1 Summary of Good Programming Practice 250
5.8.2 MATLAB Summary 250
5.9 Exercises 251
Chapter 6 Additional Data Types and Plot Types 265
6.1 Complex Data 265
6.1.1 Complex Variables 268
6.1.2 Using Complex Numbers with Relational Operators 268
6.1.3 Complex Functions 269
6.1.4 Plotting Complex Data 273
6.2 String Functions 276
6.2.1 String Conversion Functions 277
6.2.2 Creating Two-Dimensional Character Arrays 277
6.2.3 Concatenating Strings 278
6.2.4 Comparing Strings 279
6.2.5 Searching/Replacing Characters within a String 282
6.2.6 Uppercase and Lowercase Conversion 284
6.2.7 Trimming Whitespace from Strings 284
6.2.8 Numeric-to-String Conversions 285
6.2.9 String-to-Numeric Conversions 286
6.2.10 Summary 287
6.3 Multidimensional Arrays 294
6.4 Additional Data Types 296
6.4.1 The single Data Type 296
6.4.2 Integer Data Types 297
6.4.3 Limitations of the single and Integer Data Types 299
6.5 Additional Two-Dimensional Plots 299
6.5.1 Additional Types of Two-Dimensional Plots 299
6.5.2 Plotting Functions 304
6.5.3 Histograms 306
6.6 Three-Dimensional Plots 307
6.6.1 Three-Dimensional Line Plots 307
6.6.2 Three-Dimensional Surface, Mesh, and Contour Plots 309
6.7 Summary 310
6.7.1 Summary of Good Programming Practice 313
6.7.2 MATLAB Summary 313
6.8 Exercises 315
Chapter 7 Advanced Features: Sparse Arrays, Cell
Arrays, Structures, and Function Handles 319
7.1 Sparse Arrays 319
7.1.1 The sparse Attribute 321
7.2 Cell Arrays 327
7.2.1 Creating Cell Arrays 329
7.2.2 Using Braces {} as Cell Constructors 330
7.2.3 Viewing the Contents of Cell Arrays 330
7.2.4 Extending Cell Arrays 331
7.2.5 Deleting Cells in Arrays 334
7.2.6 Using Data in Cell Arrays 334
7.2.7 Cell Arrays of Strings 335
7.2.8 The Significance of Cell Arrays 336
7.2.9 Summary of cell Functions 340
7.3 Structure Arrays 340
7.3.1 Creating Structure Arrays 340
7.3.2 Adding Fields to Structures 343
7.3.3 Removing Fields from Structures 344
7.3.4 Using Data in Structure Arrays 344
7.3.5 The getfield and setfield Functions 346
7.3.6 Dynamic Field Names 347
7.3.7 Using the size Function with
Structure Arrays 348
7.3.8 Nesting Structure Arrays 349
7.3.9 Summary of structure Functions 350
7.4 Function Handles 350
7.4.1 Creating and Using Function Handles 350
7.4.2 The Significance of Function Handles 352
7.4.3 Function Handles and Nested Functions 354
7.4.4 An Example Application: Solving Ordinary
Differential Equations 356
7.5 Summary 364
7.5.1 Summary of Good Programming Practice 364
7.5.2 MATLAB Summary 365
7.6 Exercises 366
Chapter 8 Input/Output Functions 371
8.1 The textread Function 371
8.2 More about the load and save Commands 373
8.3 An Introduction to MATLAB File Processing 376
8.4 File Opening and Closing 377
8.4.1 The fopen Function 377
8.4.2 The fclose Function 380
8.5 Binary I/O Functions 380
8.5.1 The fwrite Function 380
8.5.2 The fread Function 382
8.6 Formatted I/O Functions 385
8.6.1 The fprintf Function 385
8.6.2 Understanding Format Conversion Specifiers 387
8.6.3 How Format Strings Are Used 389
8.6.4 The sprintf Function 391
8.6.5 The fscanf Function 392
8.6.6 The fgetl Function 394
8.6.7 The fgets Function 395
8.7 Comparing Formatted and Binary
I/O Functions 395
8.8 File Positioning and Status Functions 400
8.8.1 The exist Function 401
8.8.2 The ferror Function 404
8.8.3 The feof Function 404
8.8.4 The ftell Function 404
8.8.5 The frewind Function 404
8.8.6 The fseek Function 405
8.9 The textscan Function 411
8.10 Function uiimport 413
8.11 Summary 413
8.11.1 Summary of Good Programming Practice 416
8.11.2 MATLAB Summary 416
8.12 Exercises 417
Chapter 9 Handle Graphics 421
9.1 The MATLAB Graphics System 421
9.2 Object Handles 423
9.3 Examining and Changing Object Properties 423
9.3.1 Changing Object Properties at Creation Time 423
9.3.2 Changing Object Properties After Creation Time 424
9.4 Using set to List Possible Property Values 430
9.5 User-Defined Data 432
9.6 Finding Objects 434
9.7 Selecting Objects with the Mouse 435
9.8 Position and Units 438
9.8.1 Positions of figure Objects 438
9.8.2 Positions of axes and uicontrol Objects 439
9.8.3 Positions of text Objects 440
9.9 Printer Positions 443
9.10 Default and Factory Properties 443
9.11 Graphics Object Properties 446
9.12 Summary 446
9.12.1 Summary of Good Programming Practice 446
9.12.2 MATLAB Summary 447
9.13 Exercises 447
Chapter 10 Graphical User Interfaces 451
10.1 How a Graphical User Interface Works 451
10.2 Creating and Displaying a Graphical User Interface 452
10.2.1 A Look Under the Hood 463
10.2.2 The Structure of a Callback Subfunction 466
10.2.3 Adding Application Data to a Figure 466
10.2.4 A Few Useful Functions 468
10.3 Object Properties 469
10.4 Graphical User Interface Components 471
10.4.1 Static Text Fields 472
10.4.2 Edit Boxes 472
10.4.3 Pushbuttons 474
10.4.4 Toggle Buttons 475
10.4.5 Checkboxes and Radio Buttons 475
10.4.6 Popup Menus 478
10.4.7 List Boxes 478
10.4.8 Sliders 481
10.5 Additional Containers: Panels and Button Groups 487
10.5.1 Panels 487
10.5.2 Button Groups 488
10.6 Dialog Boxes 490
10.6.1 Error and Warning Dialog Boxes 490
10.6.2 Input Dialog Boxes 492
10.6.3 The uigetfile, uisetfile, and
uigetdir Dialog Boxes 493
10.6.4 The uisetcolor and uisetfont Dialog Boxes 494
10.7 Menus 495
10.7.1 Suppressing the Default Menu 496
10.7.2 Creating Your Own Menus 497
10.7.3 Accelerator Keys and Keyboard Mnemonics 499
10.7.4 Creating Context Menus 500
10.8 Tips for Creating Efficient GUIs 506
10.8.1 Tool Tips 506
10.8.2 Pcode 507
10.8.3 Toolbars 508
10.8.4 Additional Enhancements 509
10.9 Summary 514
10.9.1 Summary of Good Programming Practice 515
10.9.2 MATLAB Summary 516
10.10 Exercises 517
Chapter 11 The MATLAB Compiler 521
11.1 Setting Up the MATLAB Compiler 522
11.2 Setting Up Computers that
Run Compiled Applications 523
11.3 Using the MATLAB Compiler 523
11.3.1 A Simple Example 524
11.3.2 Additional Details 528
11.3.3 The Deployment Tool 530
11.4 Summary 533
11.4.1 Summary of Good Programming Practice 534
11.4.2 MATLAB Summary 534
11.5 Exercises 534
A ASCII Character Set 535
B Answers to Quizzes 537
Index 555
欢迎大家下载!