Introduction to Matlab 332:202 Discrete Mathematics Spring 2007.

Presentation on theme: "Introduction to Matlab 332:202 Discrete Mathematics Spring 2007."— Presentation transcript:

Introduction to Matlab 332:202 Discrete Mathematics Spring 2007

Contents What is Matlab Matlab basic Advanced usage of Matlab - plots - loops - working with m files - advanced functions

Contents What is Matlab Matlab basic Advanced usage of Matlab

What is Matlab Matrix laboratory easy to learn robust powerful functions

Contents What is Matlab Matlab basic Advanced usage of Matlab

Get Help Help - help - help function name (help abs)

Basic Math Operations To compute a math expression composed of numbers and mathematics operators + addition - subtraction * multiplication / division ^ power Compute (2+3-9)*7^2/4 =-49

General Math Expressions To compute a math expression composed of numbers, variables and mathematics operators Define all variables The others are the same E.g. x=3;y=6;x+y=? It is equivalent to 3+6

Exercise in Class(1) 5 minutes x=123;y=234;z=345 Write the command expression and get the result: 1) the sum of x and y 2) subtract y from z 3) the multiplication of x and z Answer 1) x+y=357;2)z-y=111;3)x*z=42435

Vectors and Matrices Arrays are represented by some elements within brackets The elements of each row is separated by at least one space The separation of rows is by semicolons E.g. [2 3;1 2]

How to Retrieve Elements of Matrix 1 x=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16] What is the difference between x(2),x(1,2),x(:,2),x(2,:),x(1:2,2)?

How to Retrieve Elements of Matrix 2 Index begins from 1, not 0 For matrix x: x(i) is the ith element, counted along the column x(i,j) is the element at the ith row and jth column x(:,j) is all the elements at the jth column x(i,:) is all the elements at the ith row x(i1:i2,j) is those elements at the jth column, begins from index i1 to i2

Vector and Matrix Operations +,-,*,/ are used in operations between matrices.*,./,.^ are used in operations between matrix elements Pay attention to the dimensions of vectors and matrices

Exercise in Class(2) 10 mins x=[1 2;3 4];y=[5 6;7 8]; z1=[1 2 3];z2=[4 5 6]; 1)Sum of x and y 2) Product of x and y 3)Bitwise product of x and y 4) Bitwise division of z1 over z2 5) Bitwise division of z1 over z2, but for the first two elements only (both the expression and result) Answer:1) [6 8;10 12]; 2) [19 22;43 50]; 3) [5 12;21 32];4)[0.25 0.4 0.5]; 5) z1(1:2)./z2(1:2)=[0.25 0.4]

Matrix Transpose More operators other than +,-,*,/,^ Matrix transpose:’(apostrophe)

Contents What is Matlab Matlab basic Advanced usage of Matlab

Plot plot(y) plots the columns of y versus their index plot(x,y) plots vector y versus vector x plot(x,y,s) plots vector y versus vector x, and s is a character string which states the line properties plot(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3,...) combines the plots defined by the (X,Y,S) triples, where the X's and Y's are vectors or matrices and the S's are strings.

Color Options - Yellow - ‘y’ –Magenta - ‘m’ –Cyan - ‘c’ –Red - ‘r’ –Green - ‘g’ –Blue - ‘b’ –Black - ‘k’

Line Styles - solid line (default) -- dashed line : dotted line -. dash-dot line

Line Markings + - plus sign o - circle * - asterisk. - Point x - cross s - square d - diamond ^ - upward pointing triangle v - downward pointing triangle > - right pointing triangle < - left pointing triangle p - five-pointed star (pentagram) h - six-pointed star (hexagram) Combined use of color, line style, and line marking : ‘r+:’

Example 1)t=0:0.1:4*pi; x=sin(t); plot(x);plot(t,x); plot(t,x,’r’); plot(t,x, 'c+:’); 2)x=1:1:10;y=2*x; plot(x,y,'r-');

Exercise in Class 3 15 mins Write a short program which plots 2 lines in a graph. Two cycles of sin wave and cos wave. Useful function: plot, sin, cos t=0:0.1:4*pi; x=sin(t);y=cos(t); plot(t,x,'r+-',t,y,'bo-.');

Grid Grid or GRID ON adds major grid lines to the current axes. GRID OFF removes major and minor grid lines from the current axes.

Comment Functions xlabel('text') adds text beside the x-axis on the current axis ylabel('text') adds text beside the y-axis on the current axis title('text') adds text at the top of the current axis legend(string1,string2,string3,...) puts a legend on the current plot using the specified strings as labels text(x,y,'string') adds the text in the quotes to location (X,Y) on the current axes

Axis AXIS Control axis scaling and appearance. AXIS([XMIN XMAX YMIN YMAX]) sets scaling for the x- and y-axes on the current plot. AXIS OFF turns off all axis labeling, tick marks and background. AXIS ON turns axis labeling, tick marks and background back on.

Exercise in Class 4 15 mins Write a short program which plots 2 lines in a graph. Two cycles of sin wave and cos wave. Use as many functions as you can: plot, sin, cos, grid, xlabel, ylabel, grid, title, legend, text, axis t=0:0.1:4*pi; x=sin(t); y=cos(t); plot(t,x,'r+-',t,y,'bo-.'); grid on; xlabel('The Time'); ylabel('The Amplitude'); title('Sin Wave and Cos Wave'); legend('Sin','Cos','Location','Best'); axis([0,4*pi,-2,2]); grid on; text(3/4*pi,sin(3/4*pi),'\leftarrow Sin'); text(9/4*pi,cos(9/4*pi),'\leftarrow Cos');

Plots and Graphs – Con’t HOLD ON holds the current plot and all axis properties so that subsequent graphing commands add to the existing graph. HOLD OFF returns to the default mode whereby PLOT commands erase the previous plots and reset all axis properties before drawing new plots. Figure or figure ( );

Save Figures Save manually Use Function Print - print filename directs the output to the PostScript file designated by filename - print -dformat filename exports the figure to the specified file using the specified graphics format, (such as TIFF). e.g. print –dmeta filename print -deps filename

Exercise in Class 5 5 mins Generate a figure, and save it as ps file and emf file, respectively

Plots and Graphs – Con’t One example, different views Plot3() x=-1:0.1:1; y=-1:0.1:1; z=x.^2+y.^2; plot3(x,y,z); Mesh(); contour(); meshc(); meshz(); Surf(); [x,y]=meshgrid(-1:0.1:1); z=x.^2+y.^2; mesh(x,y,z); H = SUBPLOT(m,n,p), or SUBPLOT(mnp), breaks the Figure window into an m-by-n matrix of small axes, selects the p-th axes for the current plot, and returns the axis handle. The axes are counted along the top row of the Figure window, then the second row, etc.

Basic Control Statements-for for, end for variable=expression statement; end expression: initial value: increment: end value for i=1:5 for j=1:4 A(i,j)=1/(i+j-1); end end;

Exercise in Class 6 10 mins Write a for program to compute 0.5+1+1.5+2+…+50 x=0; for i=0.5:0.5:50 x=x+i; end

Basic Control Statements-while while, end while expression statement; end expression: a logical statement which is connected by ==,,>=,~=. x=1; while x<5 x=x+1; end

Exercise in Class 7 10 mins Write a while program to compute 0.5+1+1.5+2+…+50 i=0.5;x=0; while i<=50 x=x+i; i=i+0.5; end

Basic Control Statements-if if, elseif, end IF expression statements ELSEIF expression statements ELSE statements END

M Files Put a bunch of commands in an.m file. Run the file under the command window. The using of ‘;’. Write a function as an.m file. - file name is the function name - the first line defines the function function myresutl=myfunction(a, b); - the comment lines (start with %) follow the first line is shown when asking for help

Exercise in Class 10 mins Write a m file to compute 0.5+1+1.5+2+…+50 Run it