MATLAB Second Seminar - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

MATLAB Second Seminar

Description:

Display names of components: File preferences Show names in component palette ... from the component palette, into the layout area. Drag to resize. Component ... – PowerPoint PPT presentation

Number of Views:382
Avg rating:3.0/5.0
Slides: 25
Provided by: doi7
Category:

less

Transcript and Presenter's Notes

Title: MATLAB Second Seminar


1
MATLABSecond Seminar
2
Previous lesson
  • Last lesson We learnt how to
  • Interact with MATLAB in the MATLAB command window
    by typing commands at the command prompt.
  • Define and use variables.
  • Plot graphs

It would be nice if you didn't have to manually
type these commands at the command prompt
whenever you want to use them.
3
Problem
  • Write a script that asks for a temperature (in
    degrees Fahrenheit)
  • computes the equivalent temperature in degrees
    Celcius.
  • The script should keep running until no number is
    provided to convert.
  • use isempty

4
Solution
  • while 1 use of an infinite loop
  • TinF input('Temperature in F ') get input
  • if isempty(TinF) how to get out
  • break
  • end
  • TinC 5(TinF - 32)/9 conversion
  • disp(' ')
  • disp(' gt Temperature in C ',num2str(TinC))
  • disp(' ')
  • end

5
Functions
  • Functions describe subprograms
  • Take inputs, generate outputs
  • Have local variables (invisible in global
    workspace)
  • Core MATLAB (Built-in) Functions
  • sin, abs, exp, ...
  • Cant be displayed on screen
  • MATLAB-supplied M-file Functions
  • mean, linspace,
  • Ca be displayed on screen
  • User-created M-file Functions

6
Core MATLAB (Built-in) Functions
  • Elementary built-in functions
  • gtgt help elfun a list of these functions
  •    
  • Special Math functions
  • gtgt help specfun 
  • Special functions - toolboxes
  • Each toolbox has a list of special functions that
    you can use

sin         Sine. exp         Exponential.
abs         Absolute value. round      
Round towards nearest integer.
lcm         Least common multiple. cart2sph   
Transform Cartesian to spherical
coordinates.
7
Structure of a Function M-file
function y mean(x) MEAN Average or mean
value. For vectors, MEAN(x) returns the mean
value. For matrices, MEAN(x) is a row vector
containing the mean value of each column. m,n
size(x) if m 1 m n end y sum(x)/m
8
Multiple Input Output Arguments
Multiple Input Arguments ( , )
  • function r ourrank(X,tol)
  • OURRANK Rank of a matrix
  • s svd(X)
  • if (nargin 1)
  • tol max(size(X))s(1)eps
  • end
  • r sum(s gt tol)

Multiple Output Arguments ,
function mean,stdev ourstat(x) OURSTAT Mean
std. deviation m,n size(x) if m 1 m
n end mean sum(x)/m stdev sqrt(sum(x.2)/m
mean.2)
  • RANK ourrank(rand(5),0.1)
  • MEAN,STDEV ourstat(199)

9
nargin, nargout, nargchk
  • nargin number of input arguments
  • - Many of Matlab functions can be run with
    different number of input variables.
  • nargout number of output arguments
  • - efficiency
  • nargchk check if number of input arguments is
    between some low and high values

10
Workspaces in MATLAB
  • MATLAB (or Base) Workspace
  • For command line and script file variables.
  • Function Workspaces
  • Each function has its own workspace for local
    variables.
  • Name of Input/output variables can be either
    equal or different then the variable name in the
    calling workspace.
  • Communicate to Function Workspace via inputs
    outputs.
  • Global Workspace
  • Global variables can be shared by multiple
    workspaces.
  • (Must be initialized in all relevant workspaces.)
  • Initialize global variables in all relevant
    workspaces
  • global variable_name
  • Initialize global variables in the source
    workspace before referring to them from other
    workspaces.

11
Tips for using Global Variables
  • DONT USE THEM
  • If you absolutely must use them
  • Avoid name conflicts
  • gtgtwhos global shows the contents of the global
    workspace
  • gtgtclear global erases the variable from both
    local and global workspaces.
  • gtgtisglobal()

12
MATLAB Calling Priority
  • High
  • variable
  • built-in function
  • subfunction
  • private function
  • MEX-file
  • P-file
  • M-file
  • Low

cos'This string.' cos(8) ans r clear
cos cos(8) ans -0.1455
13
Visual Debugging
Select Workspace Set Auto- Breakpoints
Set Breakpoint Clear Breaks Step In Single
Step Continue Quit Debugging
14
Example Visual Debugging (2)
  • Editor/Debugger opens the relevant file and
    identifies the line where the error occurred.

Current Location
Current Workspace (Function)
15
Example Visual Debugging (3)
Error message
Access to Functions Workspace
Debug Mode
16
Some Useful MATLAB commands
  • what List all m-files in current directory
  • dir List all files in current directory
  • ls Same as dir
  • type test Display test.m in command window
  • delete test Delete test.m
  • cd a Change directory to a
  • chdir a Same as cd
  • pwd Show current directory
  • which test Display current directory path to
  • test.m
  • why In case you ever needed a reason

17
Problem
  • Write a function that asks for a temperature (in
    degrees Fahrenheit)
  • computes the equivalent temperature in degrees
    Celcius.
  • The function should give an error massage in case
    no number is provided to convert.
  • use nargin.

18
Solution
  • function TinCtemp2(TinF)
  • TinF input('Temperature in F ') get input
  • if nargin0 if there is no input
  • disp('no temparture was entered')
  • TinCnan
  • else
  • TinC 5(TinF - 32)/9 conversion
  • disp(' ')
  • disp(' gt Temperature in C ',num2str(TinC))
  • disp(' ')
  • end

19
MATLAB Input
  • To read files in
  • if the file is an ascii table, use load
  • if the file is ascii but not a table, file I/O
    needs fopen and fclose
  • Reading in data from file using fopen depends on
    type of data (binary or text)
  • Default data type is binary

20
What Is GUIDE?
  • Graphical User Interface Design Environment
  • provides a set of tools for creating graphical
    user interfaces (GUIs).
  • GUIDE automatically generates an M-file that
    controls how the GUI operates.
  • Starting GUIDE
  • gtgt guide
  • OR

Push buttons
axes
Static text
Pop-up menu
21
GUIDE Tools - The Layout Editor
  • In the Quick Start dialog, select the Blank GUI
    (Default) template
  • Display names of components File
    preferences Show names in component
    palette
  • Lay out your GUI by dragging components
  • (panels, push buttons, pop-up menus, or axes)
  • from the component palette, into the layout area

Component panel
Drag to resize
Layout area
22
Using the Property Inspector
  • Labeling the Buttons
  • Select Property Inspector from the View menu.
  • Select button by clicking it.
  • Fill the name in the String field.

Activate GUI
Property Inspector
23
Programming a GUI
  • Callbacks are functions that execute in response
    to some action by the user.
  • A typical action is clicking a push button.
  • You program the GUI by coding one or more
    callbacks for each of its components.
  • A GUI's callbacks are found in an M-file that
    GUIDE generates automatically.
  • Callback template for a push button

24
Handles structure
  • Save the objects handles handles.objectname
  • Save global data can be used outside the
    function.
  • Example popup menu
  • Value user choice of the popup menu
Write a Comment
User Comments (0)
About PowerShow.com