1 / 21

Introduction to MATLAB Session 2

Introduction to MATLAB Session 2. Simopekka Vänskä, THL Department of Mathematics and Statistics University of Helsinki 2010. Session 1 General Matrices M-files Session 3 My functions + stings, cells Controlling program flow. Contents of this course. Session 4 Function functions

jon
Download Presentation

Introduction to MATLAB Session 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introductionto MATLABSession 2 Simopekka Vänskä, THL Department of Mathematics and Statistics University of Helsinki 2010

  2. Session 1 General Matrices M-files Session 3 My functions + stings, cells Controlling program flow Contents of this course Session 4 • Function functions Session 5 • Graphics 2 • More linear algebra • Starting homework • Session 2 • Some matrix commands • Logical expressions • Graphics 1 Introduction to MATLAB - Session 2

  3. Basic commands

  4. MATLAB commands/functions • Genaral syntax: [OUTPUT parameters] = functionname(INPUT parameters); • Functions do not change the INPUT parameters • Number of parameters can variate • Help function: >> help functionname INPUT parameters OUTPUT parameters Function Introduction to MATLAB - Session 2

  5. Operate on each element of the input matrix A: size(OUTPUT) = size(A) Examples >> A = [1 0; pi pi/2]; >> sin(A) ans = 0.8415 0 0.0000 1.0000 >> round(A) ans = 1 0 3 2 Some common functions: sin, cos, tan, asin, acos, atan exp, log, sqrt abs, conj, imag, real, angle fix, floor, ceil, round, sign For more, see >> help elfun Try the following: >> asin(1) >> asin(5) >> exp(1) >> exp(709) >> exp(710) >> log(exp(50)) >> v = [-1.2, 0.5, 1.2]; >> round(v) >> fix(v) >> floor(v) >> ceil(v) >> sign(v) >> sign(0) Some elementwise functions Introduction to MATLAB - Session 2

  6. Operate on each column of the input matrix A: size(OUTPUT) = size(A,2) Exception: raw vectors Example >> A = [1 0; pi pi/2]; >> sum(A) ans = 4.1416 1.5708 Operating dimension choosable >> sum(A,2) ans = 1.0000 4.7124 Examples sum, prod, cumsum, cumprod mean, median, std, min, max sort Try the following >> A = [1 3 3; 2 2 4] >> mean(A) >> mean(A’) >> min(A) >> [X,I] = min(A) >> cumsum(A) >> cumprod(A) >> sort(A) Some columnwise functions Introduction to MATLAB - Session 2

  7. Polynomials and interpolation • Finding the roots of the polynomial: roots(C) returns the roots of the polynomial whose coefficients are given by vector C • P(x) = C(1)*X^N + ... + C(N)*X + C(N+1). • Recall: Polynomial of degree n has exactly n complex roots. • Polynomial fitting: polyfit(x,y,n) fits a polynomial of degree n to the data points (X,Y) and returns the coefficients. • Simple interpolation interp1 interp1(X,Y,X0) interpolates the data points (X,Y) to given interpolation points X0. • interp2, interp3 for 2- and 3-dimensional data. Introduction to MATLAB - Session 2

  8. Logical expressions

  9. Logical datatype False: 0 True: 1 (nonzero) Relational operations: == equal ~= not equal >=, >, <=,< Logical operations: & (and), | (or), ~ (not), xor, any, all isempty, isnan Try the following >> v = 1:5; >> v==3 >> (v>=2)&(v<5) >> (v>=2).*(v<5) >> f = v==3 >> f = (v==3) >> whos f >> all(f) >> any(f) >> ~f >> g = (v>=2) >> xor(g,f) >> g|f Logical expressions and functions Introduction to MATLAB - Session 2

  10. find(X) returns the indeces of non-zero (true) entries of X >> I = find(X) returns the vector indeces >> [I,J] = find(X) returns the matrix indeces >> I = find(X,k) return the k first indeces Restricting vectors with find. Optional notations >> X(find(X<4)) and >> X(X<4) are the same. Try the following >> X = rand(4) >> I = find(X<0.4) >> [I,J] = find(X<0.4) >> Y = X(X<0.4) >> I = find(X<0.4) >> X(I) FIND Introduction to MATLAB - Session 2

  11. Graphics 1 - PLOT

  12. No. 1 plotting command - plot Basic idea: • Command plot(x,y) connects the points (x(1),y(1)), (x(2),y(2)) , …, (x(n),y(n)) with lines. • Into current figure and axis (if does not exist, creates). • For matrices X and Y: plot(X,Y) acts columnwise (exceptions exist). Introduction to MATLAB - Session 2

  13. Basic line properties Plot symbols: ., o, x, +, *, … Color: b, g, r, c,… Line style: -, :, -., -- For more, see >> help plot How to use: >> plot(x,y,’bo’) Multiple data in one plot: >> plot(x1,y1,’bo’,x2,y2,’r’,…) OR use hold command: >> plot(x1,y1,’bo’) >> hold on >> plot(x2,y2,’r’) >> hold off Additional properties: Graphics 2 session. Remark: Text within ’ ’ is a string A string is a char array, a char valued matrix, e.g. >> J = ’the Lord’ Try the following >> x = (-3:.1:3)’; >> plot(x,exp(x)) >> c = 1:5; >> plot(x,x.^2*c) >> plot(x,x,’rx’,x,x+2,’b-’) Plot line properties Introduction to MATLAB - Session 2

  14. Basic plot editing commands Example >> plot(x,y,’r’,x0,y0,’bo’) • Title for the image >> title(’Linear fit’) • Labels for the axes >> xlabel(’Month’) >> ylabel(’Cases’) • Setting the axis limits >> axis([0 6.5 0 15]) • Labeling of the plot lines >> legend(’fit’,’data’) Here, an additional property ’Location’ was used: >> legend(’fit’,’data’,’Location’,’NorthWest’) OR move with the mouse in the figure window. Introduction to MATLAB - Session 2

  15. >> figure(n) sets figure n as current figure or, creates figure n if it does not exist Example: Numbering subplots. >> subplot(m,n,k) Breaks the figure window to subfigures with m raws and n columns and sets current axis to axis number k For more, see >> help subplot Try the following: >> subplot(1,2,1) >> plot(rand(3)) >> subplot(2,2,2) >> plot(rand(10)) >> subplot(2,2,4) >> plot(0:.1:5,sqrt(0:.1:5)) Figure and subplot 1 2 3 4 5 6 Introduction to MATLAB - Session 2

  16. ProblemsSession 2

  17. Problems Write your solutions to m-files • Check how matrix A = a) [2 0; b) [2 0; c) [-1 0; d) [ 1 1; e) [1 -1; f) [2 1; 0 1]; 0 -1]; 0 1]; -1 1]; 1 1]; 0 2]; maps the points P = [0, 4, 4, 3, 3, 2.5, 2.5, 2, 0, 0; 0, 0, 3, 4, 5, 5, 4.5, 5, 3, 0]; by plotting P and points A*P. To plot P you can use plot(P(1,:),P(2,:)). • Plot functions y=sin(x) and y = cos(x) on interval [0,4p] in the same figure but with different colors. Introduction to MATLAB - Session 2

  18. Problems • Draw the unit circle in R2. • Draw the unit circle so that the line is green for x>0 and black for x<0. • Map the unit circle to the ellipse with major axes u = [2;1], minor axes v = [-1/2;1], and center (1,1). Draw the ellipse in the same picture with the unit circle. • Hint: Map linearly and transport. • Draw the image of the mapping f: 1 + [-i,i]  C, • f(z) = log(z), • f(z) = z^2, in the complex plane. Hint: Real plane. Introduction to MATLAB - Session 2

  19. Mortality fitting • In this exercise we consider mortality in Finland at 2007 (data loaded from Tilastokeskus website). • Copy kuolleisuus.xls (at the wikipage of the course) to your working directory. Load it to MATLAB (start your m-file with M = xlsread(’kuolleisuus.xls’);). The file contains matrix M with • M(:,1) = age • M(j,2) = mortality for mails at age(j) [1/1000] • M(j,3) = mortality for femails at age(j) • Fit polynomials of degree 2 and 3 to the mortality data. • Fit an exponential function to the mortality data, i.e., fit a polynomial of degree 1 to the log(mortality) –data. • Present your fit graphically. Use subplots, colors, titles, legends, and axis labels. Introduction to MATLAB - Session 2

  20. Computing area with random points • Compute the area of the unit triangle T = span((0,0),(1,0),(0,1)) with uniformly distributed random numbers as follows: • Generate N uniformly distributed random points x =(x1,x2) in the unit square • Find the fraction of the points falling in T. Illustrate this graphically, plot the random points and T. Plot the points in T and the points out T with different colors. • Approximate area of T. Test the accuracy with different number of points N. Introduction to MATLAB - Session 2

  21. >>quit …to exit MATLAB.

More Related