Introduction to MATLAB

Document Sample
Introduction to MATLAB Powered By Docstoc
					Introduction to MATLAB
Northeastern University: College of
Computer and Information Science

Co-op Preparation University (CPU)

     Overview for 10/22/2003
• Review of topics covered in last session

• Review of the MATLAB environment
  (covered in last session)

• Declaring and manipulating variables
• Useful functions
       Review of 10/20/2003
• Contact Information

• Course Overview

• MATLAB Overview
        Contact Information
• E-mail:

• “Office Hours”: Wednesday after class

• Some information available:
         Course Overview
• Course Structure
          Course Structure
• Week 1: Overview of MATLAB
  – History of MATLAB
  – Overview of MATLAB environment
  – Discussion of MATLAB in co-op
• Week 2: Basic MATLAB
  – Simple MATLAB functionality
    • Syntax, Commands
  – Exercises involving basic MATLAB
    Course Structure, con’t: 2
• Week 3: Advanced MATLAB Functionality
  – Beyond MATLAB as a calculator
  – The MATLAB programming language
  – Project showcasing MATLABs advanced
 Meeting Times and Locations
• Week 1
  – Class 1
    • Monday, Oct. 20, 6 - 7 p.m., 257 CN
  – Class 2
    • Wednesday, Oct. 22, 6 - 7 p.m., 257 CN
  – Class 3
    • Thursday, Oct. 23, 6 - 7 p.m., 247 CN
   Meeting Times and Locations,
             con’t: 2
• Week 2
  – Class 1
    • Monday, Oct. 27, 6 - 7 p.m., 257 CN
  – Class 2
    • Wednesday, Oct. 29, 6 - 7 p.m., 257 CN
  – Class 3
    • Thursday, Oct. 30, 6 - 7 p.m., 247 CN
   Meeting Times and Locations,
             con’t: 3
• Week 3
  – Class 1
    • Monday, Nov. 3, 6 - 7 p.m., 257 CN
  – Class 2
    • Wednesday, Nov. 5, 6 - 7 p.m., 257 CN
  – Class 3
    • Thursday, Nov. 6, 6 - 7 p.m., 247 CN
• Collection of exercises:
  – Will occur during the second week
  – Will involve MATLABs basic functionality

• Final project:
  – Will occur during the final two sessions
  – Will cover MATLABs basic and advanced
         History of MATLAB
• Ancestral software to MATLAB
  – Fortran subroutines for solving linear
    (LINPACK) and eigenvalue (EISPACK)
  – Developed primarily by Cleve Moler in the
   History of MATLAB, con’t: 2
• Later, when teaching courses in
  mathematics, Moler wanted his students to
  be able to use LINPACK and EISPACK
  without requiring knowledge of Fortran
• MATLAB developed as an interactive
  system to access LINPACK and EISPACK
   History of MATLAB, con’t: 3
• MATLAB gained popularity primarily
  through word of mouth because it was not
  officially distributed
• In the 1980’s, MATLAB was rewritten in C
  with more functionality (such as plotting
   History of MATLAB, con’t: 4
• The Mathworks, Inc. was created in 1984
• The Mathworks is now responsible for
  development, sale, and support for
• The Mathworks is located in Natick, MA
• The Mathworks is an employer that hires
  co-ops through our co-op program
              MATLAB GUI
• Launch Pad / Toolbox

• Workspace

• Current Directory

• Command History

• Command Window
       Launch Pad / Toolbox
• Will not be covered

• Launch Pad allows you to start

• Toolbox is for use with specialized
  packages (Signal Processing)
• Allows access to data

• Area of memory managed through the
  Command Window

• Shows Name, Size (in elements), Number
  of Bytes and Type of Variable
           Current Directory
• MATLAB, like Windows or UNIX, has a
  current directory

• MATLAB functions can be called from any

• Your programs (to be discussed later) are
  only available if the current directory is the
  one that they exist in
          Command History
• Allows access to the commands used
  during this session, and possibly previous

• Clicking and dragging to the Command
  window allows you to re-execute previous
         Command Window
• Probably the most important part of the

• Allows you to input the commands that will
  create variables, modify variables and
  even (later) execute scripts and functions
  you program yourself.
          Simple Commands
• who

• whos

• save

• clear

• load
• who lists the variables currently in the

• As we learn more about the data
  structures available in MATLAB, we will
  see more uses of “who”
• whos is similar to who, but also gives size
  and storage information
• s = whos(...) returns a structure with these
  fields name variable name size variable
  size bytes number of bytes allocated for
  the array class class of variable and
  assigns it to the variable s. (We will
  discuss structures more).
• save – saves workspace variables on disk

• save filename stores all workspace variables in
  the current directory in filename.mat

• save filename var1 var2 ... saves only the
  specified workspace variables in filename.mat.
  Use the * wildcard to save only those variables
  that match the specified pattern.
• clear removes items from workspace,
  freeing up system memory

• Examples of syntax:
  – clear
  – clear name
  – clear name1 name2 name3 ...
• Not quite clear

• clc clears only the command window, and
  has no effect on variables in the
• load - loads workspace variables from disk

• Examples of Syntax:
  – load
  – load filename
  – load filename X Y Z
Declaring a variable in MATLAB
• Not necessary to specify a type. (Such as
  int or float)

• Several kinds of variables:
  – Vector
  – Matrix
  – Structure
  – Cell array
  Declaring a variable, con’t: 2
• For an integer or floating point number:
  simply set a variable name equal to some

• Ex. A = 5;
• Or A = 5
              Sidenote 1
• The presence or lack of a semi-colon after
  a MATLAB command does not generate
  an error of any kind

• The presence of a semi-colon tells
  MATLAB to suppress the screen output of
  the command
         Sidenote 1, con’t: 2
• The lack of a semi-colon will make
  MATLAB output the result of the command
  you entered

• One of these options is not necessarily
  better than the other
   Declaring a variable, con’t: 3
• You may now use the simple integer or
  float that you used like a normal number
  (though internally it is treated like a 1 by 1

• Possible operations:
  – +, -, /
  – Many functions (round(), ceil(), floor())
  Declaring a variable, con’t: 4
• You may also make a vector rather simply

• The syntax is to set a variable name equal
  to some numbers, which are surrounded
  by brackets and separated by either
  spaces or commas
• Ex. A = [1 2 3 4 5];
• Or A = [1,2,3,4,5];
  Declaring a variable, con’t: 5
• You may also declare a variable in a
  general fashion much more quickly

• Ex. A = 1:1:10
• The first 1 would indicate the number to
  begin counting at
• The second 1 would be the increase each
• And the count would end at 10
   Declaring a variable, con’t: 6
• Matrices are the primary variable type for

• Matrices are declared similar to the declaration
  of a vector

• Begin with a variable name, and set it equal to a
  set of numbers, surrounded by brackets. Each
  number should be seperated by a comma or
  Declaring a variable, con’t: 7
• The semi-colons in a matrix declaration
  indicate where the row would end
• Ex. A = [ 1,2;3,4] would create a matrix
  that looks like
  Declaring a variable, con’t: 7
• Matrices may be used as normal variables
  now. Multiplying is already defined for
  matrices, and additional code does not
  need to be written.
  Declaring a variable, con’t: 8
• The final type of variable we will discuss
  today will be a struct.

• The command struct is used to create a

• Syntax:
  – s = struct('field1',{},'field2',{},...)
  – s = struct('field1',values1,'field2',values2,...)
   Declaring a variable, con’t 9
• A simple declaration of a structure is as
  follows: = “Joe”;
Student.age = 23;
Student.major = “Computer Science”;
  Declaring a variable, con’t: 10
• Arrays of structures are possible.

• Taking the previous example, if one were to

Student(2).name = “Bill”

Then the array would be created for you.
 Declaring a variable, con’t: 11
• Structures can group information, but
  methods are not written for them.
Another satisfied MATLAB user!


Shared By: