1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Introduction to matlab application to electrical engineering

98 475 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 2,34 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

In mathematical computations, especially those that utilize vectors and matrices, MATLAB is better in terms of ease of use, availability of built-in functions, ease of programming, and s

Trang 1

1

Introduction to Matlab: Application to Electrical

Engineering

Houssem Rafik El Hana Bouchekara Umm El Qura University

(version 1, Februray 2011)

Trang 2

2

Contents

1 CHAPTER 1 7

1.1 T UTORIAL LESSONS 1 7

1.1.1 Introduction 7

1.2 S TARTING AND Q UITTING MATLAB 8

1.2.1 Starting MATLAB 8

1.2.2 Quitting MATLAB 8

1.3 MATLAB D ESKTOP 8

1.4 D ESKTOP T OOLS 10

1.4.1 Command Window 10

1.4.2 Command History 11

1.4.3 Launch Pad 12

1.4.4 Help Browser 12

1.4.5 Current Directory Browser 13

1.4.6 Workspace Browser 14

1.4.7 Editor/Debugger 16

1.5 G ETTING STARTED 17

1.5.1 Using MATLAB as a calculator 17

1.5.2 Creating MATLAB variables 18

1.5.3 Overwriting variable 19

1.5.4 Error messages 19

1.5.5 Making corrections 19

1.5.6 Controlling the hierarchy of operations or precedence 19

1.5.7 Controlling the appearance of floating point number 21

1.5.8 Managing the workspace 21

1.5.9 Keeping track of your work session 22

1.5.10 Entering multiple statements per line 22

1.5.11 Miscellaneous commands 22

1.5.12 Getting help 23

1.6 E XERCISES 23

2 CHAPTER 2 24

2.1 M ATHEMATICAL FUNCTIONS 24

Trang 3

3

2.1.1 Examples 25

2.2 B ASIC PLOTTING 26

2.2.1 Overview 26

2.2.2 Creating simple plots 26

2.2.3 Adding titles, axis labels, and annotations 27

2.2.4 Multiple data sets in one plot 28

2.2.5 Specifying line styles and colors 29

2.2.6 Copy/Paste Figures 31

2.2.7 Saving Figures 32

2.3 E XERCISES 32

2.4 A NIMATIONS 33

2.4.1 Erase Mode Method 33

2.4.2 Creating Movies 34

2.5 W ORKING WITH M ATRICES 35

2.5.1 Introduction 35

2.5.2 Matrix generation 35

2.6 E XERCISES 45

3 CHAPTER 3: ARRAY OPERATIONS AND LINEAR EQUATIONS 46

3.1 A RRAY OPERATIONS 46

3.1.1 Matrix arithmetic operations 46

3.1.2 Array arithmetic operations 46

3.2 S OLVING LINEAR EQUATIONS 47

3.2.1 Matrix inverse 49

3.2.2 Matrix functions 50

3.3 E XERCISES 50

4 CHAPTER 4: INTRODUCTION TO PROGRAMMING IN MATLAB 51

4.1 I NTRODUCTION 51

4.2 M-F ILE S CRIPTS 51

4.2.1 Examples 51

4.2.2 Script side-effects 53

4.3 M-F ILE FUNCTIONS 53

4.3.1 Anatomy of a M-File function 53

4.3.2 Input and output arguments 54

Trang 4

4

4.4 I NPUT /O UTPUT C OMMANDS 55

4.5 E XERCISES 58

5 CHAPTER 5: CONTROL FLOW AND OPERATORS 59

5.1 I NTRODUCTION 59

5.2 C ONTROL FLOW 59

5.2.1 The ‘‘if end’’ structure 59

5.2.2 Relational and logical operators 60

5.2.3 The ‘‘for end’’ loop 61

5.2.4 The ‘‘while end’’ loop 62

5.2.5 Other flow structures 62

5.2.6 Operator precedence 62

5.3 S AVING OUTPUT TO A FILE 63

5.4 E XERCISES 63

6 CHAPTER 6: DEBUGGING M-FILES 64

6.1 I NTRODUCTION 64

6.2 D EBUGGING PROCESS 64

6.2.1 Preparing for debugging 64

6.2.2 Setting breakpoints 64

6.2.3 Running with breakpoints 65

6.2.4 Examining values 65

6.2.5 Correcting and ending debugging 65

6.2.6 Ending debugging 65

6.2.7 Correcting an M-file 65

7 APPENDIX A: SUMMARY OF COMMANDS 67

8 APPENDIX C: MAIN CHARACTERISTICS OF MATLAB 70

8.1 H ISTORY 70

8.2 S TRENGTHS 70

8.3 W EAKNESSES 70

8.4 C OMPETITION 70

9 BIBLIOGRAPHY 71

Trang 5

5 Matlab is an interactive system for doing numerical computations The aim of this book is to help the

student to be familiar with Matlab The emphasis here is "learning by doing"

Trang 6

6

About the author

Houssem REH Bouchekara is an assistant professor in the electrical engineering department of Umm Al-Qura University He has received his BS in electrical engineering from University Mentouri Constantine, Algeria, in 2004 He received his Master’s in Electronic Systems and Electrical Engineering from Polytechnic School of the University of Nantes, France, 2005 He received his Ph.D in Electrical Engineering from Grenoble Electrical Engineering Laboratory, France, in 2008 His research interest includes Electric machines, Magnetic refrigeration, and Power system

Trang 7

7

1 Chapter 1

1.1 Tutorial lessons 1

1.1.1 Introduction

The primarily objective is to help you learn quickly the first steps The emphasis here is “learning by

doing” Therefore, the best way to learn is by trying it yourself Working through the examples will give you

a feel for the way that MATLAB operates In this introduction we will describe how MATLAB handles simple numerical expressions and mathematical formulas

The name MATLAB stands for MATrix LABoratory MATLAB was written originally to provide easy access to matrix software developed by the LINPACK (linear system package) and EISPACK (Eigen system package) projects

The basic building block in MATLAB is the matrix The fundamental data type is the array Vectors,

scalars, real and complex matrices are all automatically handled as special cases of basic arrays The

built-in functions are optimized for vector operations Thus, vectorized commands or codes run much faster built-in MATLAB (vectorization is a way of computing in which an operation is performed simultaneously on a list

of numbers rather than sequentially on each member of the list)

A nice thing to realize is that MATLAB is primarily a numerical computation package, although with

the 'Symbolic' Toolbox it can do also symbolic algebra Mathematica, Maple, and Macsyma are primarily

symbolic algebra packages MATLAB's ease of use is its best feature since you can have more learning with less effort, while the computer algebra systems have a steeper learning curve

In mathematical computations, especially those that utilize vectors and matrices, MATLAB is better

in terms of ease of use, availability of built-in functions, ease of programming, and speed MATLAB's popularity today has forced such packages as Macsyma and Mathematica to provide extensions for files in MATLAB's format

There are numerous prepared commands for 2D and 3D graphics as well as for animation The

user is not limited to the built-in functions; he can write his own functions in MATLAB language Once

written, these functions work just like the internal functions MATLAB's language is designed to be easy to

learn and use

The many built-in functions provide excellent tools for linear algebra, signal processing, data analysis, optimization, solution of ordinary differential equations (ODEs), and many other types of scientific operations

There are also several optional 'toolboxes' available which are collections of functions written for

special applications such as 'Image Processing', 'Statistics', 'Neural Networks', etc

The software package has been commercially available since 1984 and is now considered as a standard tool at most universities and industries worldwide

Trang 8

On Linux, to start MATLAB, type matlab at the operating system prompt

After starting MATLAB, the MATLAB desktop opens – see “MATLAB Desktop”

You can change the directory in which MATLAB starts, define startup options including running a script upon startup, and reduce startup time in some situations

1.2.2 Quitting MATLAB

To end your MATLAB session, select Exit MATLAB from the File menu in the desktop, or type quit

in the Command Window To execute specified functions each time MATLAB quits, such as saving the workspace, you can create and run a finish.m script

Trang 9

9

Figure 1: The graphical interface to the MATLAB workspace

You can change the way your desktop looks by opening, closing, moving, and resizing the tools in

it You can also move tools outside of the desktop or return them back inside the desktop (docking) All the desktop tools provide common features such as context menus and keyboard shortcuts

You can specify certain characteristics for the desktop tools by selecting Preferences from the File

menu For example, you can specify the font characteristics for Command Window text For more

information, click the Help button in the Preferences dialog box as shown in Figure 2

Trang 11

Figure 4: Command History

To save the input and output from a MATLAB session to a file, use the diary function

Trang 12

12

Running External Programs

You can run external programs from the MATLAB Command Window The exclamation point character ! is a shell escape and indicates that the rest of the input line is a command to the operating system This is useful for invoking Timestamp marks the start of each session

Select one or more lines and right-click to copy, evaluate, or create an M-file from the selection utilities or running other programs without quitting MATLAB On Linux, for example,

!emacs magik.m

invokes an editor called emacs for a file named magik.m When you quit the external program, the operating system returns control to MATLAB

1.4.3 Launch Pad

MATLAB’s Launch Pad provides easy access to tools, demos, and documentation

Figure 5: Launch Pad

Trang 13

13

Figure 6: Help Browser

1.4.5 Current Directory Browser

MATLAB file operations use the current directory and the search path as reference points Any file you want to run must either be in the current directory or on the search path

A quick way to view or change the current directory is by using the Current Directory field in the desktop toolbar as shown below

Figure 7: Current Directory Browser

To search for, view, open, and make changes to MATLAB-related directories and files, use the MATLAB Current Directory browser Alternatively, you can use the functions dir, cd, and delete

Trang 14

14

Figure 8: Current Directory Browser

Search Path

To determine how to execute functions you call, MATLAB uses a search path to find M-files and

other MATLAB-related files, which are organized in directories on your file system Any file you want to run

in MATLAB must reside in the current directory or in a directory that is on the search path By default, the files supplied with MATLAB and MathWorks toolboxes are included in the search path

To see which directories are on the search path or to change the search path, select Set Path from the File menu in the desktop, and use the Set Path dialog box Alternatively, you can use the path function

to view the search path, addpath to add directories to the path, and rmpath to remove directories from the path

1.4.6 Workspace Browser

The MATLAB workspace consists of the set of variables (named arrays) built up during a MATLAB session and stored in memory You add variables to the workspace by using functions, running M-files, and loading saved workspaces

To view the workspace and information about each variable, use the Workspace browser, or use the functions who and whos

To delete variables from the workspace, select the variable and select Delete from the Edit menu

Alternatively, use the clear function

Trang 15

15

The workspace is not maintained after you end the MATLAB session To save the workspace to a

file that can be read during a later MATLAB session, select Save Workspace As from the File menu, or use

the save function This saves the workspace to a binary file called a MAT-file, which has a mat extension

There are options for saving to different formats To read in a MAT-file, select Import Data from the File

menu, or use the load function

Figure 9: Workspace Browser

Array Editor

Double-click on a variable in the Workspace browser to see it in the Array Editor Use the Array Editor to view and edit a visual representation of one- or two-dimensional numeric arrays, strings, and cell arrays of strings that are in the workspace

Figure 10: Array Editor

Trang 16

You can use any text editor to create M-files, such as Emacs, and can use preferences (accessible

from the desktop File menu) to specify that editor as the default If you use another editor, you can still

use the MATLAB Editor/ Debugger for debugging, or you can use debugging functions, such as dbstop, which sets a breakpoint

If you just need to view the contents of an M-file, you can display it in the Command Window by using the type function

Trang 17

>> for full version

EDU> for educational version

Note: To simplify the notation, we will use this prompt, >>, as a standard prompt sign, though our

MATLAB version is for educational purpose

1.5.1 Using MATLAB as a calculator

As an example of a simple interactive calculation, just type the expression you want to evaluate Let’s start at the very beginning For example, let’s suppose you want to calculate the expression, You type it at the prompt command (>>) as follows,

>> 1+2*3

ans =

7

You will have noticed that if you do not specify an output variable, MATLAB uses a default variable

‘ans’, short for answer, to store the results of the current calculation Note that the variable ‘ans’ is created (or overwritten, if it is already existed) To avoid this, you may assign a value to a variable or output argument name For example,

>> x = 1+2*3

7

will result in x being given the value This variable name can always be used to

refer to the results of the previous computations Therefore, computing 4x will result in

>> 4*x

ans =

28.0000

Before we conclude this minimum session, Table 1.1 gives the partial list of commonly used

MATLAB operators and special characters used to solve many engineering and science problems

Trang 18

18

Table 1: Operators and special Characteristics

After learning the minimum MATLAB session, we will now learn to use some additional operations 1.5.2 Creating MATLAB variables

MATLAB variables are created with an assignment statement The syntax of variable assignment is variable name = a value (or an expression)

Trang 19

19

1.5.3 Overwriting variable

Once a variable has been created, it can be reassigned In addition, if you do not wish to see the intermediate results, you can suppress the numerical output by putting a semicolon (;) at the end of the line Then the sequence of commands looks like this:

1.5.6 Controlling the hierarchy of operations or precedence

Let’s consider the previous arithmetic operation, but now we will include parentheses For

example, will become

Trang 20

20

>> 1+2*3

ans =

7

By adding parentheses, these two expressions give different results: 9 and 7

The order in which MATLAB performs arithmetic operations is exactly that taught in high school

algebra courses Exponentiations are done first, followed by multiplications and divisions, and finally by additions and subtractions However, the standard order of precedence of arithmetic operations can be changed by inserting parentheses For example, the result of is quite different than the similar

expression with parentheses The results are 7 and 9 respectively Parentheses can always

be used to overrule priority, and their use is recommended in some complex expressions to avoid

ambiguity

Therefore, to make the evaluation of expressions unambiguous, MATLAB has estab- lished a series

of rules The order in which the arithmetic operations are evaluated is given in Table 2Table 2 MATLAB

arithmetic operators obey the same precedence rules as those in

Table 2: Hierarchy of arithmetic operations

Precedence Mathematical operations

First The contents of all parentheses are evaluated first, starting from the innermost

parentheses and working outward

Second All exponentials are evaluated, working from left to right

Third All multiplications and divisions are evaluated, working from left to right

Fourth All additions and subtractions are evaluated, starting from left to right

most computer programs For operators of equal precedence, evaluation is from left to right Now,

consider another example:

Trang 21

21

So here what we get: two different results Therefore, we want to emphasize the importance of precedence rule in order to avoid ambiguity

1.5.7 Controlling the appearance of floating point number

MATLAB by default displays only 4 decimals in the result of the calculations, for example

−163.6667, as shown in above examples However, MATLAB does numerical calculations in double

precision, which is 15 digits The command format controls how the results of computations are displayed Here are some examples of the different formats together with the resulting outputs

To return to the standard format, enter format short, or simply format

There are several other formats For more details, see the MATLAB documentation, or type help format

Note - Up to now, we have let MATLAB repeat everything that we enter at the prompt (>>) Sometimes this is not quite useful, in particular when the output is pages en length To prevent MATLAB from echoing what we type, simply enter a semicolon (;) at the end of the command For example,

1.5.8 Managing the workspace

The contents of the workspace persist between the executions of separate commands There- fore, it is possible for the results of one problem to have an effect on the next one To avoid this possibility, it is a good idea to issue a clear command at the start of each new independent calculation

>> clear

The command clear or clear all removes all variables from the workspace This frees up system memory In order to display a list of the variables currently in the memory, type

Trang 22

where FileName could be any arbitrary name you choose

The function diary is useful if you want to save a complete MATLAB session They save all input and output as they appear in the MATLAB window When you want to stop the recording, enter diary off

If you want to start recording again, enter diary on The file that is created is a simple text file It can be opened by an editor or a word processing program and edited to remove extraneous material, or to add your comments You can use the function type to view the diary file or you can edit in a text editor or print This command is useful, for example in the process of preparing a homework or lab submission 1.5.10 Entering multiple statements per line

It is possible to enter multiple statements per line Use commas (,) or semicolons (;) to enter more than one statement at once Commas (,) allow multiple statements per line without suppressing output

>> a=7; b=cos(a), c=cosh(a)

Here are few additional useful commands:

• To clear the Command Window, type clc

• To abort a MATLAB computation, type ctrl-c

• To continue a line, type

Trang 23

23

1.5.12 Getting help

To view the online documentation, select MATLAB Help from Help menu or MATLAB Help directly

in the Command Window The preferred method is to use the Help Browser The Help Browser can be

started by selecting the ? icon from the desktop toolbar On the other hand, information about any command is available by typing

>> help Command

Another way to get help is to use the lookfor command The lookfor command differs from the help command The help command searches for an exact function name match, while the lookfor command searches the quick summary information in each function for a match For example, suppose

that we were looking for a function to take the inverse of a matrix Since MATLAB does not have a

function named inverse, the command help inverse will produce nothing On the other hand, the command lookfor inverse will produce detailed information, which includes the function of interest, inv

>> lookfor inverse

Note - At this particular time of our study, it is important to emphasize one main point Because

MATLAB is a huge program; it is impossible to cover all the details of each function one by one However,

we will give you information how to get help Here are some examples:

 Use on-line help to request info on a specific function

Trang 24

evaluated by the functions sin, cos, tan, exp, and log respectively in MATLAB

Table 3 lists some commonly used functions, where variables x and y can be numbers, vectors, or matrices

Table 3: Elementary functions

Trang 26

• Only use built-in functions on the right hand side of an expression Reassigning the value to a

built-in function can create problems

• There are some exceptions For example, i and j are pre-assigned to However one or both of i or j are often used as loop indices

• To avoid any possible confusion, it is suggested to use instead ii or jj as loop indices

2.2 Basic plotting

2.2.1 Overview

MATLAB has an excellent set of graphic tools Plotting a given data set or the results of computation is possible with very few commands You are highly encouraged to plot mathematical functions and results of analysis as often as possible Trying to understand mathematical equations with graphics is an enjoyable and very efficient way of learning math- ematics Being able to plot mathematical functions and data freely is the most important step, and this section is written to assist you to do just that

2.2.2 Creating simple plots

The basic MATLAB graphing procedure, for example in 2D, is to take a vector of x- coordinates, x = (x1, , xN ), and a vector of y-coordinates, y = (y1, , yN ), locate the points (xi, yi), with i = 1, 2, , n and then join them by straight lines You need to prepare x and y in an identical array form; namely, x and

y are both row arrays or column arrays of the same length

The MATLAB command to plot a graph is plot(x,y) The vectors x = (1, 2, 3, 4, 5, 6) and y = (3, −1, 2,

4, 5, 1) produce the picture shown in Figure 2.1

>> x = [1 2 3 4 5 6];

>> y = [3 -1 2 4 5 1];

>> plot(x,y)

Trang 27

27

Note: The plot functions has different forms depending on the input arguments If y is a vector plot(y)produces a piecewise linear graph of the elements of y versus the index of the elements of y If we specify two vectors, as mentioned above, plot(x,y) produces a graph of y versus x

For example, to plot the function sin (x) on the interval [0, 2π], we first create a vector of x values ranging from 0 to 2π, then compute the sine of these values, and finally plot the result:

Figure 12: Plot for the vectors x and y

• If you omit the increment, MATLAB automatically increments by 1

2.2.3 Adding titles, axis labels, and annotations

MATLAB enables you to add axis labels and titles For example, using the graph from the previous

example, add an x- and y-axis labels

Now label the axes and add a title The character \pi creates the symbol π An example of 2D plot

is shown in Figure 2.2

Trang 28

28

Figure 2.2: Plot of the Sine function

>> xlabel(’x = 0:2\pi’)

>> ylabel(’Sine of x’)

>> title(’Plot of the Sine function’)

The color of a single curve is, by default, blue, but other colors are possible The desired color is indicated by a third argument For example, red is selected by plot(x,y,’r’) Note the single quotes, ’ ’, around r

2.2.4 Multiple data sets in one plot

Multiple (x, y) pairs arguments create multiple graphs with a single call to plot For example, these statements plot three related functions of x: y1 = 2cos(x), y2 = cos(x), and y3 = 0.5*cos(x), in the interval

Trang 29

29

>> legend('2*cos(x)','cos(x)','0.5*cos(x)')

>> title('Typical example of multiple plots')

>> axis([0 2*pi -3 3])

The result of multiple data sets in one graph plot is shown in Figure 13

Figure 13: Typical example of multiple plots

By default, MATLAB uses line style and color to distinguish the data sets plotted in the graph

However, you can change the appearance of these graphic components or add annotations to the graph to help explain your data for presentation

2.2.5 Specifying line styles and colors

It is possible to specify line styles, colors, and markers (e.g., circles, plus signs, ) using the plot command: plot(x,y,’style_color_marker’), where style_color_marker is a triplet of values from Table 5

To find additional information, type help plot or doc plot

Table 5: Attributes for plot

Symbol Color Symbol Line Style Symbol Marker

Trang 30

Specifying the Color and Size of Markers You can also specify other line characteristics using

graphics properties (see line for a description of these properties):

LineWidth —Specifies the width (in points) of the line

MarkerEdgeColor —Specifies the color of the marker or the edge color for filled markers

(circle,square, diamond, pentagram, hexagram, and the four triangles)

MarkerFaceColor —Specifies the color of the face of filled markers

MarkerSize —Specifies the size of the marker in units of points

For example, these statements, produce the graph of

Trang 31

31

Figure 14: the graph of the precedent example

2.2.6 Copy/Paste Figures

Figures can be pasted into other apps (word, ppt, etc)

Editcopy optionsfigure copy templateChange font sizes, line properties; presets for word and ppt

Editcopy figure to copy figure

Paste into document of interest

Figure 15: Copy/Paste Figures

Trang 32

32

Figures can be saved in many formats The common ones are given the following figure

Figure 16: Saving figure

2.3 Exercises

Trang 33

33

2.4 Animations

MATLAB provides two ways of generating moving, animated graphics:

 Continually erase and then redraw the objects on the screen, making incremental changes with each redraw

 Save a number of different pictures and then play them back as a movie

2.4.1 Erase Mode Method

Using the EraseMode property is appropriate for long sequences of simple plots where the change from frame to frame is minimal Here is an example showing simulated Brownian motion Specify a number of points, such as

n = 20

and a temperature or velocity, such as

s = 02

The best values for these two parameters depend upon the speed of your particular computer

Generate n random points with (x,y) coordinates between –1/2 +1/2

x = rand(n,1)-0.5;

y = rand(n,1)-0.5;

Plot the points in a square with sides at -1 and +1 Save the handle for the vector of points and set its EraseMode to xor This tells the MATLAB graphics system not to redraw the entire plot when the coordinates of one point are changed, but to restore the background color in the vicinity of the point using

an “exclusive or” operation

Now begin the animation Here is an infinite while loop, which you can eventually exit by typing

Ctrl+c Each time through the loop, add a small amount of normally distributed random noise to the

coordinates of the points

Then, instead of creating an entirely new plot, simply change the XData and YData properties of the original plot

while 1

Trang 34

How long does it take for one of the points to get outside of the square? How long before all of the points are outside the square?

Figure 17: Animation

2.4.2 Creating Movies

If you increase the number of points in the Brownian motion example to something like n = 300 and s = 02, the motion is no longer very fluid; it takes too much time to draw each time step It becomes

more effective to save a predetermined number of frames as bitmaps and to play them back as a movie

First, decide on the number of frames, say nframes = 50;

Next, set up the first plot as before, except using the default EraseMode (normal)

x = rand(n,1)-0.5;

y = rand(n,1)-0.5;

h = plot(x,y,'.');

set(h,'MarkerSize',18);

Trang 35

Matrices are the basic elements of the MATLAB environment A matrix is a two-dimensional array

consisting of m rows and n columns Special cases are column vectors (n = 1) and row vectors (m = 1)

In this section we will illustrate how to apply different operations on matrices The following topics

are discussed: vectors and matrices in MATLAB, the inverse of a matrix, determinants, and matrix manipulation

MATLAB supports two types of operations, known as matrix operations and array opera- tions

Matrix operations will be discussed first

2.5.2 Matrix generation

Matrices are fundamental to MATLAB Therefore, we need to become familiar with matrix generation and manipulation Matrices can be generated in several ways

2.5.2.1 Entering a vector

A vector is a special case of a matrix The purpose of this section is to show how to create vectors

and matrices in MATLAB As discussed earlier, an array of dimension 1 × n is called a row vector, whereas

an array of dimension m × 1 is called a column vector The elements of vectors in MATLAB are enclosed by

square brackets and are separated by spaces or by commas For example, to enter a row vector, v, type

Trang 36

Thus, v(1) is the first element of vector v, v(2) its second element, and so forth Furthermore, to

access blocks of elements, we use MATLAB’s colon notation (:) For example, to access the first three

Trang 37

A matrix is an array of numbers To type a matrix into MATLAB you must

• begin with a square bracket, [

• separate elements in a row with spaces or commas (,)

• use a semicolon (;) to separate rows

• end the matrix with another square bracket, ]

Here is a typical example To enter a matrix A, such as,

type,

Trang 38

38

Once we have entered the matrix, it is automatically stored and remembered in the Workspace

We can refer to it simply as matrix A We can then view a particular element in a matrix by specifying its location We write,

We select elements in a matrix just as we did for vectors, but now we need two indices The

element of row i and column j of the matrix A is denoted by A(i,j) Thus, A(i,j) in MATLAB refers to the element Aij of matrix A The first index is the row number and the second index is the column number For example, A(1,3) is an element of first row and third column Here, A(1,3)=3

Correcting any entry is easy through indexing Here we substitute A(3,3)=9 by

A(3,3)=0 The result is

>> A(3,3) = 0

Single elements of a matrix are accessed as A(i,j), where i ≥ 1 and j ≥ 1 Zero or negative subscripts

are not supported in MATLAB

2.5.2.4 Colon operator

The colon operator will prove very useful and understanding how it works is the key to efficient and convenient usage of MATLAB It occurs in several different forms

Often we must deal with matrices or vectors that are too large to enter one ele- ment at a time

For example, suppose we want to enter a vector x consisting of points (0, 0.1, 0.2, 0.3, · · · , 5) We can use

the command

>> x = 0:0.1:5;

The row vector has 51 elements

2.5.2.5 Linear spacing

On the other hand, there is a command to generate linearly spaced vectors: linspace It is similar

to the colon operator (:), but gives direct control over the number of points For example,

y = linspace(a,b)

generates a row vector y of 100 points linearly spaced between and including a and b

Trang 39

divides the interval [0, 2π] into 100 equal subintervals, then creating a vector of 101 elements

2.5.2.6 Colon operator in a matrix

The colon operator can also be used to pick out a certain row or column For example, the

statement A(m:n,k:l specifies rows m to n and column k to l Subscript expressions refer to portions of a

matrix For example,

>> A(2,:)

ans =

is the second row elements of A

The colon operator can also be used to extract a sub-matrix from a matrix A

A(:,2:3) is a sub-matrix with the last two columns of A

A row or a column of a matrix can be deleted by setting it to a null vector, [ ]

Trang 40

It is important to note that the colon operator (:) stands for all columns or all rows To create a

vector version of matrix A, do the following

Ngày đăng: 06/02/2016, 08:23

TỪ KHÓA LIÊN QUAN