1 / 39

Lecture 1: Matlab Universe

Lecture 1: Matlab Universe. Tom Rebold ENGR 196.3. Course Overview. The Way the Class Works. I lecture for 15 – 20 minutes You do lab for 30 – 40 minutes Labs link to extra Problems online for fast students Everyone turn in a solution to the last problem they solve today

Download Presentation

Lecture 1: Matlab Universe

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. Lecture 1: Matlab Universe Tom Rebold ENGR 196.3

  2. Course Overview

  3. The Way the Class Works • I lecture for 15 – 20 minutes • You do lab for 30 – 40 minutes • Labs link to extra Problems online for fast students • Everyone turn in a solution to the last problem they solve today • HOMEWORK: Bring in 3 Math problems to solve…medium, hard, impossible • We’ll have independent study time

  4. To Buy Matlab • Student Version, $100 • Can purchase, download online • Link from ENGR196.3 class webpage • Bookstore does not stock • MATLAB retails for $1600, so it’s a pretty good deal

  5. Why MATLAB • Compared to other choices: • C++, Fortran, Java • Excel, MathCad, Mathematica, Labview • Matlab is a Very High Level Language • Designed for complex numerical calculations • Vast array of Toolboxes for different specialties • Excellent visualization tools • Symbolic math somewhat awkward • Simulink for modelling dynamic systems

  6. Today’s Agenda • MATLAB Overview • Working in MATLAB’s Environment • Simple calculations, variables • Vectors, Matrices, Plotting • Applications—Problem Solving • Systems of equations • Analyzing a data file • 3D Plotting

  7. MATLAB’s ENVIRONMENT

  8. Download week1.zip • Follow instructions in Lab1 • View toolbox demos • Experiment with workspace configuration

  9. Numeric Data • At it’s most basic level, Matlab can be used as a simple calculator, by typing in an arithmetic expression and hitting enter. For example, at the command prompt, type: >> 8/10 >>4 * 3 >>8/10 + 4*3 >>9^2 (what does the ^ operator do? )

  10. Arithmetic rules of precedence >> 8 + 3*5 >> 8 + (3*5) >> (8 + 3) * 5 >> 4^2 – 12 >> 8/4*2 >> 8/(4*2) >> 3*4^2 >> (3*4)^2 >> 27^(1/3) >> 27^1/3

  11. built in functions • Matlab has hundreds of built in functions to do more complicated math • sqrt(9) • log10(1000) • log(10) • pi • cos(pi) • i • exp(i*pi)

  12. Variables • Usually we need to hang on to the result of a calculation • We need a way to name memory for storage • Variable--name of a place in memory where information is stored • r = 8/10 • r • s=20*r • score = 4 * r + s • z = sqrt(1000) • z = sqrt(s)

  13. Assignment Operator • = means “gets” • Translation: MATLAB: r = 8/10 ENGLISH: r “gets” the value 8/10 • OK in Math x + 2 = 20 NOT OK IN MATLAB !! (only variable on Left Side)

  14. Expressing Math in MATLAB 2 • yx _______________x-y • 3x _______________2y

  15. Saving Work in Matlab Script (.m) files • You’ll want to build up complex calculations slowly • Try, correct, try again, improve, etc • .m Files store your calculations • Can be edited in Matlab • Can be re-executed by typing the file name

  16. Example .m file • Volume of a Cylinder. The volume of a cylinder is V= pr2h. A particular cylinder is 15 meters high with a radius of 8 meters. We want to construct another cylinder tank with a volume 20% greater, but with the same height. How large must its radius be? The session follows: • r = 8; • h = 15; • V = pi*r^2*h • V = V + 0.2*V  adds 20% to V • r = sqrt(V/ (pi * h)) Put this in a file calledcyl_volume.m to save retyping

  17. Finish Section IV • If you finish early, please follow the link to practice problems online

  18. Vectors • Matlab has a very concise language for dealing with vectors (arrays of data) • scalar: x = 3 • vector: x = [1 0 0] • A vector is a series of data grouped together • Row Vectors and Column Vectors • Transpose operator • Functions and Arithmetic with vectors • Colon operator • Multiplication—cell by cell vs ‘dot product’

  19. Finish Section V • If you finish early, please follow the link to practice problems online

  20. Basic Plotting • Experimental Results v = [20:10:70]; d = [46, 75, 128, 201, 292, 385]; plot(v, d); • Mathematical Formulas x=[0:0.01:2]; y=exp(-3*x).*sin(8*pi*x);  .* is needed here plot(x,y); • Both involve using plot( ) on vectors

  21. Finish Section VI • Play with multiple plots, linetypes, etc • If you finish early, please follow the link to practice problems online

  22. VII Application: Polynomial Math • We can represent polynomials by vectors of coefficients, for example: • x3 – 9x2 + 2x + 48 represented by • [1 -9 2 48] • Matlab provides commands to calculate • Roots • Multiplication and division of polynomials • Example on structural resonance online • More problems online

  23. VIII Matrices • A matrix is a 2 dimensional vector 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 • Useful tools: • Transpose • Cell address • Merging and extracting vectors • multiplication

  24. IX Application: Systems of Equations • A common occurrence, need to solve a system of simultaneous equations: 3x + 4y + 5z = 32 21x + 5y + 2z = 20 x – 2y + 10z = 120 • A solution is a value of x, y, and z that satisfies all 3 equations • In general, these 3 equations could have 1 solution, many solutions, or NO solutions

  25. Using Matlab to Solve Simultaneous Equations • Set up the equation in matrix/vector form: A = [3 4 5; 21 5 2; 1 -2 10] u = [ x y z]’ b = [ 32 20 120]’ In other words, A u = b (this is linear algebra) = *

  26. The solution uses matrix inverse • If you multiply both sides by 1/A you get u = 1/A * b • In the case of matrices, order of operation is critical (WRONG: u = b/A ) • SO we have “Left division” u = A \ b (recommended approach) • OR use inv( ) function: u = inv(A) * b

  27. The solution >> u = A\b u = 1.4497 ( value of x) -6.3249 ( value of y) 10.5901 ( value of z) • You can plug these values in the original equation test = A * u and see if you get b

  28. Caution with Systems of Eqs • Sometimes, Matrix A does not have an inverse: • This means the 3 equations are not really independent and there is no single solution (there may be an infinite # of solns) • Take determinant det(A) if 0, it’s singular = *

  29. Application:Analyze DatafromA RealScienceProject

  30. http://geodynamics.jpl.nasa.gov/antarctica/mbl.html

  31. Data Files

More Related