下载 >  开发技术 >  其它 > Matlab 7 - Programming.pdf

Matlab 7 - Programming.pdf 评分:

该书是系统介绍了MATLAB的所有function功能,可以说是一本programming大全,而且还是英文版,值得收藏,而且敝人还打印了一份,正在苦学之中…… Creating and Concatenating Matrices . . . . . . . . . . . . . . . . . . 1-3 Constructing a Simple Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Specialized Matrix Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Conc atenating Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Matrix Concatenation Functions . . . . . . . . . . . . . . . . . . . . . . . . 1-8 Generating a Numeric Sequence . . . . . . . . . . . . . . . . . . . . . . . 1-10 Combining Unlike Data Types . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 Accessing Elements of a Matrix . . . . . . . . . . . . . . . . . . . . . . . 1-14 Accessing Single Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 Linear Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15 Functions That Control Indexing Style . . . . . . . . . . . . . . . . . . 1-16 Accessing Multiple Elements . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16 Logical Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18 Getting Information About a Matrix . . . . . . . . . . . . . . . . . . . 1-19 Dimensions of the Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 Data Types Used in the Matrix . . . . . . . . . . . . . . . . . . . . . . . . 1-20 Data Structures Used in the Matrix . . . . . . . . . . . . . . . . . . . . 1-21 Resizing and Reshaping Matrices . . . . . . . . . . . . . . . . . . . . . 1-22 Expanding the Size of a Matrix . . . . . . . . . . . . . . . . . . . . . . . . 1-22 Diminishing the Size of a Matrix . . . . . . . . . . . . . . . . . . . . . . . 1-23 Reshaping a Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24 Shifting and Sorting Matrices . . . . . . . . . . . . . . . . . . . . . . . . . 1-26 Shift and Sort Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26 Shifting the Location of Matrix Elements . . . . . . . . . . . . . . . . 1-26 Sorting the Data in Each Column . . . . . . . . . . . . . . . . . . . . . . 1-28 Sorting the Data in Each Row . . . . . . . . . . . . . . . . . . . . . . . . . 1-28 Sorting Row Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-29 Operating on Diagonal Matrices . . . . . . . . . . . . . . . . . . . . . . . 1-30 Constructing a Matrix from a Diagonal Vector . . . . . . . . . . . . 1-30 Returning a Triangular Portion of a Matrix . . . . . . . . . . . . . . . 1-31 Concatenating Matrices Diagonally . . . . . . . . . . . . . . . . . . . . . 1-31 Empty Matrices, Scalars, and Vectors . . . . . . . . . . . . . . . . . . 1-32 The Empty Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32 Scalars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33 Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-34 Full and Sparse Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-35 Sparse Matrix Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-35 Multidimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-37 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-37 Creating Multidimensional Arrays . . . . . . . . . . . . . . . . . . . . . . 1-39 Accessing Multidimensional Array Properties . . . . . . . . . . . . . 1-43 Indexing Multidimensional Arrays . . . . . . . . . . . . . . . . . . . . . . 1-43 Reshaping Multidimensional Arrays . . . . . . . . . . . . . . . . . . . . 1-47 Permuting Array Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . 1-49 Computing with Multidimensional Arrays . . . . . . . . . . . . . . . . 1-51 Organizing Data in Multidimensional Arrays . . . . . . . . . . . . . 1-53 Multidimensional Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . 1-55 Multidimensional Structure Arrays . . . . . . . . . . . . . . . . . . . . . 1-56 Summary of Matrix and Array Functions . . . . . . . . . . . . . . . 1-58 2 Data Types Overview of MATLAB Data Types . . . . . . . . . . . . . . . . . . . . . . 2-2 Numeric Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Floating-Point Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 Complex Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11 Infinity and NaN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12 iii Identifying Numeric Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 Display Format for Numeric Values . . . . . . . . . . . . . . . . . . . . . 2-14 Function Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 Logical Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 Creating a Logical Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 How Logical Arrays Are Used . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 Identifying Logical Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 Characters and Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25 Creating Character Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25 Cell Arrays of Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 String Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29 Searching and Replacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32 Converting from Numeric to String . . . . . . . . . . . . . . . . . . . . . 2-34 Converting from String to Numeric . . . . . . . . . . . . . . . . . . . . . 2-35 Function Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-37 Dates and Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41 Types of Date Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41 Conversions Between Date Formats . . . . . . . . . . . . . . . . . . . . . 2-43 Date String Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-44 Output Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-44 Current Date and Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-46 Function Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-47 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-49 Building Structure Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-50 Accessing Data in Structure Arrays . . . . . . . . . . . . . . . . . . . . . 2-53 Using Dynamic Field Names . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-54 Finding the Size of Structure Arrays . . . . . . . . . . . . . . . . . . . . 2-55 Adding Fields to Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-56 Deleting Fields from Structures . . . . . . . . . . . . . . . . . . . . . . . . 2-56 Applying Functions and Operators . . . . . . . . . . . . . . . . . . . . . . 2-56 Writing Functions to Operate on Structures . . . . . . . . . . . . . . 2-57 Organizing Data in Structure Arrays . . . . . . . . . . . . . . . . . . . . 2-59 Nesting Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-63 Function Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-65 iv Contents Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-66 Creating Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-67 Obtaining Data from Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . 2-70 Deleting Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-71 Reshaping Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-72 Replacing Lists of Variables with Cell Arrays . . . . . . . . . . . . . 2-72 Applying Functions and Operators . . . . . . . . . . . . . . . . . . . . . . 2-74 Organizing Data in Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . 2-74 Nesting Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-75 Converting Between Cell and Numeric Arrays . . . . . . . . . . . . 2-77 Cell Arrays of Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-78 Function Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-79 Function Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-80 Constructing and Invoking a Function Handle . . . . . . . . . . . . 2-80 Calling a Function Using Its Handle . . . . . . . . . . . . . . . . . . . . 2-80 Simple Function Handle Example . . . . . . . . . . . . . . . . . . . . . . 2-81 MATLAB Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-82 Java Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-83 3 Basic Program Components Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Types of Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Naming Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Guidelines to Using Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Scope of a Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Lifetime of a Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Special Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 v Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 Relational Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Operator Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20 MATLAB Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 String Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 Shell Escape Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23 Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25 MATLAB Regular Expression Functions . . . . . . . . . . . . . . . . . 3-25 Elements of an Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 Character Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 Character Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29 Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30 Lookaround Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33 Quantifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36 Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40 Handling Multiple Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46 Operator Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-49 Comma-Separated Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-54 Generating a List from a Cell Array . . . . . . . . . . . . . . . . . . . . . 3-54 Generating a List from a Structure . . . . . . . . . . . . . . . . . . . . . 3-55 How to Use the Comma-Separated List . . . . . . . . . . . . . . . . . . 3-56 Fast Fourier Transform Example . . . . . . . . . . . . . . . . . . . . . . . 3-58 Program Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . 3-60 Conditional Control — if, switch . . . . . . . . . . . . . . . . . . . . . . . . 3-60 Loop Control — for, while, continue, break . . . . . . . . . . . . . . . 3-64 Error Control — try, catch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-67 Program Termination — return . . . . . . . . . . . . . . . . . . . . . . . . 3-68 Symbol Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-69 Asterisk — * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-70 At — @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-70 Colon — : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-71 Comma — , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-72 vi Contents Curly Braces — { } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-73 Dot — . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-73 Dot-Dot — .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-74 Dot-Dot-Dot (Ellipsis) — ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-74 Dot-Parentheses — .( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-75 Exclamation Point — ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-75 Parentheses — ( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-76 Percent — % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-76 Percent-Brace — %{ %} . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-77 Semicolon — ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-77 Single Quotes — ' ' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-78 Space Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-78 Slash and Backslash — / \ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-79 Square Brackets — [ ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-79 MATLAB Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-81 M-File Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-81 Built-In Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-82 Overloaded MATLAB Functions . . . . . . . . . . . . . . . . . . . . . . . . 3-83 4 M-File Programming Program Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Creating a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Getting the Bugs Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 Cleaning Up the Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Improving Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Checking It In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 Working with M-Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Types of M-Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Basic Parts of an M-File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 Creating a Simple M-File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13 Providing Help for Your Program . . . . . . . . . . . . . . . . . . . . . . . 4-15 Creating P-Code Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 vii M-File Scripts and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 M-File Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 M-File Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17 Types of Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18 Identifying Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19 Function Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21 Checking the Number of Input Arguments . . . . . . . . . . . . . . . 4-21 Passing Variable Numbers of Arguments . . . . . . . . . . . . . . . . 4-23 Returning Output Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25 Function Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27 Constructing a Function Handle . . . . . . . . . . . . . . . . . . . . . . . . 4-27 Calling a Function Using Its Handle . . . . . . . . . . . . . . . . . . . . 4-28 Functions That Operate on Function Handles . . . . . . . . . . . . . 4-29 Additional Information on Function Handles . . . . . . . . . . . . . 4-29 Calling Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31 What Happens When You Call a Function . . . . . . . . . . . . . . . . 4-31 Determining Which Function Is Called . . . . . . . . . . . . . . . . . . 4-31 MATLAB Calling Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34 Passing Certain Argument Types . . . . . . . . . . . . . . . . . . . . . . . 4-37 Passing Arguments in Structures or Cell Arrays . . . . . . . . . . . 4-39 Calling External Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40 5 Types of Functions Overview of MATLAB Function Types . . . . . . . . . . . . . . . . . . 5-2 Anonymous Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 Constructing an Anonymous Function . . . . . . . . . . . . . . . . . . . . 5-3 Arrays of Anonymous Functions . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Outputs from Anonymous Functions . . . . . . . . . . . . . . . . . . . . . 5-6 Variables Used in the Expression . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Examples of Anonymous Functions . . . . . . . . . . . . . . . . . . . . . 5-11 viii Contents Primary M-File Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14 Nested Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 Writing Nested Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 Calling Nested Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17 Variable Scope in Nested Functions . . . . . . . . . . . . . . . . . . . . . 5-18 Using Function Handles with Nested Functions . . . . . . . . . . . 5-20 Examples of Nested Functions . . . . . . . . . . . . . . . . . . . . . . . . . 5-25 Subfunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31 Calling Subfunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-32 Accessing Help for a Subfunction . . . . . . . . . . . . . . . . . . . . . . . 5-32 Private Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-33 Private Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-33 Accessing Help for a Private Function . . . . . . . . . . . . . . . . . . . 5-33 Overloaded Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-34 Class Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-34 6 Data Import and Export Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Text Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Graphics Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Audio and Audio/Video Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Spreadsheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Scientific Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 The Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Low-Level File I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 Toolboxes for Importing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 Using the Import Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6 Using the Import Wizard with Text Data . . . . . . . . . . . . . . . . . 6-6 Using the Import Wizard with Binary Data . . . . . . . . . . . . . . . 6-12 ix Supported File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15 Saving and Loading MAT-Files . . . . . . . . . . . . . . . . . . . . . . . . 6-17 Exporting Data to MAT-Files . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17 Importing Data from MAT-Files . . . . . . . . . . . . . . . . . . . . . . . . 6-22 Importing Text Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26 The MATLAB Import Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26 Using Import Functions with Text Data . . . . . . . . . . . . . . . . . 6-26 Importing Numeric Text Data . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29 Importing Delimited ASCII Data Files . . . . . . . . . . . . . . . . . . . 6-30 Importing Numeric Data with Text Headers . . . . . . . . . . . . . . 6-30 Importing Mixed Alphabetic and Numeric Data . . . . . . . . . . . 6-31 Importing from XML Documents . . . . . . . . . . . . . . . . . . . . . . . 6-33 Exporting Text Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34 Exporting Delimited ASCII Data Files . . . . . . . . . . . . . . . . . . . 6-35 Using the diary Function to Export Data . . . . . . . . . . . . . . . . . 6-37 Exporting to XML Documents . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38 Working with Graphics Files . . . . . . . . . . . . . . . . . . . . . . . . . . 6-39 Getting Information About Graphics Files . . . . . . . . . . . . . . . . 6-39 Importing Graphics Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-40 Exporting Graphics Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-40 Working with Audio and Video Data . . . . . . . . . . . . . . . . . . . 6-42 Getting Information About Audio/Video Files . . . . . . . . . . . . . 6-42 Importing Audio/Video Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-43 Exporting Audio/Video Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-44 Working with Spreadsheets . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-46 Microsoft Excel Spreadsheets . . . . . . . . . . . . . . . . . . . . . . . . . . 6-46 Lotus 123 Spreadsheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-49 Working with Scientific Data Formats . . . . . . . . . . . . . . . . . 6-52 Working with Common Data Format (CDF) Files . . . . . . . . . . 6-52 Working with Flexible Image Transport System (FITS) Files 6-55 Working with Hierarchical Data Format (HDF5) Files . . . . . . 6-57 x Contents Importing HDF4 and HDF-EOS Data . . . . . . . . . . . . . . . . . . . 6-67 Using the HDF Import Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-67 Using the HDF4 Import Tool Subsetting Options . . . . . . . . . . 6-72 Using the MATLAB hdfread Function . . . . . . . . . . . . . . . . . . . 6-82 Using the HDF4 Command-Line Interface . . . . . . . . . . . . . . . 6-86 Exporting MATLAB Data to an HDF4 File . . . . . . . . . . . . . . 6-94 Example: Exporting Data to an HDF4 File . . . . . . . . . . . . . . . 6-94 Using the MATLAB HDF Utility API . . . . . . . . . . . . . . . . . . . 6-101 Using Low-Level File I/O Functions . . . . . . . . . . . . . . . . . . . 6-103 Opening Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-104 Reading Binary Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-106 Writing Binary Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-108 Controlling Position in a File . . . . . . . . . . . . . . . . . . . . . . . . . 6-108 Reading Strings Line by Line from Text Files . . . . . . . . . . . . 6-110 Reading Formatted ASCII Data . . . . . . . . . . . . . . . . . . . . . . . 6-112 Writing Formatted Text Files . . . . . . . . . . . . . . . . . . . . . . . . . 6-113 Closing a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-114 Exchanging Files over the Internet . . . . . . . . . . . . . . . . . . . 6-116 Downloading Web Content and Files . . . . . . . . . . . . . . . . . . . 6-116 Creating and Uncompressing Zip Archives . . . . . . . . . . . . . . 6-118 Sending E-Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-119 Performing FTP File Operations . . . . . . . . . . . . . . . . . . . . . . . 6-121 7 Error Handling Checking for Errors with try-catch . . . . . . . . . . . . . . . . . . . . . 7-2 Nested try-catch Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 Handling and Recovering from an Error . . . . . . . . . . . . . . . . 7-4 Reporting an Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 Identifying the Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 Regenerating an Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 xi Message Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 Identifier Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 Using Message Identifiers with lasterr . . . . . . . . . . . . . . . . . . . 7-9 Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 Reporting a Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 Identifying the Cause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 Warning Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 Warning Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 Warning Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15 Output from Control Statements . . . . . . . . . . . . . . . . . . . . . . . 7-17 Saving and Restoring State . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20 Debug, Backtrace, and Verbose Modes . . . . . . . . . . . . . . . . . . . 7-21 Debugging Errors and Warnings . . . . . . . . . . . . . . . . . . . . . . 7-23 8 Classes and Objects Classes and Objects: An Overview . . . . . . . . . . . . . . . . . . . . . . 8-2 Features of Object-Oriented Programming . . . . . . . . . . . . . . . . 8-2 MATLAB Data Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Creating Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 Invoking Methods on Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 Private Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 Helper Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 Debugging Class Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 Setting Up Class Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 Tips for C++ and Java Programmers . . . . . . . . . . . . . . . . . . . . . 8-7 Designing User Classes in MATLAB . . . . . . . . . . . . . . . . . . . . . 8-9 The MATLAB Canonical Class . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 The Class Constructor Method . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 Examples of Constructor Methods . . . . . . . . . . . . . . . . . . . . . . 8-11 Identifying Objects Outside the Class Directory . . . . . . . . . . . 8-11 xii Contents The display Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 Accessing Object Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 The set and get Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 Indexed Reference Using subsref and subsasgn . . . . . . . . . . . 8-14 Handling Subscripted Reference . . . . . . . . . . . . . . . . . . . . . . . . 8-15 Handling Subscripted Assignment . . . . . . . . . . . . . . . . . . . . . . 8-17 Object Indexing Within Methods . . . . . . . . . . . . . . . . . . . . . . . 8-18 Defining end Indexing for an Object . . . . . . . . . . . . . . . . . . . . . 8-19 Indexing an Object with Another Object . . . . . . . . . . . . . . . . . 8-19 Converter Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 Overloading Operators and Functions . . . . . . . . . . . . . . . . . 8-21 Overloading Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 Overloading Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23 Example — A Polynomial Class . . . . . . . . . . . . . . . . . . . . . . . . 8-24 Polynom Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 Polynom Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 The Polynom Constructor Method . . . . . . . . . . . . . . . . . . . . . . 8-24 Converter Methods for the Polynom Class . . . . . . . . . . . . . . . . 8-25 The Polynom display Method . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28 The Polynom subsref Method . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28 Overloading Arithmetic Operators for polynom . . . . . . . . . . . . 8-29 Overloading Functions for the Polynom Class . . . . . . . . . . . . . 8-31 Listing Class Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-33 Building on Other Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35 Simple Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35 Multiple Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-36 Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-37 Example — Assets and Asset Subclasses . . . . . . . . . . . . . . . . 8-38 Inheritance Model for the Asset Class . . . . . . . . . . . . . . . . . . . 8-38 Asset Class Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39 Other Asset Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39 The Asset Constructor Method . . . . . . . . . . . . . . . . . . . . . . . . . 8-39 The Asset get Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-41 The Asset set Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-41 The Asset subsref Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-42 The Asset subsasgn Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43 xiii The Asset display Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-44 The Asset fieldcount Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-45 Designing the Stock Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-45 The Stock Constructor Method . . . . . . . . . . . . . . . . . . . . . . . . . 8-46 The Stock get Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48 The Stock set Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-49 The Stock subsref Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-50 The Stock subsasgn Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-51 The Stock display Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-53 Example — The Portfolio Container . . . . . . . . . . . . . . . . . . . 8-54 Designing the Portfolio Class . . . . . . . . . . . . . . . . . . . . . . . . . . 8-54 The Portfolio Constructor Method . . . . . . . . . . . . . . . . . . . . . . 8-55 The Portfolio display Method . . . . . . . . . . . . . . . . . . . . . . . . . . 8-56 The Portfolio pie3 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-57 Creating a Portfolio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-58 Saving and Loading Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-60 Modifying Objects During Save or Load . . . . . . . . . . . . . . . . . . 8-60 Example — Defining saveobj and loadobj for Portfolio . . 8-61 Summary of Code Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-61 The saveobj Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-62 The loadobj Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-62 Changing the Portfolio Constructor . . . . . . . . . . . . . . . . . . . . . 8-63 The Portfolio subsref Method . . . . . . . . . . . . . . . . . . . . . . . . . . 8-64 Object Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-65 Specifying Precedence of User-Defined Classes . . . . . . . . . . . . 8-66 How MATLAB Determines Which Method to Call . . . . . . . 8-67 Selecting a Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-67 Querying Which Method MATLAB Will Call . . . . . . . . . . . . . . 8-70
...展开详情收缩
2009-06-11 上传大小:4.72MB
立即下载 开通VIP
想读
分享
收藏 (1) 举报
MSP430 Memory Programming.pdf

MSP430 Memory Programming.pdf MSP430 Memory Programming.pdf MSP430 Memory Programming.pdf

立即下载
Expert C Programming.pdf

Expert C Programming.pdf Expert C Programming.pdf Expert C Programming.pdf Expert C Programming.pdf

立即下载
Matlab - Math Problems solving with Matlab Programming.pdf

1 Engineering Problem Solving 1 1.1 Problem-Solving Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 ProblemSolving Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Computing Software . . . . . . . . . . . . . . . . . . . . . . . . . .

立即下载
Mastering Embedded Linux Programming Second Edition

Mastering Embedded Linux Programming Second Edition Copyright © 2017 Packt Publishing Chris Simmonds

立即下载
Linux Sound Programming.pdf

Linux Sound Programming.pdf Linux Sound Programming.pdf

立即下载
Mastering ROS for Robotics Programming.pdf

Mastering ROS for Robotics Programming.pdf Mastering ROS for Robotics Programming.pdf Mastering ROS for Robotics Programming.pdf

立即下载
Mastering Embedded Linux Programming.pdf

Mastering Embedded Linux Programming.pdf Mastering Embedded Linux Programming.pdf

立即下载
Arduino Computer Vision Programming.pdf

Arduino Computer Vision Programming.pdf Arduino Computer Vision Programming.pdf

立即下载
A LIGHTWEIGHT FRAMEWORK FOR PEER-TO-PEER programming

A LIGHTWEIGHT FRAMEWORK FOR PEER-TO-PEER programming.pdf A LIGHTWEIGHT FRAMEWORK FOR PEER-TO-PEER programming.pdf

立即下载
Mastering_ROS_for_Robotics_Programming.pdf

ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is licensed under an open source, BSD license.

立即下载
Android Programming.pdf

Android Programming.pdf

立即下载
Learning Functional Programming in Go 无水印原版pdf

Learning Functional Programming in Go 英文无水印原版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书

立即下载
Learning ROS for Robotics Programming.pdf

Learning ROS for Robotics Programming.pdf

立即下载
Apache Cordova 4 Programming.pdf

Apache Cordova 4 Programming.pdf

立即下载
Java Servlet Programming

Java Servlet Programming.pdf

立即下载
Expert Python programming.pdf

Expert Python programming.pdf

立即下载
Advanced MFC

Advanced MFC Programming.pdf

立即下载
POSIX Threads Programming.pdf

POSIX Threads Programming.pdf

立即下载
Cython 原版pdf by Smith

Cython: A Guide for Python Programmers covers all you need to know about the eponymous creole programming language and Python-to-C compiler. If you have heard of Cython and want to find out more, or if you have been using Cython and want to go deeper, then this book is for you. Cython is not another

立即下载
linux advanced programming.pdf 与 UNIX环境高级编程.pdf 合集

linux advanced programming.pdf 与 UNIX环境高级编程.pdf 合集 linux advanced programming.pdf 与 UNIX环境高级编程.pdf 合集

立即下载
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

Matlab 7 - Programming.pdf

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: