MATLAB Workshop Dr. M. T. Mustafa Department of Mathematical Sciences. Introductory remarks

Similar documents
LAB 1 General MATLAB Information 1

General MATLAB Information 1

Script started on Thu 25 Aug :00:40 PM CDT

Introduction to Scientific and Engineering Computing, BIL108E. Karaman

Starting MATLAB To logon onto a Temple workstation at the Tech Center, follow the directions below.

A. Matrix-wise and element-wise operations

Matlab Workshop I. Niloufer Mackey and Lixin Shen

GRAPH 4.4. Megha K. Raman APRIL 22, 2015

Introduction to MATLAB

Introduction to MATLAB

Ebooks Chemical Engineering

Lecturer: Keyvan Dehmamy

MATLAB Tutorial. Digital Signal Processing. Course Details. Topics. MATLAB Environment. Introduction. Digital Signal Processing (DSP)

Introduction to MATLAB

Inlichtingenblad, matlab- en simulink handleiding en practicumopgaven IWS

A very brief Matlab introduction

A General Introduction to Matlab

Experiment 1: Introduction to MATLAB I. Introduction. 1.1 Objectives and Expectations: 1.2 What is MATLAB?

The Graphing Calculator

A very short introduction to Matlab and Octave

Dr Richard Greenaway

Arithmetic and Logic Blocks

A Guide to Using Some Basic MATLAB Functions

Some elements for Matlab programming

The Official Guide to Easy Graphing. ParaGraph. Ver Congratulations Graphing just got easier.

Introduction to MATLAB Programming

Introduction to Matlab

Introduction to GNU-Octave

Dr Richard Greenaway

Computer Programming in MATLAB

# Import constants pi2, pip2, pip4 (2*pi, pi/2, pi/4). use Math::Trig ':pi';

1 Introduction to Matlab

MATLAB Lesson I. Chiara Lelli. October 2, Politecnico di Milano

Programming in MATLAB

Consider this m file that creates a file that you can load data into called rain.txt

Introduction to Matlab

Programming in Mathematics. Mili I. Shah

Chapter 1 MATLAB Preliminaries

1. Register an account on: using your Oxford address

MATLAB: a Brief Introduction. by Robert L. Rankin

Lecture 1: What is MATLAB?

Mastery. PRECALCULUS Student Learning Targets

Section 6.2 Graphs of the Other Trig Functions

MAT 275 Laboratory 1 Introduction to MATLAB

Introduction to MATLAB

Introduction to MATLAB

National Workshop on LaTeX and MATLAB for Beginners

Introduction to Matlab. By: Dr. Maher O. EL-Ghossain

Math 2250 MATLAB TUTORIAL Fall 2005

Introduction to Matlab

HERIOT-WATT UNIVERSITY DEPARTMENT OF COMPUTING AND ELECTRICAL ENGINEERING. B35SD2 Matlab tutorial 1 MATLAB BASICS

Trigonometric Functions of Any Angle

Introduction to MatLab. Introduction to MatLab K. Craig 1

Math 144 Activity #3 Coterminal Angles and Reference Angles

A QUICK INTRODUCTION TO MATLAB

Math 1322, Fall 2002 Introduction to Matlab: Basic Commands

Scientific Computing Lecture 1: MATLAB fundamentals

ARRAY VARIABLES (ROW VECTORS)

Starting Matlab. MATLAB Laboratory 09/09/10 Lecture. Command Window. Drives/Directories. Go to.

AMS 27L LAB #1 Winter 2009

A QUICK INTRODUCTION TO MATLAB. Intro to matlab getting started

SNAP Centre Workshop. Introduction to Trigonometry

MATLAB Constants, Variables & Expression. 9/12/2015 By: Nafees Ahmed

2.0 MATLAB Fundamentals

Introduction to Matlab. Matlab variable types. Matlab variable types. Matlab variable types. Notes. Eugeniy E. Mikhailov. Lecture 02. Notes.

Finding, Starting and Using Matlab

Computational Physics

Section 5.3 Graphs of the Cosecant and Secant Functions 1

This is called the horizontal displacement of also known as the phase shift.

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER

MATLAB Tutorial EE351M DSP. Created: Thursday Jan 25, 2007 Rayyan Jaber. Modified by: Kitaek Bae. Outline

# Import constants pi2, pip2, pip4 (2*pi, pi/2, pi/4). use Math::Trig ':pi';

Part #1. A0B17MTB Matlab. Miloslav Čapek Filip Kozák, Viktor Adler, Pavel Valtr

Fundamentals of MATLAB Usage

Introduction to MATLAB

Matlab Programming Introduction 1 2

ELEMENTARY MATLAB PROGRAMMING

Chapter 1 Introduction to MATLAB

SF1901 Probability Theory and Statistics: Autumn 2016 Lab 0 for TCOMK

What is MATLAB? What is MATLAB? Programming Environment MATLAB PROGRAMMING. Stands for MATrix LABoratory. A programming environment

Creates a 1 X 1 matrix (scalar) with a value of 1 in the column 1, row 1 position and prints the matrix aaa in the command window.

4.1: Angles & Angle Measure

Math 2412 Activity 4(Due with Final Exam)

Introduction to Matlab

Introduction to Octave/Matlab. Deployment of Telecommunication Infrastructures

Math 144 Activity #2 Right Triangle Trig and the Unit Circle

Common Core Standards Addressed in this Resource

PowerPoints organized by Dr. Michael R. Gustafson II, Duke University

BRUNO WELFERT Arizona State University AND. R. Kent Nagle. University of South Florida. Edward B. Saff. Vanderbilt University. A.

θ as rectangular coordinates)

5-2 Verifying Trigonometric Identities

Objectives. 1 Running, and Interface Layout. 2 Toolboxes, Documentation and Tutorials. 3 Basic Calculations. PS 12a Laboratory 1 Spring 2014

MATLAB QUICK START TUTORIAL

Chapter 2. MATLAB Fundamentals

INTRODUCTION TO MATLAB, SIMULINK, AND THE COMMUNICATION TOOLBOX

Review of Trigonometry

Introduction to MATLAB

Introduction to MATLAB 7 for Engineers

MAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB

Matlab as a calculator

Transcription:

MATLAB Workshop Dr. M. T. Mustafa Department of Mathematical Sciences Introductory remarks MATLAB: a product of mathworks www.mathworks.com MATrix LABoratory What can we do (in or ) with MATLAB o Use like a calculator o Graphics & visualization o Symbolic computation o Numerics o Use as a programming language o Solve applied & industrial problems using its sophisticated tool boxes Contents of workshop (PART I): Selected list of toolboxes Optimization toolbox Statistics toolbox Symbolic Math toolbox PDE toolbox Curve fitting toolbox Spline toolbox Image processing toolbox Wavelet toolbox Control system toolbox Fuzzy logic toolbox Financial derivative toolbox 1. Getting started 1.1 Staring MATLAB 1. Quitting and interrupting MATLAB 1.3 Asking for help 1.4 Command line editing. Simple computations in MATLAB 3. Vectors 3.1 Building vectors 3. Vector operations and functions 3.3 Dot operation 4. Two dimensional graphics 4.1 XY plots 4. Saving, re-using and printing graphs 4.3 Plotting parametric equations 4.4 Plotting polar equations 5. Few words about script files A matrix based system for scientific computation & visualization.

1. Getting started 1.1 Starting MATLAB By double clicking on MATLAB icon or by using the menus: Start, Programs, Matlab optional windows workspace current directory type commands here command window screen shot of the Matlab window 1. Quitting & interrupting MATLAB Type quit in command window or use menus: File, Exit Matlab To interrupt: Use ctrl-c 1.3 Asking for help >> helpwin >> helpdesk >> demo We can also obtain information about a particular function or command, for example >> help sqrt or >> lookfor sqrt 1.4 Command line editing Command lines are entered in the command window, in front of MATLAB prompt >>. A command line consists of one or more statements separated by semicolons. For example >> a=3; [This assigns the value 3 to the variable "a"] >> b=4; c=5; Try >> a+b+c or >> d=a+b+c as well as >> d=a+b+c ; [do you see any difference in the output] Few useful points to note: Every command line terminates with an <Enter> A single command line can have more than one statement The use of semi-colon How to recall previous commands

. Simple computations in MATLAB (using built in scalar functions) Basic operations '+' addition, '-' subtraction, '*' multiplication, '/ 'right division, '\' left division, '^' exponentiation MATLAB has many built in functions which operate on scalars as well as element-wise on vectors & matrices (as we will see later). These can be used as commands or part of a command. abs angle sqrt real imag conj gcd lcm round fix floor ceil sign rem exp log log10 Elementary math functions Absolute value or complex magnitude Phase angle Square root Real part Imaginary part Complex conjugate Greatest common divisor Least common multiple Round to nearest integer Round towards 0 Round towards Round towards Signum functions Remainder Exponential base e Natural logarithm Log base 10 sin, asin, sinh, asinh cos, acos, cosh, acosh tan, atan, tanh, atanh cot, acot, coth, acoth sec, asec, sech, asech csc, acsc, csch, acsch Trigonometric & hyperbolic functions sine, arcsine, hyperbolic sine, hyperbolic arcsine cosine, arccosine, hyperbolic cosine, hyperbolic arccosine tangent, arctangent, hyperbolic tangent, hyperbolic arctangent cotangent, arccotangent, hyperbolic cotangent, hyperbolic arccotang secant, arcsecant, hyperbolic secant, hyperbolic arcsecant cosecant, arccosecant, hyperbolic cosecant, hyperbolic arccosecant Examples: >> sqrt(6.5) >> x=4; y=sin(x) [for trig. functions, MATLAB works in radians] See what the output of following is: >> cos(pi/3)*abs(-10) >> log(exp())+log10(exp()) >> rem(13,3) We can have more information by help command. Check >> help rem To get information about elementary functions, start for example from >> help elfun

3. Vectors MATLAB is a vector or matrix oriented software. It is important to get a good grip on generating, manipulating and applying different operations on vectors. 3.1 Building vectors By directly typing as >> a = [1, 3, 5, 7, 9] or >> a= [1 3 5 7 9] See the output on your screen By specifying the stepsize from the starting point to ending point >> a=1::9 or check the output on your screen >> a=[1::9] means: start with 1, increase in steps of size and end with 9. Exercise 1 Check what happens with the commands >> b = [6 4 0] >> b = 6:-:0 >> b = 6:-:-1 By specifying the number of elements in the vector o Specify the number of (equally spaced) points between the starting point and end points o Most practical method Examples >> a = linspace(1,5,7) check the output on your screen Creates a vector of 7 equally spaced points from 1 to 5 >> v = linspace(-10,10,500); What do you get if you try >> length(v) or >> size(v) By using built in functions MATLAB provides commands to directly generate some specific vectors and matrices For example, >> b = zeros(1,n) creates a vector of length N (or a 1-by-N matrix) with zero entries

Now type >> size(a) What do you think will be output of >> zeros(size(a)) What is your guess about the output of following? >> ones(size(a)) or >> ones(1,7) >> rand(size(a)) [uniformly distributed random entries] >> randn(1,7) [normally distributed random entries] By piecing together two vectors For example >> a = [1 3 5]; >> b = [ 4 6]; Then >> c = [a b] creates the vector c=[1 3 5 4 6] Exercise {How to access entries of vector} Create a vector "a" of 5 values from 0 to. What is the 3 rd value. Set the 3 rd value as 7. [Hint: the ith entry of vector a can be accessed as a(i)] 3. Vector operations and functions Addition, subtraction of vectors (as usual) Here are a few examples >> A=[1 3 4]; B= [ 1 0 4] >> C = A+B; >> A = A-B; Transpose See what happens with command >> D = A' Product Done as a matrix product Try the following commands and check the output >> A*A' >> A'*A >> V = [1 3] >> A*V

Multiplication, division by a scalar As usual, for example >> a=; >> a*a produces [ 4 6 8] >> (a*a)/ produces [1 3 4] Addition/subtraction of a scalar To understand this point, see what happens if you type >> c = A+100; >> c-50 Scalar functions on vectors The operation explained here is very useful for many purposes. All the built in scalar functions (introduced in section ) operate on vectors (as well as matrices) element-wise. Here are a few examples. Try these or use scalar functions of your liking. >> A=1:4; >> log(a) >> sqrt(a) Exercise 3 Construct a vector x containing 8 values, starting with 0 and ending withπ. Next construct a vector y which contains sine of the entries of the vector x. What is the sum of the 4 th elements of x and y. Vector functions The following examples illustrate some of the vector functions. >> v = [-7 3 5]; sum(v) = 1 [adds elements of v] max(v)=3 [gives the maximum element] abs(v)=[7 3 5] sort(-v)= [-5-3 7] median(v)=3 mean(v)=0.3333 std(v)=6.491 [sorts in increasing order] [gives median of the elements] [gives mean of the elements] [gives the standard deviation]

Exercise 4 {help is indeed help} Type >> help rand [to know details about & behind this command] Now type >> v = rand(1,1000); What to you expect the mean of the elements of v to be? Compare your answer with MATLAB output. 3.3 Dot operation This is another frequently used operation of MATLAB. This can be used to enforce MATLAB to perform an entry-wise operation. Try following examples to learn more about it. >> a = [ 4 6]; b = [1-3 ]; >> a*b >> a.*b >> a./b >> a.^ >> a.^b Exercise 5 Create a vector x from 1 to 4 with four elements and a vector y from 4 to - 3 with step size -. Find [max(b.^a) min(b.^a)]. Find sin(a.*b). Exercise 6 Create a vector v containing integers from 10 to 100. How can you create a vector w containing elements which are reciprocals of the corresponding elements of v. Exercise 7 What do you expect the outcome of following command line to be? >> v=[1 4 16 5]; z = (sqrt(v)).^

4. Two dimensional graphics 4.1 XY plots If we want to plot the graph of y = f(x) by hand, one way is Make a list of X-values Compute corresponding Y-values Plot the point (x,y) and connect. MATLAB does exactly the same thing. The command >> plot(x,y) produces a graph of the elements of vector X versus the corresponding elements of the vector Y. We learn more via examples. Example To plot y = sin x on [0, π ] The following set of commands produces the required graph. >> X = linspace(0,*pi,50); >> Y = sin(x); >> plot(x,y) compare your output with others Example {more than one graphs in one window} x x To plot f ( x ) = and g( x) = on [,]. 1 + x 1 + x We need the following set of commands >> x = linspace(-,,100); >> y1 = x./(1+x.^); >> plot(x,y1) >> hold on [freezes the current graph window] >> y = (x.^)./(1+x.^); >> plot(x,y) compare your output with others >> hold off [releases the hold] Optional arguments The graphs can be given titles, axes labels etc using the menu of graph window or by different commands. >> title('my useless graph') >> xlabel('x') >> ylabel('do not know') >> grid on Line types: Using graph window or Solid(-), dashed(--), dotted(:) Mark types Using graph window or Point(.), plus(+), circle(o) Colors Using graph window or Red(r), green(g), blue(b)

4. Saving, re-using and printing graphs One option is to save (using graph window menu) as fig file. The advantage of this option is that you can open these again in MATLAB and edit if needed. Another option is to export (using graph window menu) as bmp or jpg or eps file as required. The advantage of this option is that you can use these elsewhere, e.g. in MSWORD, LaTeX, Powerpoint etc. Exercise 8 Make the graphs of 1 f ( x) = x cos x, = and g( x) x h ( x) = x in one window and complete a transparency like the following (using MS word). A file sandwich.doc is on your desktop, you are required to make the graphs and include those in the word file. Geometric demonstration of the squeezing theorem Squeezing of f ( x) = x 1 cos x between = and g( x) x h ( x) = x

4.3 Plotting parametric equations Plots of parametrically defined curves can also be made in a manner similar to XY-plots. For example, the following commands plot x = sin t, y = cos3t over [0, π ]. >> t = 0: 0.001:*pi; >> x = sin(*t); y= cos(3*t); >> plot(x,y) compare your output with others >> title('lissajous figure') Exercise 9 Plot the circle x + y = 1 using parametric representation. Do you see any problem? Did you get a figure looking like an ellipse. Now open another figure window by the command >> figure and plot the same graph here using >> plot(x,y) and then type >> axis equal Can you see what was the problem with previous figure. Related useful commands are >> axis equal [creates equal scales on the axes] >> axis normal [returns to MATLAB's original scaling] Check >> help axis for more information. Exercise 10 31 31 Plot x = 31cost 7cos( t), y = 31sint 7sin( t) 7 7 0 t 14π to get a figure like the following. Also compare your output with Figure1.8.9 page 91 of Calculus (7 th edition) by Anton.

4.4 Plotting polar equations Plot in polar coordinates can be done using the command polar(theta,r) where theta is the angle in radians and r is the radius vector. This is illustrated below. Example Graph of r = 3+ 4cosθ The following set of commands >> theta = linspace(0,*pi,100); >> r = 3 + 4*cos(theta); >> polar(theta,r) produce Exercise 11 [Q.56, Ex. 11.1, Calculus (7 th edition) by Anton] The accompanying figure shows the graph of the "butterfly curve" cosθ 3 θ r = e cos4θ + sin. 4 Generate the complete butterfly with MATLAB and state the parameter interval you used.

Example {more than one polar graphs in one window} To plot r = 4cosθ and r = in one window. A script file consisting of following commands produces the desired graphs. Commands to be written in script file clear all close all theta=linspace(0,*pi,100); r1=4*cos(*theta); polar(theta,r1) hold on r=+0*theta; pause polar(theta,r,'r') title('two polar graphs in one window') hold off The graphs produced by above script file are as follows. Exercise 1 Plot the following polar curves in one window r = (1 + cos θ ). r = (1 cos θ )

Viewing a polar graph as it is traced In some of the polar curves (for example those with many loops or petals) it may be useful to show the graph as it is traced. We will do it with the help of very simple MATLAB program which explained in the example below. Example {To show the graph as it is traced} To plot the rose with 8 leaves given by equation r = sin4θ. Further write a program such that the graph is shown as it is traced. A script file consisting of following commands Commands to be written in script file clear all close all theta=linspace(0,*pi,100); r=*sin(4*theta); polar(theta,r) produce In order to view the tracing of graph we shall use the following script file whose commands will be explained in the workshop session. clear all close all x=linspace(0,*pi,100); figure theta=x(1); for i=:100 theta=[theta x(i)]; r=*sin(4*theta); polar(theta,r); drawnow end

Exercise 13 {Rose within a rose Plot the following polar curve r = 1 sin3θ. Further write a program such that the graph is shown as it is traced. 5. Few words about script files Covered in stages in workshop sessions. End of Part 1