1 / 34

Introduction to Matlab

Introduction to Matlab. Week 1 Tutorial. Introduction. Matlab (short for MATrix LABoratory ) is a language for technical computing, developed by Mathworks , Inc. It provides a single platform for computation, visualisation , programming and software development.

raziya
Download Presentation

Introduction to Matlab

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. Introduction to Matlab Week 1 Tutorial

  2. Introduction • Matlab (short for MATrixLABoratory) is a language for technical computing, developed by Mathworks, Inc. • It provides a single platform for computation, visualisation, programming and software development. • Matlab is a perfect choice for use with medical data. • Matlab is very powerful and essentially involves operations using matrices and vectors (arrays). • Over the duration of this module you will be learning, through practical exercises, how Matlab can be used to visualize and manipulate medical data. • You will also (Wk 9, 10) learn how to perform classification and data clustering using matlab. • The Matlab software environment has a core module (called Matlab) and associated with that are a set of ‘Toolboxes’ that perform specialized computations.

  3. Tutorial Overview • In this tutorial, we will introduce some of the basic components of Matlab in preparation for the first Matlab tutorial in week 3. • The aim is to provide everyone with a basic understanding. • Therefore we will work through the concepts slowly. • Feel free to ask questions throughout.

  4. Lets Begin • Getting Started. • Matlab should be available in 16C29, where your practical labs will be held – look for the Matlab icon on the desktop. • Note: In all of the discussion in the following sections, stuff that you type into Matlab will be presented in boldface. • Double click on the Matlab icon to start the program. • To get started, type one of these commands: helpwin, helpdesk, or demo. • The ">>" is a prompt, requiring you to type in commands. One of the first commands you should type in is to find out what your working directory is. The working directory is where you will save the results of your calculations. So, type in 
>> pwd(stands for "print working directory". • Matlab always stores the result of its last calculation in a variable called ans (short for answer). • You can change the working directory using the cd (short for change directory) command. Do 
>> cd C:\temp

  5. Vectors and Matrices (1) • Variables in Matlab are just like variables in any other programming language. • only difference is that you do not have to define them by indicating the type etc. • Also, variable names (case sensitive) can be used to refer to a single number, a set of numbers (vector) or an array of numbers (matrix). • Vectors are nothing but matrices having a single row (a row vector), or a single column (a column vector). • To create a row vector in Matlab, do: • >> r = [1 2 3 4] • r = 1     2     3     4 • A column vector can be created by • >> c = [1; 2; 3; 4] • c =     1 
   2 
   3 
   4 
 

  6. Vectors and Matrices (2) • On the other hand, you can use the ' operator (transpose) to flip the row vector created. • >> c = r' • c =     1 
  2 
  3 
  4 • Vectors can also be created by incrementing a starting value with a constant quantity. For example, • >> r = [0:2:10] • r =     0     2     4     6     8    10 
creates a row vector, with the first element = 0; each element incremented by 2; until the final value of 10. • You can index specific parts of a vector. For example, to get the third element in the vector r, you can do • >> r(3) • ans = 4

  7. Vectors and Matrices (3) • Matrices are 2 dimensional quantities and are created similar to vectors. We can do • >> a = [1 2 3; 4 5 6; 7 8 9; 10 11 12] • a =     1     2     3 
     4     5     6 
     7     8     9 
    10    11    12 
 • which is a 4x3 matrix (4 rows and 3 columns).

  8. Vectors and Matrices (4) • We can also use the incrementation principle to do • >> b = [0:2:10; 1:2:11] • b =     0     2     4     6     8    10 
     1     3     5     7     9    11 
 • which is a 2x6 matrix. Again, individual elements of the matrix, for instance the element in the 2nd row, 5th column can be accessed using the notation: • >> b(2, 5) • ans = 9

  9. Vector and Matrix Operations (1) • The basic arithmetic operations +, -, *, / can be used for vectors and matrices. • These generate corresponding output vectors or matrices. • For example, to add two vectors: • >>a = [1 2 3 4]; • >> b = [5 6 7 8]; • >> c = a+b • c =  6 8 19 12 • The semicolons (;) in the first two commands direct Matlab not to echo the values of the variables a and b on to the screen immediately after you type them. • Obviously, only vectors that have the same number of elements can be added or subtracted. Similarly, two matrices with identical number of rows and columns can be subtracted as follows: • >> m = [1:2:9; 10:2:19]; • >> b = [2:2:10; 11:2:20] • >> c = m-b • c =  -1    -1    -1    -1    -1   
    -1    -1    -1    -1    -1   

  10. Vector and Matrix Operations (2) • Matrix multiplication using the * symbol is possible only if the number of columns in the first matrix equals the number of rows in the second: • >> a=[1 2 3; 4 5 6] • a =     1     2     3 
     4     5     6 • >> b = a’ • b =   1     4 
     2     5 
     3     6 • >> c=a*b • c =   14    32 
    32    77 COLUMN ROW

  11. Deleting Row / Column Items • To delete a row or column of a matrix, use the empty vector operator, [ ]. • >> A(3,:) = [ ] • >>A = 1 2 3 4 5 6 • Third row of matrix A is now deleted. • To restore the third row, we use a technique for creating a matrix • >> A = [A(1,:) ; A(2,:); [7 8 0]] • >>A = 1 2 3 4 5 6 7 8 9 • Matrix A is now restored to its original form.

  12. Loops • The for loop is a simple command for setting up a loop. • >> a = []; • >> for i = 1:10; 
>> a(i) = i*i; >> end • >> a • a =     1     4     9    16    25    36    49    64    81   100 • All statements between the for and the end statements will be executed as per the command specifications. Example of a for loop where the increment is not 1 would be • >> for i = 1:3:20; ..... etc. 
 • Type in >> help for for more details.

  13. Introduction to Matlab Week 2 Tutorial

  14. Why Choose Matlab? (1) • Matlab is currently widely used as a platform for developing tools for Decision Support • Why it is useful for prototyping AI projects: • large toolbox of numeric/image library functions • very useful for displaying, visualizing data • high-level: focus on algorithm structure, not on low level details • allows quick prototype development of algorithms

  15. Why Choose Matlab? (1) • Matlabis an interpreter -> not as fast as compiled code • Typically quite fast for an interpreted language • Often used early in development -> can then convert to C (e.g.,) for speed • Can be linked to C/C++, JAVA, SQL, etc • Commercial product, but widely used in industry and academia • Many algorithms and toolboxes freely available • netlab

  16. Saving your Workspace • It is possible to save your workspace. • This is the area in which all of you created variables are. • Be aware, this can become very large! • >> save {name is optional} • Typing ‘save’ on its own will create a file called ‘matlab.mat’ in the working directory. • Typing ‘load {name is optional} will load the workspace.

  17. File Input / Output • The save and load commands are used for saving data to disk or loading data from disk, respectively. • To save values in a  matrix or vector, called, for instance, y, do: • >> y = [1 2 3 4; 5 6 7 8]; • >> save sample.txty -ascii • The -ascii option ensures that the data is saved in ASCII form, so that it can be read by other programs - Word, Excel Notepad, Wordpad, etc. • Examine the file y.txt using one of these programs. The file is generated in the working directory. • An ASCII data file sample.txt can be loaded using • >> load sample.txt • Do >>help save and >>help load for more on load/save options.

  18. Plotting • The plot command is used for generating 2-D (functions of one variable) plots. • Do >> help plot for complete details. • >> x = [0:0.1:10]; %(here .1 is the increment) • >> y = sin(x); %(notice how the sin function operates on each element of the entire row vector x, to generate a nother row vector y) • >> plot (x, y) • >> clf (clear graph) • To generate another plot window, do >> figure

  19. 2-D Plotting • x=0:.1:2*pi; • y=sin(x); • plot(x,y) • grid on %grid on • hold on %add extra to graph • plot(x, exp(-x), 'r:*') • axis([0 2*pi 0 1]) • title('2-D Plot') %title • xlabel('Time') %labels • ylabel('Sin(t) ') • text(pi/3, sin(pi/3), '<--sin(\pi/3) ') % add some text • Legend('Sine Wave', 'Decaying Exponential') % legend

  20. Line Characteristics

  21. Plotting • x = rand(1,100); • y= rand(1,100); • plot(x,y,'*') • % To put a label on the axes we would use: • xlabel('X-axis label') • ylabel('Y-axis label') • % To put a title on the plot, we would use: • title ('Title of my plot')

  22. Figure Window • The figure window contains useful actions in its menu • and toolbars: • Zooming in and out • Rotating 3-D axes (and other camera actions) • Copying & pasting • Plot Edit Mode • Property Editor • Saving & Exporting • Figures can be saved in a binary .fig file format • Figure can be exported to many standard graphics file formats etc., • GIF, PNG, JPEG, TIFF, BMP, PCX, EPS. • Printing

  23. Executable Files (m-files in Matlab) • Executable files in Matlab are generated by storing a list of Matlab commands in a file given the extension .m • These files are called M-files. • To create an M-file, use the New...M-file Option under the File Menu in the Command Window. • Type in the following commands in the M-File Editor Window: x = [2:3:38]; y = [1 3 11 45 67 105 102 65 56 32 11 3 1]; plot(x,y) xlabel('x') ylabel('y') • Save the file using the Save Option under the File Menu in the M-File Editor Window. Call it, say, sample.m. • Now, to run this program in Matlab, move over to the Matlab Command Window and just type in >> sample

  24. Plotting Medical Data (1) • EMG Data – electrical signals representing muscle movement on the forearm resulting from gross finger movement. >> plot(finger1) >> axis([0,500,60,200]) >> figure >> plot(finger2) >> axis([0,500,60,200]) >> figure >> plot(finger3) >> axis([0,500,60,200]) >> figure >> plot(finger4) >> axis([0,500,60,200])

  25. Plotting Medical Data (2) • >> figure • >> hold on • >> plot(Average1,'r','LineWidth',1.5) • >> plot(Average2,'g','LineWidth',1.5) • >> plot(Average3,'b','LineWidth',1.5) • >> plot(Average4,'k','LineWidth',1.5) • >> hold off

  26. Subplots • Subplot (mxn, position) • subplot(2,2,1) • plot (Average1) • subplot(2,2,2) • plot (Average2) • subplot(2,2,3) • plot (Average3) • subplot(2,2,4) • plot (Average4) subplot(2,2,1) plot(Average1,'r','LineWidth',1.5) subplot(2,2,2) plot(Average2,'g','LineWidth',1.5) subplot(2,2,3) plot(Average3,'b','LineWidth',1.5) subplot(2,2,4) plot(Average4,'k','LineWidth',1.5)

  27. Plotting Medical Data (3) • ECG – The contraction of the heart muscle is caused by an electrical charge, originating from within the heart itself. • This charges travels to the body surface • Electrodes can be placed on the body and used to read the electrical activity. • Plot (x1)

  28. Contour Plots • %contour plot • contour(example) • %coloured contour plot • contourf(example) • %more contours • contourf(example,100) • %Coloured contour plot with edge line removed • contourf(example,'EdgeColor','none')

  29. Surface Plots • %simple surface plot • surf(example) • %surface plot with colourbar • surf(example,'EdgeColor','none') • colorbar • %interpolated surface plot with contour plot • surfc(example,'EdgeColor','none') • shading interp

  30. Advantaged Graphing • example = mapper(x,y,tempArray1(1,5:121))

  31. More Subplots • subplot(1,2,1) • surfc(example,'EdgeColor','none') • set(gca,'YDir','reverse'); • shading interp • axis square • subplot(1,2,2) • contourf(example,'EdgeColor','none') • set(gca,'YDir','reverse'); • axis square

  32. PLOTTING A SEQUENCE %Plot multiple bspms in sequence for i = 1:10 hold on mapper(x,y,tempArray1(i,5:121)) pause end hold off

  33. SUMMARY • Matlab is the perfect choice for working with large amounts of medical data. • When faced with the task of having to classify medical data into a number of different categories. • Healthly and Unhealthy • The first step is usually to graph the data. • Graphing allows us to quickly assess vast amounts of data. • Later in the module you will be given simple classification tasks. • Consider graphing the ‘problem’ first to gain insight into the structure of the data and relationship between variables.

More Related