release numbers matlab is updated regularly the mathworks packages their software in groups, called...

Post on 31-Dec-2015

220 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Release Numbers

• MATLAB is updated regularly• The Mathworks packages their software in

groups, called releases, New releases are issued twice a year in the spring and in the fallRelease 2013a includes– MATLAB 8.1– A number of specialized “toolboxes”

MATLAB has two different methods for executing commands: interactive mode and batch mode.

In interactive mode, commands are typed (or cut and pasted) into the command window.

In batch mode, a series of commands is saved in a text file with a .m extension. The batch commands in a file are then executed by typing the name of the file at the MATLAB command prompt.

What Is MATLAB?

MATLAB is an interpreted language. Commands are executed line by line.

It supports two basic types: characters like 'a' (16 bits) and doubles like 8.25 (64 bits).

Most of the time MATLAB works with arrays or matrices of real numbers or characters.

Other types are also supported: complex, symbolic (if installed), 16-bit and 8-bit integers, etc...

The MATLAB Language

Problem Solving• A standardized approach to problem solving commonly

found in all science disciplines.• 1.first you state the problem, • 2.then describe the input and output.• 3. Develop a plan for solving the problem, called an

algorithm. • 4.Then you actually solve the problem, in our case using

MATLAB, and • 5. finally you test your solution for reasonableness.

If you use a consistent problem solving strategy you increase the chance that your result is correct

MATLAB

• MATLAB uses a standard windows menu bar

• To exit MATLAB use the close icon

Command Window

Enter commands at the prompt

MATLAB WindowsCommand History Window Records all commands issued in the command window – including mistakes

Current Folder WindowLists files stored in the current directory

Workspace Window

The MATLAB DesktopCu

rren

t Fol

der W

indo

w

Command Window

Workspace Window

Command History Window

Let’s look at the windows one at a time

At the prompt (>>), type in a MATLAB command. Press the ENTER key.

MATLAB displays the result in the command window, followed by a prompt.

Repeat the process.

The Command Window

To start a command, make sure cursor is next to the prompt.

MATLAB won’t respond until you press ENTER. It then executes only the last command.

Commands before the last one may still be visible, but MATLAB doesn’t execute them.

Notes on the Command Window

You can type several commands in the same line by putting a comma between commands. (makes the program harder to read though, so it is not recommended).

If a command is too long to fit on one line, you can continue to the next line by typing ellipsis (3 periods, i.e., … ) and then pressing ENTER.

Notes on the Command Window

When cursor is in the bottom (current) command line:

key moves the cursor one character to the left.

key moves the cursor one character to the right.

key recalls the preceding command

key recalls a previous command if it follows.

Navigating the Command Window

Command Window

• Similar to a scratch pad• Once you hit enter, you can’t edit any

commands• You can retype them or use the arrow keys

to retrieve commands and edit them before hitting enter again

Command Window

The PAGE-UP key moves up to previous commands in a window-size at a time.

The PAGE-DOWN key moves down to previous commands in a window-size at a time.

The BACKSPACE (Delete on Mac) key deletes one character to the left of the cursor.

The DELETE (fn-Delete on Mac) key deletes one character to the right of the cursor.

Navigating the Command Window

To quickly execute a previous command but with small changes:

Recall the command with the up and down arrow keys.

Use the left and right arrow keys to move to characters to be altered.

Use BACKSPACE (Mac: Delete) or DELETE (Mac: fn-Delete) to remove old characters, then type new characters.

Press ENTER to execute the modified command.

T I P

Semicolon (;)

When typed at end of a command, it suppresses the output. (only the prompt is displayed at the next line)

Useful for preventing display of large outputs

Used much more in scripts (see Section 1.8 of text book)

Percent sign (%)

When typed at beginning of a line, MATLAB treats the line as a comment and doesn’t execute the line.

Also used much more in scripts.

Command Syntax

Clears the command window display.

The up and down arrows still bring back the previous commands.

The clc Command

Shows the previous commands, including the ones from previous MATLAB sessions.

Double-clicking on a command puts it in the command window and executes it.

You can drag a command to the command window, make changes in it, then execute it.

The Command History Window

Command History

• Records the commands you issue in the command window

• When you exit the command window, or when you issue the clc command, the command window is cleared

• But the command history remains

Command History

Command History

• You can transfer commands from the command history to the command window– Double click on a command

• It executes immediately– Click and drag into the command window

• You can edit the command before executing

Workspace Window

Workspace Window

NOTE!• When you define variables in the command window, they are

listed in the workspace window• Document Window:If you double click on any variable in the workspace window

MATLAB launches a document window containing the array editor

You can edit variables in the array editor• Figure Window:When Figures are created a new window opensIt’s extremely easy to create graphs in MATLAB

The Figure Window

The Figure Window opens automatically after any command that draws a graph.

Figure Window

Scalar

Vector

2-D Matrix

Current Directory/Folder

• The current folder window is a list of files• When you try to load information from a file

or try to save information – MATLAB uses the current folder

The Document Window displays the variable editor

New Variable Icon

Note: The semicolon suppresses the output from each command

First create a vector of x values – then a corresponding vector of y values

Matlab makes it easy to modify graphs by adding

•Titles

•Axis labels

•Legends

•Other types of annotations

MATLAB

Semicolon (;)

When typed at end of a command, it suppresses the output. (only the prompt is displayed at the next line)

Useful for preventing display of large outputs

Used much more in scripts (see Section 1.8 of text book)

Percent sign (%)

When typed at beginning of a line, MATLAB treats the line as a comment and doesn’t execute the line.

Also used much more in scripts.

Command Syntax

Clears the command window display.

The up and down arrows still bring back the previous commands.

The clc Command

Note: The semicolon suppresses the output from each command

First create a vector of x values – then a corresponding vector of y values

Matlab makes it easy to modify graphs by adding

•Titles

•Axis labels

•Legends

•Other types of annotations

Editing Window

• This window allows you to type and save a series of commands without executing them

• There are several ways to open an editing window– From the file menu– With the new file icon

Open an editing window from the file menu or with the new file icon

New file icon

Use the editor/debugger window to write and debug MATLAB scripts. Open with the Edit command.

Editor/Debugger Window

The Editor Window

Get the help window from the Help menu in any MATLAB window.

(may vary according to version)

The Help Window

In this lesson we will only discuss arithmetic with scalars (single numbers).

We can do arithmetic directly on numbers (like a calculator).

Or, we can store numbers in variables (containers).

Arithmetic Operations

Symbols for arithmetic operations are:

Note: Left division is rarely used with scalars.

Operation Symbol

Example

Addition + 5 + 3

Subtraction – 5 – 3

Multiplication

* 5 * 3

Right division

/ 5 / 3

Left division \ 5 \ 3 = 3 / 5

Exponentiation

^ 5 ^ 3 (means 5 to the power of 3 = 125)

Arithmetic Operators

Order in which MATLAB does arithmetic:

Precedence Mathematical Operation

First Parentheses. For nested parentheses, the innermost are executed first

Second Exponentiation

Third Multiplication, division (equal precedence)

Fourth Addition and subtraction

Arithmetic Operations Precedence Order

The MATLAB precedence order is

The same as most calculators.

The same as doing arithmetic by hand.

For multiple operations of same precedence, MATLAB goes left to right.

You can change order by using parentheses.

Arithmetic Operations Precedence Rules

Type in a mathematical expression.

Press the Enter key.

MATLAB displays the answer in the command window as ans = followed by the result. Example:

>> 2 * x - 2 ans = 6

Your display may appear on more than one line and have blank lines between the text.

Using MATLAB as a Calculator

You can control the display of numbers with the format command.

Once a command is entered, the format stays the same until another format command is issued.

The default format is fixed point with four digits to the right of the decimal point. fixed-point means decimal point always between one’s-digit and one-tenth’s digit.

The format command only affects the display of numbers. MATLAB always computes and saves numbers in full precision.

Formatting the Display

Style Result Exampleshort (default) Short fixed decimal

format, with 4 digits after the decimal point.

3.1416

long Long fixed decimal format, with 15 digits after the decimal point for double values, and 7 digits after the decimal point for single values.

3.141592653589793

shortG The more compact of short fixed decimal or scientific notation. If you are displaying a matrix with a wide range of values, consider using shortG.

3.1416

bank Currency format, with 2 digits after the decimal point.

3.14

Command Description Example

format short

Fixed-point with 4 decimal digits for:0.001 ≤ number ≤ 1000Otherwise display format short e

>> 290/7ans =41.4286

format long

Fixed-point with 15 decimal digits for:0.001 ≤ number ≤ 1000Otherwise display format long e

>> 290/7ans =41.428571428571431

format short e

Scientific notation with 4 decimal digits

>> 290/7ans =4.1429e+001

format long e

Scientific notation with 15 decimal digits

>> 290/7ans =4.142857142857143e+001

format compact

Eliminates empty lines to allow more lines with information displayed on the screen

format loose

Adds empty lines (opposite of compact)

MATLAB expressions can include functions. You can think of a function as a black box that, in general, takes inputs, does some computations with them, and produces outputs.

function

Inputs Outputs

functiony

tan(y/x)x

MATLAB Built-In Functions

A function

Has a name.

Can have zero or more arguments (inputs).

Can produce zero or more outputs.

y = sqrt(x)

name argumentoutput

MATLAB Built-In Functions

A function’s arguments can be numbers,

or variables (explained in the next section),

or expressions involving numbers, variables, or functions.

sqrt(64) argument is a number

sqrt(a) argument is the variable a

atan( y/sqrt(3^2+y^2) )argument is an expression that has a number (3), a variable (y), and a function (sqrt)

MATLAB Built-In Functions

sqrt(x) – square root

nthroot(x,n) – nth real root

exp(x) – e to the power of x

abs(x) – absolute value

log(x) – natural log (base e)

log10(x) – log base 10

factorial(x) – x!

See Table 1-3 of text book for details.

Elementary Math Functions

sin(x) – sine (x in radians)

sind(x) – sine (x in degrees)

cos(x) – cosine (x in radians)

cosd(x) – cosine (x in degrees)

tan(x) – tangent (x in radians)

tand(x) – tangent (x in degrees)

cot(x) – cotangent (x in radians)

cotd(x)- cotangent (x in degrees)

See Table 1-4 for of text book for details.

Elementary Trig Functions

round(x) – round to nearest integer

fix(x) – round toward zero (transforms a double into an integer)

ceil(x) – round toward infinity

floor(x) – round toward minus infinity

rem(x,y) – remainder after x is divided by y (also called modulus)

sign(x) – returns 1 if x is positive, -1 if x is negative, zero if x is zero

See Table 1-5 for of text book for details.

Rounding Functions

round(A) – Positive elements with a fractional part of 0.5 round up to the nearest positive integer. Negative elements with a fractional part of -0.5 round down to the nearest negative integer. a = -1.9 round(a) a= -2.0000 0 , a=-0.2 round(a) a=0, a=3.4 round(a) a= 3.0000, a=5.6 round(a) a=6.0000

fix(A) – rounds the elements of A toward zero, resulting in an array of integers a = -1.9 fix(a) a= -1.0000 , a=-0.2 fix(a) a=0, a=3.4 fix(a) a= 3.0000, a=5.6 fix(a) a=5.0000

ceil(A) – rounds the elements of A to the nearest integers greater than or equal to A.

a = -1.9 ceil(a) ans = -1.0000 , a = -0.2000 ceil(a) ans =0 , a = 3.4000 ceil(a) ans = 4.0000

floor(A) – rounds the elements of A to the nearest integers less than or equal to A

A = -1.9 floor(A) ans = -2.0000, A = -0.2 floor(A) ans = -1.0000, A = 3.4 floor(A) ans = 3.0000

rem(X,Y) – Remainder after division of X by Y. X = 23; Y = 5; R = rem(X,Y) R=3,

X = 1:5; Y = 3; R = rem(X,Y) R= 1 2 0 1 2

X = [1 2 3;4 5 6;7 8 9]; Y = [9 8 7;6 5 4;3 2 1]; R = rem(X,Y) R = 1 2 3

4 0 2

1 0 0

Functions Examples

Variables

• MATLAB allows you to assign a value to a variable

A=5• Should be read as A is assigned a value of 5• Use the variables in subsequent calculations

A variable is a name that is assigned a numerical value

Once assigned, can use variable in expressions, functions, and MATLAB statements and commands.

Can read the variable (get its value).

Can write to the variable (set its value).

Defining Scalar Variables

= (equals sign) is MATLAB’s assignment operator. It evaluates the expression on its right side and stores the resulting value in the variable on its left sideCreate the variable called a and store the value 3 in it

>> a = 3MATLAB acknowledges that it has created a and set it to 3

a =

3

Assigning Values to Variables

Example:

>> a = 3

a =

3

>> b = 10 * a + 5

b =

35

Create a variable and store a number in it

Create a variable and store the value of an expression made up of a variable, numbers, and addition and multiplication

Assignment Operator

Think of = as meaning “assign to” or “store in” but not meaning “equals”!

Why?

x = x + 6 has no meaning in math because it implies that 0 = 6.

x = x + 6 is perfectly fine in MATLAB because it means “take whatever is in x (the x on the right side), add 6 to that and store the result back into x (the x on the left side which really is the same container (variable) named x)”.

How Assignment Works

Example:

>> x = 3;

>> x = x + 6

x =

9

>> x = 2 * x

x =

18

; at end prevents MATLAB from displaying value of x.

takes what’s in x (3), adds 6 to it to get 9, then stores 9 back into x.

now x’s value is 9

takes what’s in x (9), multiplies it by 2 to get 18, then stores 18 back into x

now x’s value is 18

Assignment Operator Examples

A variable must have a value before you use it in an expression.

>> x = 3;

>> x + 2

ans =

5

>> x + y % assume y is undefined

??? Undefined function or variable 'y'

comment

Assignment Operator Warning

>> x = 3;

>> y = 10 * x;

>> z = y ^ 2;

>> y

y =

30

>> z

z =

900

The Value of a Variable

To find out the value of a variable, just type it and press ENTER.

You can do multiple assignments on one line by separating them with a comma or semicolon. If semicolon, no display for that assignment.

>> a=12, B=4; C=(a-B)+40-a/B*10

a =

12

C =

18

Multiple Assignments

To change the value of a variable, just assign it the new value.

>> ABB=72;

>> ABB=9;

>> ABB

ABB =

9

Changing the Value of a Variable

Only the last value is kept!One value at a time in a scalar variable. The original value of 72 is gone!

You must define a variable (give it a value) before you can use it in an argument of a function.

>> sqrt( x ) % assume x undefined

??? Undefined function or variable 'x'

>> x = 144;

>> sqrt( x )

x =

12

Variables and Functions

Naming Variables

• All names must start with a letter• They may contain letters, numbers and the

underscore ( _ )• Names are case sensitive• There are certain keywords you can’t use

Must begin with a letter.

Can be up to 63 characters long.

Can contain letters, digits, and underscores (_).

Can’t contain punctuation, e.g., period, comma, semicolon.

Avoid using the name of a built-in function as the name of a variable, e.g., don’t call a variable exp or sqrt.

Variable Name Rules

MATLAB is case-sensitive, and does not consider an upper-case letter in a variable name to be the same as its lower-case counterpart,

MTV, MTv, mTV, and mtv are four different variable names!

Variable Name Rules

A variable name cannot contain a space. Two common alternatives:

Use an underscore in place of a space, ex: speed_of_light.

Capitalize the first letter of every word, ex: SpeedOfLight.

Variable Name Rules

A keyword or reserved word is a word that has special meaning to MATLAB. There are 20 keywords:break, case, catch, classdef, continue, else, elseif, end, for, function, global, if, otherwise, parfor, persistent, return, spmd, switch, try, while

They appear in blue when typed in the editor/debugger window (type iskeyword to see the list).

They can’t be used as variable names.

Variable Name RulesMATLAB Keywords

Use the iskeyword function for a list of keywords

iskeyword

ans = 'break' 'case' 'catch' 'classdef' 'continue' 'else' 'elseif' 'end‘ 'for‘ 'function'

'global' 'if' 'otherwise' 'parfor' 'persistent' 'return‘ ‘spmd’ 'switch' 'try' 'while'

Keywords are not acceptable variable names

You can reassign function names

• MATLAB will let you use built-in function names as variables – but it’s a really bad idea

• sin = 3 changes sin from a function to a variable name

• clear sin resets sin back to a function

Which of these names are allowed in MATLAB?

• test• Test• if• my-book• my_book• Thisisoneverylongnamebutisitstillallowed?• 1stgroup• group_one• zzaAbc• z34wAwy?12#• sin• log

Which of these names are allowed in MATLAB?

• test• Test• if• my-book• my_book• Thisisoneverylongnamebutisitstillallowed?• 1stgroup• group_one• zzaAbc• z34wAwy?12#• sin• log

x

x

x

x

x x

bad idea

top related