introduction to matlab · 2019. 2. 1. · matlab is an interpreted language (no need to compile)...

41
Introduction to MATLAB Gianluca Bianchin [email protected] Graduate Quantitative Methods Center University of California, Riverside LFSC1425 - January 25, 2018 G. Bianchin (UCR GradQuant) Introduction to MATLAB January 25, 2018 1 / 39

Upload: others

Post on 20-Aug-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Introduction to MATLAB

Gianluca Bianchingbian001ucredu

Graduate Quantitative Methods CenterUniversity of California Riverside

LFSC1425 - January 25 2018

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 1 39

Why MATLAB

Perform mathematical computation and signal (data) processing

Analyzing and visualizing data

Model and simulate physical systems

Testing your hypothesis design

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 2 39

What is MATLAB

MATLAB = Matrix Laboratory developed by MathWorks

Is a numerical computing environment

Includes a proprietary programming language

Includes optional toolboxes for specific applications

Includes Simulink package for simulation of dynamical and embeddedsystems and a number of toolboxes developed for specific applications(Computer Vision SimBiology Econometrics )

MathWorks introduced great features for integration with R C++LATEX

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 3 39

Outline

1 Using the Command Window

2 Storing and processing data Arrays and Matrices

3 Processing data and arrays

4 Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 4 39

Desktop interface

Figure Matlab interface

Current folder

Editor

Workspace

Command windowG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 5 39

Using the Command Window

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 6 39

Operations operators and variables

Operations 32 52ˆ3+4(3)

Operators + - ˆ

Variables assignmenta = 3 b = 2 c = ab month = August

Variables can be visualized in the correspondent section

Some notes1 No need to define variable types2 Variable names must begin with a letter3 Case sensitive4 Avoid names that correspond to functions

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 7 39

Pre-defined variables and functions

Variables pi=314159 i = j =radicminus1 inf NaN

Functionssqrt(x) sin(x) cos(x) tan(x) exp(x) log(x)

round(x) floor(x) ceil(x)

To obtain function description help functionName or clickldquohelpldquo from the toolbar

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 8 39

Script files

A script file is a collection of MATLAB commands that are executed insequence

Extension mClick on the new script iconTo run Hit the green arrow in the toolbar

Figure A script is a collection of commandsG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 9 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 2: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Why MATLAB

Perform mathematical computation and signal (data) processing

Analyzing and visualizing data

Model and simulate physical systems

Testing your hypothesis design

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 2 39

What is MATLAB

MATLAB = Matrix Laboratory developed by MathWorks

Is a numerical computing environment

Includes a proprietary programming language

Includes optional toolboxes for specific applications

Includes Simulink package for simulation of dynamical and embeddedsystems and a number of toolboxes developed for specific applications(Computer Vision SimBiology Econometrics )

MathWorks introduced great features for integration with R C++LATEX

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 3 39

Outline

1 Using the Command Window

2 Storing and processing data Arrays and Matrices

3 Processing data and arrays

4 Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 4 39

Desktop interface

Figure Matlab interface

Current folder

Editor

Workspace

Command windowG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 5 39

Using the Command Window

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 6 39

Operations operators and variables

Operations 32 52ˆ3+4(3)

Operators + - ˆ

Variables assignmenta = 3 b = 2 c = ab month = August

Variables can be visualized in the correspondent section

Some notes1 No need to define variable types2 Variable names must begin with a letter3 Case sensitive4 Avoid names that correspond to functions

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 7 39

Pre-defined variables and functions

Variables pi=314159 i = j =radicminus1 inf NaN

Functionssqrt(x) sin(x) cos(x) tan(x) exp(x) log(x)

round(x) floor(x) ceil(x)

To obtain function description help functionName or clickldquohelpldquo from the toolbar

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 8 39

Script files

A script file is a collection of MATLAB commands that are executed insequence

Extension mClick on the new script iconTo run Hit the green arrow in the toolbar

Figure A script is a collection of commandsG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 9 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 3: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

What is MATLAB

MATLAB = Matrix Laboratory developed by MathWorks

Is a numerical computing environment

Includes a proprietary programming language

Includes optional toolboxes for specific applications

Includes Simulink package for simulation of dynamical and embeddedsystems and a number of toolboxes developed for specific applications(Computer Vision SimBiology Econometrics )

MathWorks introduced great features for integration with R C++LATEX

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 3 39

Outline

1 Using the Command Window

2 Storing and processing data Arrays and Matrices

3 Processing data and arrays

4 Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 4 39

Desktop interface

Figure Matlab interface

Current folder

Editor

Workspace

Command windowG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 5 39

Using the Command Window

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 6 39

Operations operators and variables

Operations 32 52ˆ3+4(3)

Operators + - ˆ

Variables assignmenta = 3 b = 2 c = ab month = August

Variables can be visualized in the correspondent section

Some notes1 No need to define variable types2 Variable names must begin with a letter3 Case sensitive4 Avoid names that correspond to functions

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 7 39

Pre-defined variables and functions

Variables pi=314159 i = j =radicminus1 inf NaN

Functionssqrt(x) sin(x) cos(x) tan(x) exp(x) log(x)

round(x) floor(x) ceil(x)

To obtain function description help functionName or clickldquohelpldquo from the toolbar

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 8 39

Script files

A script file is a collection of MATLAB commands that are executed insequence

Extension mClick on the new script iconTo run Hit the green arrow in the toolbar

Figure A script is a collection of commandsG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 9 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 4: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Outline

1 Using the Command Window

2 Storing and processing data Arrays and Matrices

3 Processing data and arrays

4 Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 4 39

Desktop interface

Figure Matlab interface

Current folder

Editor

Workspace

Command windowG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 5 39

Using the Command Window

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 6 39

Operations operators and variables

Operations 32 52ˆ3+4(3)

Operators + - ˆ

Variables assignmenta = 3 b = 2 c = ab month = August

Variables can be visualized in the correspondent section

Some notes1 No need to define variable types2 Variable names must begin with a letter3 Case sensitive4 Avoid names that correspond to functions

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 7 39

Pre-defined variables and functions

Variables pi=314159 i = j =radicminus1 inf NaN

Functionssqrt(x) sin(x) cos(x) tan(x) exp(x) log(x)

round(x) floor(x) ceil(x)

To obtain function description help functionName or clickldquohelpldquo from the toolbar

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 8 39

Script files

A script file is a collection of MATLAB commands that are executed insequence

Extension mClick on the new script iconTo run Hit the green arrow in the toolbar

Figure A script is a collection of commandsG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 9 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 5: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Desktop interface

Figure Matlab interface

Current folder

Editor

Workspace

Command windowG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 5 39

Using the Command Window

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 6 39

Operations operators and variables

Operations 32 52ˆ3+4(3)

Operators + - ˆ

Variables assignmenta = 3 b = 2 c = ab month = August

Variables can be visualized in the correspondent section

Some notes1 No need to define variable types2 Variable names must begin with a letter3 Case sensitive4 Avoid names that correspond to functions

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 7 39

Pre-defined variables and functions

Variables pi=314159 i = j =radicminus1 inf NaN

Functionssqrt(x) sin(x) cos(x) tan(x) exp(x) log(x)

round(x) floor(x) ceil(x)

To obtain function description help functionName or clickldquohelpldquo from the toolbar

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 8 39

Script files

A script file is a collection of MATLAB commands that are executed insequence

Extension mClick on the new script iconTo run Hit the green arrow in the toolbar

Figure A script is a collection of commandsG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 9 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 6: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Using the Command Window

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 6 39

Operations operators and variables

Operations 32 52ˆ3+4(3)

Operators + - ˆ

Variables assignmenta = 3 b = 2 c = ab month = August

Variables can be visualized in the correspondent section

Some notes1 No need to define variable types2 Variable names must begin with a letter3 Case sensitive4 Avoid names that correspond to functions

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 7 39

Pre-defined variables and functions

Variables pi=314159 i = j =radicminus1 inf NaN

Functionssqrt(x) sin(x) cos(x) tan(x) exp(x) log(x)

round(x) floor(x) ceil(x)

To obtain function description help functionName or clickldquohelpldquo from the toolbar

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 8 39

Script files

A script file is a collection of MATLAB commands that are executed insequence

Extension mClick on the new script iconTo run Hit the green arrow in the toolbar

Figure A script is a collection of commandsG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 9 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 7: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Operations operators and variables

Operations 32 52ˆ3+4(3)

Operators + - ˆ

Variables assignmenta = 3 b = 2 c = ab month = August

Variables can be visualized in the correspondent section

Some notes1 No need to define variable types2 Variable names must begin with a letter3 Case sensitive4 Avoid names that correspond to functions

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 7 39

Pre-defined variables and functions

Variables pi=314159 i = j =radicminus1 inf NaN

Functionssqrt(x) sin(x) cos(x) tan(x) exp(x) log(x)

round(x) floor(x) ceil(x)

To obtain function description help functionName or clickldquohelpldquo from the toolbar

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 8 39

Script files

A script file is a collection of MATLAB commands that are executed insequence

Extension mClick on the new script iconTo run Hit the green arrow in the toolbar

Figure A script is a collection of commandsG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 9 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 8: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Pre-defined variables and functions

Variables pi=314159 i = j =radicminus1 inf NaN

Functionssqrt(x) sin(x) cos(x) tan(x) exp(x) log(x)

round(x) floor(x) ceil(x)

To obtain function description help functionName or clickldquohelpldquo from the toolbar

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 8 39

Script files

A script file is a collection of MATLAB commands that are executed insequence

Extension mClick on the new script iconTo run Hit the green arrow in the toolbar

Figure A script is a collection of commandsG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 9 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 9: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Script files

A script file is a collection of MATLAB commands that are executed insequence

Extension mClick on the new script iconTo run Hit the green arrow in the toolbar

Figure A script is a collection of commandsG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 9 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 10: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 11: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Your First Script file

Write a script that computes the area and circumference of a circle anddisplays them as an output

1 radiusV = 4 Variable definition2 areaV = piradiusVˆ2 Computation and assignment3 disp(The area is ) Function to display a statement4 disp(areaV)5 circumV = 2piradiusV6 disp(The circumference is )7 disp(circumV)

Semicolon is used to drop output

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 10 39

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 12: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Some useful notes

Matlab is an interpreted language (no need to compile)

When you pick a name for a script you must follow the same rules asfor naming variables

The script file must be in your current directory

Begin your script with clear close all clc

Debug button Publish button

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 11 39

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 13: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Storing and processing data Arrays and Matrices

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 12 39

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 14: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Arrays (and Matrices)

Matrices and Arrays are extremely important because they are used tostore data we would like to process visualize

While other programming languages mostly work with one number ata time MATLAB is designed to operate primarily on whole matricesand arrays

A matrix is a two-dimensional array often used for linear algebra

v =

1234

w =[2 minus5 9

]M =

3 1 02 3 14 2 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 13 39

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 15: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Arrays definition and addressing

To create an array with four elements in a single row separate theelements with either a comma () or a spacev = [1 2 3 4]

To create a multidimensional array separate the rows with semicolons()M = [3 1 0 2 3 1 4 2 3]

To address entries of an arrayv(1) v(3end) M(12)

Colon () indicates an interval of indexes

Entries can be removed from an arrayv(3)= []

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 14 39

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 16: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Arrays definition

Another way to create a matrix is to use a function such asones() zeros() or rand()

v = rand(14) creates a 1times 4 array with random numbers within[0 1]

To create a vector with values from 1 to 10 and spaced by 001t = 10110

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 15 39

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 17: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Operations on Arrays

MATLAB allows you to process all of the values in a matrix using a singlearithmetic operator or function

v + 10 v

Function computed over vectors return a vector with the outputsqrt(v) sin(v) exp(v)

Matrix multiplication MN MN

Matrix power M2 Mˆ2

Element-wise multiplication M N MN

Concatenation V = [v v] V = [vv]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 16 39

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 18: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Functions on Arrays

Some useful functions for arraysmax() min()

mean() median() cov() var()

sum() diff() cumsum()

Sorting sort(v)

Find find(v==3) find(vgt1)

Size length(v) size(M)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 17 39

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 19: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Hands on Room temperature

Assume we the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to describe this data display the max and mintemperature and plot the temperature over time

8 10 12 14 16 18 20

Time of the day

725

73

735

74

745

75

755

76

765

Tem

pera

ture

Room temperature

Figure Room temperature over time

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 18 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 20: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 21: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Hands on Room temperature (code)

Assume the average temperature in a room during a day (8am-8pm) is75F and that the thermostat introduces Gaussian noise (micro = 0 σ = 1)We are requested to model this system generate temperature data displaythe max and min temperature and plot the temperature over time

1 time = 8120 Use 24 hours format23 noHours = length(time) Length of the interval considered45 rTemp = 75ones(1noHours) + randn(1noHours) 75F + noise67 disp(The max temperature is )8 disp(max(rTemp))9

10 disp(The min temperature is )11 disp(min(rTemp))1213 figure plot(timerTemp) Plot

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 19 39

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 22: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Plotting

Two-dimensional line and points are created with the commandplot(xdataydata)

1 x = 0 01 2pi xdata2 y1 = sin(x) first set of ydata3 y2 = cos(x) second set of ydata4 plot(x y1 -)5 hold on to plot on the same figure6 plot(x y2 +)

0 1 2 3 4 5 6 7-1

-08

-06

-04

-02

0

02

04

06

08

1

sin(x)cos(x)

Figures can be edited and saved from the window menuG Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 20 39

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 23: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Linestyle markers and colors

We can specify our own colors markers and linestyles by giving plot athird argument

Scanned by CamScanner

plot(xybp) plot(xyc-) plot(xym+)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 21 39

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 24: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Useful commands when plotting

hold on allows multiple plots on the same figure

grid on displays a grid in the background

axis([xmin xmax ymin ymax]) sets axis limits

xlabel() renames x axis

ylabel() renames y axis

title() sets a title for the figure

legend() sets a legend for the figure

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 22 39

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 25: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Plotting Title axis and legend

For example

1 xlabel(x (radians)) label the x-axis2 ylabel(sine and cosine function) label the y-axis3 title(sin(x) cos(x))4 legend(sin(x) cos(x))

Advanced formatting in next MATLAB workshop1 Advanced legends and adjust axis2 Adjust axis font (LaTeX) and size3 3D plotting4 Axis scaling logarithmic axis

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 23 39

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 26: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Plotting pie chart

We can create a pie chart

1 a = [5 1 16 12 8 21]2 pie(aa==max(a))3 title(Example pie chart)

Example pie chart

7

14

22

17

11

29

Figure Pie chart created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 24 39

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 27: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Plotting histogram

We can create a histogram with

1 x = -4142 y = [1 26 31 4 5 45 38 21 1]3 bar(xy)

-4 -3 -2 -1 0 1 2 3 4

0

005

01

015

02

025

03

035

04

045

05

Figure Histogram created with code above

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 25 39

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 28: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Processing data and arrays

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 26 39

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 29: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Conditional Statements

There are times when you want certain parts of your program to beexecuted only in limited circumstances

1 if (condition)2 (matlab commands)3 end

For instance

1 a = 22 b = 33 if (altb)4 j = -15 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 27 39

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 30: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Conditional Statements

condition represents true and false through a logic expression

The logical operators are1 ==~=2 ltgt gt= lt=

To combine more than one conditional statement use1 ampamp ||

Other useful operators are1 all(condition) is the condition satisfied for all the elements2 any(condition) is the condition satisfied for any of the elements3 find(condition) find the elements that satisfy the condition4 isempty(input) is the input a empty matrix 5 ischar(input) is the input a vector of characters6

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 28 39

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 31: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Conditional Statements

More complicated structures are also possible including combinationslike the following

1 if (condition statement)2 (matlab commands)3 elseif (condition statement)4 (matlab commands)5 elseif (condition statement)6 (matlab commands)7 8 9

10 else11 (matlab commands)12 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 29 39

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 32: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

FOR loop

Loops are useful when we need to execute a certain operation to everyentry of an array or we have to execute a certain operation depending onthe value of each entry of an array

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 30 39

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 33: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

FOR loop Syntax

Loop a specific number of times and keep track of each iterationwith an incrementing index variable

Syntax

1 for index = values2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 31 39

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 34: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

FOR loop Example

Example erase (set to zero) the entries greater than 3 in thefollowing array v = [1 2 7 9 1 4 1]

Expected output v = [1 2 0 0 1 0 1]

Code

1 v = [1 2 7 9 1 4 1]2 arrayLen = length(v)3 for i=1arrayLen4 if v(i)gt35 v(i)=06 end7 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 32 39

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 35: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

WHILE loop

Loop as long as a condition remains true

With respect to for loop we may not know the number if iterationsat the beginning

Example generate random numbers (between 1 and 5) until number1 appears

Syntax

1 while (expression)2 (statements)3 end

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 33 39

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 36: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Loops

Tip

If you inadvertently create an infinite loop (a loop that never ends on itsown) stop execution of the loop by pressing Ctrl+C

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 34 39

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 37: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Saving and Loading data

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 35 39

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 38: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Save and Load workspace

Variables in the workspace can be saved in a format naive to MATLABwith extension mat

The save command can be used to store variablessave filename

save filename var1 var2 var 3

To load a file use the load command load filename

load filename var1 var2 var 3

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 36 39

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 39: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

Importing and exporting data

MATLAB includes functions to import and export data from most of thecommon file extensions

textread reads formatted text from txt file

xlsread reads from Excel file

xlswrite writes an Excel file

For example

1 [NUMTXTRAW]=xlsread(myDataExcelxlsx)2 xlswrite(tmpxlsNUM)

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 37 39

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 40: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

In ldquoAdvanced MATLABldquo On Feb 22 2018

Multidymensional Arrays

Functions

Files and IO

Try-Catch

Cell Arrays

Structures

Data interpolation(310) integration and differentiation

Symbolic manipulator

Linear algebra amp systems of equations

Extrapolation and Regression

Plot Formatting

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 38 39

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data
Page 41: Introduction to MATLAB · 2019. 2. 1. · Matlab is an interpreted language (no need to compile) When you pick a name for a script you must follow the same rules as for naming variables

GradQuat at UCR

GradQuant

Website httpgradquantucredu

Hours Monday Thursday 9 am - 3 pm

Location Life Sciences Building Room 1425

If you seek help with MATLAB

Drop-in hours (Gianluca) Thursday 12pm-2pm

Schedule a consultation (Gianluca)

Email GQstaff1ucredu

MATLAB resourceshttpgradquantucredugq-calendarworkshop-resources

G Bianchin (UCR GradQuant) Introduction to MATLAB January 25 2018 39 39

  • Using the Command Window
  • Storing and processing data Arrays and Matrices
  • Processing data and arrays
  • Saving and Loading data