PART 1 PROGRAMMING WITH MATHLAB

Similar documents
MATLAB Fundamentals. Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University

Chapter 2. MATLAB Fundamentals

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

Introduction to Engineering gii

Outline. CSE 1570 Interacting with MATLAB. Starting MATLAB. Outline (Cont d) MATLAB Windows. MATLAB Desktop Window. Instructor: Aijun An

Outline. CSE 1570 Interacting with MATLAB. Starting MATLAB. Outline. MATLAB Windows. MATLAB Desktop Window. Instructor: Aijun An.

Outline. CSE 1570 Interacting with MATLAB. Outline. Starting MATLAB. MATLAB Windows. MATLAB Desktop Window. Instructor: Aijun An.

2.0 MATLAB Fundamentals

Matlab Tutorial 1: Working with variables, arrays, and plotting

Introduction to Matlab

Introduction to MatLab. Introduction to MatLab K. Craig 1

1 Introduction to Matlab

AMS 27L LAB #2 Winter 2009

CHAPTER 3 PART 1 MATLAB FUNDAMENTALS

Mechanical Engineering Department Second Year (2015)

MATLAB Basics. Configure a MATLAB Package 6/7/2017. Stanley Liang, PhD York University. Get a MATLAB Student License on Matworks

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

QUICK INTRODUCTION TO MATLAB PART I

Programming in Mathematics. Mili I. Shah

Introduction to MATLAB

Interactive Computing with Matlab. Gerald W. Recktenwald Department of Mechanical Engineering Portland State University

Introduction to MATLAB for Engineers, Third Edition

MATLAB Introduction to MATLAB Programming

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

Introduction to Matlab

To start using Matlab, you only need be concerned with the command window for now.

Matlab Programming Introduction 1 2

MATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab

Matlab Introduction. Scalar Variables and Arithmetic Operators

1. Register an account on: using your Oxford address

Computer Programming in MATLAB

Introduction to Matlab

Introduction to MATLAB 7 for Engineers

OUTLINES. Variable names in MATLAB. Matrices, Vectors and Scalar. Entering a vector Colon operator ( : ) Mathematical operations on vectors.

A General Introduction to Matlab

Prof. Manoochehr Shirzaei. RaTlab.asu.edu

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

Laboratory 1 Octave Tutorial

12 whereas if I terminate the expression with a semicolon, the printed output is suppressed.

Introduction to Matlab

Dr Richard Greenaway

Chapter 1 Introduction to MATLAB

AN INTRODUCTION TO MATLAB

PROGRAMMING WITH MATLAB DR. AHMET AKBULUT

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

LAB 1 General MATLAB Information 1

MATLAB SUMMARY FOR MATH2070/2970

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

Introduction to MATLAB. Computational Probability and Statistics CIS 2033 Section 003

MATLAB NOTES. Matlab designed for numerical computing. Strongly oriented towards use of arrays, one and two dimensional.

A Guide to Using Some Basic MATLAB Functions

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB?

Introduction to MATLAB

Logical Subscripting: This kind of subscripting can be done in one step by specifying the logical operation as the subscripting expression.

Introduction to Matlab

Introduction to MATLAB

Inlichtingenblad, matlab- en simulink handleiding en practicumopgaven IWS

Getting Started. Chapter 1. How to Get Matlab. 1.1 Before We Begin Matlab to Accompany Lay s Linear Algebra Text

EE 301 Signals & Systems I MATLAB Tutorial with Questions

STAT 391 Handout 1 Making Plots with Matlab Mar 26, 2006

Introduction to MATLAB

This module aims to introduce Precalculus high school students to the basic capabilities of Matlab by using functions. Matlab will be used in

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

Digital Image Analysis and Processing CPE

Introduction to Matlab

This is a basic tutorial for the MATLAB program which is a high-performance language for technical computing for platforms:

Lab 1 Intro to MATLAB and FreeMat

Introduction to Octave/Matlab. Deployment of Telecommunication Infrastructures

Introduction to MATLAB Practical 1

MATLAB Tutorial. Mohammad Motamed 1. August 28, generates a 3 3 matrix.

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

Lab #1 Revision to MATLAB

ENGR Fall Exam 1

Overview. Lecture 13: Graphics and Visualisation. Graphics & Visualisation 2D plotting. Graphics and visualisation of data in Matlab

MATLAB Tutorial III Variables, Files, Advanced Plotting

MATLAB Basics EE107: COMMUNICATION SYSTEMS HUSSAIN ELKOTBY

Lecturer: Keyvan Dehmamy

Introduction to MATLAB LAB 1

Getting Started with MATLAB

Introduction to Python Practical 1

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

Introduction to MATLAB

EGR 111 Introduction to MATLAB

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.

Introduction to Matlab to Accompany Linear Algebra. Douglas Hundley Department of Mathematics and Statistics Whitman College

EE 350. Continuous-Time Linear Systems. Recitation 1. 1

LabVIEW MathScript Quick Reference

Computer Programming in MATLAB

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER

Welcome to EGR 106 Foundations of Engineering II

MAT 275 Laboratory 1 Introduction to MATLAB

One-dimensional Array

Matlab Tutorial. The value assigned to a variable can be checked by simply typing in the variable name:

A = [1, 6; 78, 9] Note: everything is case-sensitive, so a and A are different. One enters the above matrix as

Computer Programming ECIV 2303 Chapter 1 Starting with MATLAB Instructor: Dr. Talal Skaik Islamic University of Gaza Faculty of Engineering

MATLAB Tutorial. 1. The MATLAB Windows. 2. The Command Windows. 3. Simple scalar or number operations

INTRODUCTION TO MATLAB

Introduction to Scientific and Engineering Computing, BIL108E. Karaman

General MATLAB Information 1

Matlab Tutorial and Exercises for COMP61021

Transcription:

PART 1 PROGRAMMING WITH MATHLAB Presenter: Dr. Zalilah Sharer 2018 School of Chemical and Energy Engineering Universiti Teknologi Malaysia 23 September 2018

Programming with MATHLAB MATLAB Environment MATLAB arithmetic operations Operations with Arrays M-file (script and function files) Structured Programming (decisions and loops)

MATHLAB Environment

MATHLAB Environment Default setting

MATHLAB Environment Exit Mathlab

MATHLAB Environment Editor Window Workspace File Location Command Window History

MATHLAB Environment MATLAB uses three primary windows Command window - used to enter commands and data Editor window - used to create and edit M-files (programs) Graphics window - used to display plots and graphics

Command Window Command window can be used for Executing commands Opening other windows Calculator Running programs written by the user

Working in a Command Window To type a command the cursor must be placed next to the command prompt ( >> ). Once a command is typed and the Enter key is pressed, the command is executed. However, only the last command is executed. Everything executed previously (that might be still displayed) is unchanged. Several commands can be typed in the same line. This is done by typing a comma between the commands. When the Enter key is pressed the commands are executed in order from left to right.

Working in a Command Window It is not possible to go back to a previous line that is displayed in the Command Window, make a correction, and then re-execute the command. A previously typed command can be recalled to the command prompt with the up arrow key. When the command is displayed at the command prompt, it can be modified if needed and then executed. The down-arrow key ( ) can be used to move down the list of previously typed commands. If a command is too long to fit in one line, it can be continued to the next line by typing three periods (called an ellipsis) and pressing the Enter key. The continuation of the command is then typed in the new line.

Working in a Command Window Calculator Mode The MATLAB command window can be used as a calculator where you can type in commands line by line. Whenever a calculation is performed, MATLAB will assign the result to the built-in variable ans Example: >> 55-16 ans = 39

Tips for the Command Window Command Description The semicolon (;) The output of the command will not displayed % The line is designated as a comment. clc To clears the Command Window. After working in the Command Window for a while, the display may become very long. Once the clc command is executed a clear window is displayed

Variables in MATHLAB MATLAB allows you to assign values to variable names. This results in the storage of values to memory locations corresponding to the variable name. MATLAB can store individual values as well as arrays; it can store numerical data and text (which is actually stored numerically as well). MATLAB does not require that you pre-initialize a variable; if it does not exist, MATLAB will create it for you.

Defining variables in MATHLAB Variable names are case sensitive Y1 and y1 are two different variables Variable name can contain up to 63 characters To assign a single value to a variable, simply type the variable name, the = sign, and the value: >> a = 4 a = 4 Note that variable names must start with a letter, though they can contain letters, numbers, and the underscore (_) symbol

Variables in MATHLAB You can tell MATLAB not to report the result of a calculation by appending the semi-colon (;) to the end of a line. The calculation is still performed. You can ask MATLAB to report the value stored in a variable by typing its name. >> a = 4; b = 3; >> c = a + b; >> d = a b; >> c c = 7

Variables Display Format You can tell MATLAB to report the values back using several different formats using the format command. Note that the values are still stored the same way, they are just displayed on the screen differently. Some examples are: short - scaled fixed-point format with 5 digits long - scaled fixed-point format with 15 digits for double and 7 digits for single short eng - engineering format with at least 5 digits and a power that is a multiple of 3 (useful for SI prefixes)

Variables Display Format Command Description Example format short Fixed-point with 4 decimal digits for 0.001< number <1000 format long Fixed-point with 15 decimal digits for 0.001< number <1000 format short e Scientific notation with 4 decimal digits format long e Scientific notation with 15 decimal digits format short g Best of 5-digit fixed or floating point format long g Best of 15-digit fixed or floating point >> 290/7 ans = 41.4286 >> 290/7 ans = 41.428571428571431 >> 290/7 ans = 4.1429e+001 >> 290/7 ans = 4.142857142857143e+001 >> 290/7 ans = 41.429 >> 290/7 ans = 41.4285714285714

Example Variables Display Format >> format short; >> pi ans = 3.1416 >> format long; >> pi ans = 3.14159265358979 >> format short e; >> pi ans = 3.1416e+000 >> pi*10000 ans = 31.4159e+003 Note - the format remains the same unless another format command is issued.

Elementary Math Functions Function Description Example sqrt(x) nthroot(x,n) Square root Real nth root of a real number x (if x is negative n must be an odd integer) exp(x) Exponential (e x ) abs(x) log(x) log10(x) Absolute value Natural logarithm Base e logarithm (ln) Base 10 logarithm >>sqrt(81) ans= 9 >>nthroot(80,5) ans= 2.4022 >>exp(5) ans= 148.4132 >>abs(-24) ans= 24 >>log(1000) ans= 6.9078 >>log10(1000) ans= 3.0000 A complete list of functions organized by category can be found in Help Window.

Predefine Function Function sum mean std min max sort length Description Sum of all elements Average value of a vector Standard deviation Smallest element in a vector Largest element in a vector Arranges the elements in a vector in ascending order Number of elements in a vector

Mathematical Operations The common operators, in order of priority, are: Command Description Example ^ Exponentiation 4^2 = 16 - Negation -8 = -8 */ Multiplication and Division 2*pi = 6.2832 pi/4 = 0.7854 \ Left Division 6\2 = 0.3333 +- Addition and Subtraction 3+5 = 8 3-5 = -2

Mathematical Operations The order of operations is set first by parentheses, then by the default order of the operators: y = -4 ^ 2 gives y = -16 since the exponentiation happens first due to its higher default priority, but y = (-4) ^ 2 gives y = 16 since the negation operation on the 4 takes place first

Arrays, Vectors, and Matrices MATLAB can automatically handle rectangular arrays of data - one-dimensional arrays are called vectors and two-dimensional arrays are called matrices. Arrays are set off using square brackets [ and ] in MATLAB Entries within a row are separated by spaces or commas Rows are separated by semicolons

Array Examples >> a = [1 2 3 4 5 ] a = 1 2 3 4 5 >> b = [2;4;6;8;10] b = 2 4 6 8 10 Note - MATLAB does not display the brackets

Array Creation - Colon Operator The colon operator : is useful in several contexts. It can be used to create a linearly spaced array of points using the notation The first value in the array >>1:0.6:3 ans = start:diffval:limit the difference between successive values in the array the boundary for the last value (though not necessarily the last value). 1.0000 1.6000 2.2000 2.8000 Page 2-25

Array Creation - Colon Operator If diffval is omitted, the default value is 1: >>3:6 ans = 3 4 5 6 To create a decreasing series, diffval must be negative: >> 5:-1.2:2 ans = 5.0000 3.8000 2.6000 If start+diffval>limit for an increasing series or start+diffval<limit for a decreasing series, an empty matrix is returned: >>5:2 ans = Empty matrix: 1-by-0 To create a column, transpose the output of the colon operator, not the limit value; that is, (3:6) not 3:6

Array Creation - linspace To create a row vector with a specific number of linearly spaced points between two numbers, use the linspace command. linspace(x1, x2, n) will create a linearly spaced array of n points between x1 and x2 >>linspace(0, 1, 6) ans = 0 0.2000 0.4000 0.6000 0.8000 1.0000 If n is omitted, 100 points are created. To generate a column, transpose the output of the linspace command.

Array Creation - logspace To create a row vector with a specific number of logarithmically spaced points between two numbers, use the logspace command. logspace(x1, x2, n) will create a logarithmically spaced array of n points between 10 x1 and 10 x2 >>logspace(-1, 2, 4) ans = 0.1000 1.0000 10.0000 100.0000 If n is omitted, 100 points are created. To generate a column, transpose the output of the logspace command.

Matrices A 2-D array, or matrix, of data is entered row by row, with spaces (or commas) separating entries within the row and semicolons separating the rows: >> A = [1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9

Matrices Individual entries within a array can be both read and set using either the index of the location in the array or the row and column. The index value starts with 1 for the entry in the top left corner of an array and increases down a column - the following shows the indices for a 4 row, 3 column matrix: 1 5 9 2 6 10 3 7 11 4 8 12

Matrices Assuming some matrix C: C = 2 4 9 3 3 16 3 0 8 10 13 17 C(2) would report 3 C(4) would report 10 C(13) would report an error! Entries can also be access using the row and column: C(2,1) would report 3 C(3,2) would report 0 C(5,1) would report an error!

Vector-Matrix Calculations MATLAB can also perform operations on vectors and matrices. The * operator for matrices is defined as the outer product or what is commonly called matrix multiplication. The number of columns of the first matrix must match the number of rows in the second matrix. The size of the result will have as many rows as the first matrix and as many columns as the second matrix. The exception to this is multiplication by a 1x1 matrix, which is actually an array operation. The ^ operator for matrices results in the matrix being matrix-multiplied by itself a specified number of times. Note - in this case, the matrix must be square!

Element-by-Element Calculations calculations item by item in a matrix or vector. The MATLAB manual calls these array operations. They are also often referred to as element-by-element operations. Symbol Description Symbol Description.* Multiplication./ Right Division.^ Exponentiation.\ Left Division Again, for array operations, both matrices must be the same size or one of the matrices must be 1x1

Graphics MATLAB has a powerful suite of built-in graphics functions. Two of the primary functions are plot (for plotting 2-D data) and plot3 (for plotting 3-D data). In addition to the plotting commands, MATLAB allows you to label and annotate your graphs using the title, xlabel, ylabel, and legend commands.

2D Plot

2D Plot The plot command has optional arguments that can be used to specify the colour and style of the line and, the colour and type of markers.

2D Plot Line style Specifier Solid (default) - dashed -- dotted : Dash-dot -. Line color Specifier Red r Green g Blue b Cyan c Magenta m Yellow y Black k White w Marker type Specifier Plus sign + Circle o Asterisk * Point. Cross x Triangle (pointed up) ^ Triangle (pointed down) v Square s Diamond d Five-pointed star p Six-pointed star h Triangle (pointed left) < Triangle (pointed right) >

2D Plot >> Y=[1988:1:1994]; >> X=[8 12 20 22 18 24 27]; >> plot(y, X, '--r*', 'linewidth', 2, 'markersize', 12) >>

2D Plot Two or more graphs can be created in the same plot by typing pairs of vectors inside the plot command. plot(x,y,u,v,t,h) - MATLAB automatically plots creates three graphs in different colours y vs x, v vs u, and h vs t all in the same plot. plot(x,y, -b,u,v, --r,t,h, g: ) - add line specifiers following each pair - plots y vs x with a solid blue line, v vs u with a dashed red line, and h vs t with a dotted green line

2D Plot - example Plot the function y = 3x 3 26x + 10, and its first and second derivatives, for 2 x 4, all in the same plot. Solution: The first derivative of the function is: y' = 9x 2 26 The second derivative of the function is: y'' = 18x >> x=[-2:0.01:4]; >> y=3*x.^3-26*x+6; >> yd=9*x.^2-26; >> ydd=18*x; >> plot(x,y,'-b',x,yd,'--r',x,ydd,':k')

2D Plot - example

2D Plot - format The formatting commands are entered after the plot command. The xlabel and ylabel commands: Labels can be placed next to the axes with the xlabel and ylabel command which have the form: The title command: A title can be added to the plot with the command:

Plotting Example t = [0:2:20] ; g = 9.81; m = 68.1; cd = 0.25; v = sqrt(g*m/cd) * tanh(sqrt(g*cd/m)*t); plot(t, v)

Plotting Annotation Example title('plot of v versus t') xlabel('values of t') ylabel('values of v') grid

Write a script file to plot three related function of x: y1 = 2 cos(x) y2 = cos(x) y3 = 0.5 cos(x) IN-CLASS HWK 2 on the interval of π/100 for 0 to 2π. Include the title and label the x and y axis. Use a red line for y1, a blue line for y2 and a green line for y3. Save the file as <yourname2>.

REDO the programming for this problem PROBLEM: Force on falling parachutist A parachutist with a mass of 68.1 kg jumps out of a stationary hot air balloon. Compute the velocity prior opening the chute. The drag coefficient is equal to 12.5 kg/s.

falling parachutist Mainly from second law of thermodynamics, F = ma FU = - cv The model then can be derived with m dv dt = F The force acting on the body : F = FU + FD m dv = mg cv dt dv dt = g c m v v t = gm c 1 e c/m t FD= mg

falling parachutist Analytical Solution compute the velocity (v) using the derived model

IN-CLASS HWK 1. What will be displayed after the following MATLAB commands are typed? a) >> x=2; >> x^3; >> y = 8 x b) >> s=12:-2:2 >> r=s+7

IN-CLASS HWK c) >> m=2:2:12 >> m(3) >> m(1:3) >> m(5:end) d) >>

Question?

THE END Thank You for the Attention