[PDF] [PDF] MATLAB Programming

Passing Arguments in Structures or Cell Arrays 4-43 You can diagonally concatenate matrices to form a composite matrix using the



Previous PDF Next PDF





[PDF] MATLAB Programming

Passing Arguments in Structures or Cell Arrays 4-43 You can diagonally concatenate matrices to form a composite matrix using the



[PDF] MATLAB array manipulation tips and tricks

14 août 2002 · efficient ways of performing low-level array manipulation in MATLAB Here, “ manipu- number of dimensions to append To shift and rotate the elements of an array X along dimension dim, first initialize a subscript cell



[PDF] Chapter 2 Numeric, Cell, and Structure Arrays

Chapter 2 Numeric, Cell, and Structure Arrays You can create vectors by '' appending'' one vector to This multiplication is performed in MATLAB as follows:



[PDF] Spreadsheet Link™ Users Guide - ResearchGate

corresponding Spreadsheet Link function in the worksheet cell For example, to set Examples Append Data from a Worksheet Cell Range to a MATLAB Matrix



[PDF] Getting Started With MATLAB

Delimit array elements with tabs –v4 Create a file for MATLAB version 4 – append Append data 



[PDF] EE 250 – Engineering Problem Solving with MATLAB Exercise 

How would you access each number of the two numeric arrays? d Create a 2x3 cell array “B” with contents of your choosing and horizontally concatenate it with “ A 



[PDF] MATLAB Data Import and Export - Computing Tutor

Cell Array Import selected data as a cell array that can contain multiple data Calculate the duration of each electrical outage and append the data to the table



[PDF] textscan

MATLAB has functions that allow reading and saving variables from files — These Similarly, save can be used to write or append a matrix to a file — If what 



[PDF] Creating and Concatenating Matrices

complex classes, such as MATLAB structures and cell arrays To create a matrix of Concatenate matrices along the specified dimension horzcat Horizontally 



[PDF] MATLAB C++ Math Library Users Guide - LPNHE

MATLAB C++ Math Library Version 1 2 Documentation 1-9 Installing than two dimensions, you must concatenate several existing cell arrays using the cat()  

[PDF] append matlab example

[PDF] append matlab list

[PDF] append matlab save

[PDF] append matlab string

[PDF] append matlab table

[PDF] append matlab vector

[PDF] apple accessories

[PDF] apple provisioning utility apu

[PDF] apple provisioning utility download

[PDF] apple support

[PDF] applescript indesign tutorial

[PDF] applet program for event handling in java

[PDF] application approach business

[PDF] application approach database

[PDF] application approach meaning in hindi

Programming

Version 7

MATLAB

The Language of Technical Computing

How to Contact The MathWorks:

www.mathworks.comWeb comp.soft-sys.matlabNewsgroup support@mathworks.com Technical support suggest@mathworks.com Product enhancement suggestions bugs@mathworks.com Bug reports doc@mathworks.com Documentation error reports service@mathworks.com Order status, license renewals, passcodes info@mathworks.com Sales, pricing, and general information

508-647-7000 Phone

508-647-7001 Fax

The MathWorks, Inc. Mail

3 Apple Hill Drive

Natick, MA 01760-2098

For contact information about worldwide offices, see the MathWorks Web site.

MATLAB Programming

? COPYRIGHT 1984 - 2005 by The MathWorks, Inc.

The software described in this document is furnished under a license agreement. The software may be used

or copied only under the terms of the license agreement. No part of this manual may be photocopied or repro-

duced in any form without prior written consent from The MathWorks, Inc. FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by, for, or through the federal government of the United States. By accepting delivery of the Program or

Documentation, the government hereby agrees that this software or documentation qualifies as commercial

computer software or commercial computer software documentation as such terms are used or defined in FAR 12.212, DFARS Part 227.72, and DFARS 252.227-7014. Accordingly, the terms and conditions of this Agreement and only those rights specified in this Agreement, shall pertain to and govern the use,

modification, reproduction, release, performance, display, and disclosure of the Program and Documentation

by the federal government (or other entity acquiring for or through the federal government) and shall

supersede any conflicting contractual terms or conditions. If this License fails to meet the government's

needs or is inconsistent in any respect with federal procurement law, the government agrees to return the

Program and Documentation, unused, to The MathWorks, Inc. MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, and xPC TargetBox are registered trademarks of The MathWorks, Inc. Other product or brand names are trademarks or registered trademarks of their respective holders.

Revision History:

June 2004 First printing New for MATLAB 7.0 (Release 14).

Formerly part of Using MATLAB.

October 2004 Online only Revised for MATLAB 7.0.1 (Release 14SP1) March 2005 Online only Revised for MATLAB 7.0.4 (Release 14SP2) i

Contents

1

Data Structures

Creating and Concatenating Matrices . . . . . . . . . . . . . . . . . . 1-3 Constructing a Simple Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Specialized Matrix Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Concatenating Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Matrix Concatenation Functions . . . . . . . . . . . . . . . . . . . . . . . . 1-8 Generating a Numeric Sequence . . . . . . . . . . . . . . . . . . . . . . . 1-10 Combining Unlike Data Types . . . . . . . . . . . . . . . . . . . . . . . . 1-11 Matrix Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17 Accessing Single Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17 Linear Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18 Functions That Control Indexing Style . . . . . . . . . . . . . . . . . . 1-19 Accessing Multiple Elements . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 Logical Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21 Indexing on Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22 Getting Information About a Matrix . . . . . . . . . . . . . . . . . . . 1-23 Dimensions of the Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23 Data Types Used in the Matrix . . . . . . . . . . . . . . . . . . . . . . . . 1-24 Data Structures Used in the Matrix . . . . . . . . . . . . . . . . . . . . 1-25 Resizing and Reshaping Matrices . . . . . . . . . . . . . . . . . . . . . 1-26 Expanding the Size of a Matrix . . . . . . . . . . . . . . . . . . . . . . . . 1-26 Diminishing the Size of a Matrix . . . . . . . . . . . . . . . . . . . . . . . 1-30 Reshaping a Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31 Preallocating Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33 Shifting and Sorting Matrices . . . . . . . . . . . . . . . . . . . . . . . . . 1-35 Shift and Sort Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-35 Shifting the Location of Matrix Elements . . . . . . . . . . . . . . . . 1-35 Sorting the Data in Each Column . . . . . . . . . . . . . . . . . . . . . . 1-37 Sorting the Data in Each Row . . . . . . . . . . . . . . . . . . . . . . . . . 1-37 Sorting Row Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-38 iiContents Operating on Diagonal Matrices . . . . . . . . . . . . . . . . . . . . . . . 1-39 Constructing a Matrix from a Diagonal Vector . . . . . . . . . . . . 1-39 Returning a Triangular Portion of a Matrix . . . . . . . . . . . . . . . 1-40 Concatenating Matrices Diagonally . . . . . . . . . . . . . . . . . . . . . 1-40 Empty Matrices, Scalars, and Vectors . . . . . . . . . . . . . . . . . . 1-41 The Empty Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-41

Scalars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-44

Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-44

Full and Sparse Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-46 Sparse Matrix Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-46 Multidimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-48 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-48 Creating Multidimensional Arrays . . . . . . . . . . . . . . . . . . . . . . 1-50 Accessing Multidimensional Array Properties . . . . . . . . . . . . . 1-54 Indexing Multidimensional Arrays . . . . . . . . . . . . . . . . . . . . . . 1-54 Reshaping Multidimensional Arrays . . . . . . . . . . . . . . . . . . . . 1-58 Permuting Array Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . 1-60 Computing with Multidimensional Arrays . . . . . . . . . . . . . . . . 1-62 Organizing Data in Multidimensional Arrays . . . . . . . . . . . . . 1-64 Multidimensional Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . 1-66 Multidimensional Structure Arrays . . . . . . . . . . . . . . . . . . . . . 1-67 Summary of Matrix and Array Functions . . . . . . . . . . . . . . . 1-69 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-30 Searching and Replacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33 Converting from Numeric to String . . . . . . . . . . . . . . . . . . . . . 2-34 Converting from String to Numeric . . . . . . . . . . . . . . . . . . . . . 2-36 Function Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38 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 ivContents

Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-66

Creating Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-67 Obtaining Data from Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . 2-70 Deleting Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-72 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-75 Nesting Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-76 Converting Between Cell and Numeric Arrays . . . . . . . . . . . . 2-78 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-8 Scope of a Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Lifetime of a Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9

Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10

Special Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 v

Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13

Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 Relational Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14 Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 Operator Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21 MATLAB Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23 String Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23 Shell Escape Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24 Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 MATLAB Regular Expression Functions . . . . . . . . . . . . . . . . . 3-26 Elements of an Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27 Character Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27 Character Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30 Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31 Lookaround Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34 Quantifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-37

Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41

Handling Multiple Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47 Operator Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-51 Comma-Separated Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-55 Generating a List from a Cell Array . . . . . . . . . . . . . . . . . . . . . 3-55 Generating a List from a Structure . . . . . . . . . . . . . . . . . . . . . 3-56 How to Use the Comma-Separated List . . . . . . . . . . . . . . . . . . 3-57 Fast Fourier Transform Example . . . . . . . . . . . . . . . . . . . . . . . 3-59 Program Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . 3-61 Conditional Control - if, switch . . . . . . . . . . . . . . . . . . . . . . . . 3-61 Loop Control - for, while, continue, break . . . . . . . . . . . . . . . 3-65 Error Control - try, catch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-68 Program Termination - return . . . . . . . . . . . . . . . . . . . . . . . . 3-69 Symbol Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-70 Asterisk - * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-71

At - @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-71

Colon - : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-72

Comma - , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-73 viContents Curly Braces - { } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-74

Dot - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-74

Dot-Dot - .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-75

Dot-Dot-Dot (Ellipsis) - ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-75 Dot-Parentheses - .( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-76 Exclamation Point - ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-76 Parentheses - ( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-77 Percent - % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-77 Percent-Brace - %{ %} . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-78 Semicolon - ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-78 Single Quotes - ' ' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-79 Space Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-79 Slash and Backslash - / \ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-80 Square Brackets - [ ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-80 MATLAB Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-82 M-File Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-82 Built-In Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-83 Overloaded MATLAB Functions . . . . . . . . . . . . . . . . . . . . . . . . 3-84 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-23quotesdbs_dbs22.pdfusesText_28