Matlab second seminar
1 / 24

MATLAB Second Seminar - PowerPoint PPT Presentation

  • Uploaded on

MATLAB Second Seminar. 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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' MATLAB Second Seminar' - azizi

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Matlab second seminar

MATLABSecond Seminar

Previous lesson
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.


  • 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


while 1 % use of an infinite loop

TinF = input('Temperature in F:'); % get input

if isempty(TinF) % how to get out



TinC = 5*(TinF - 32)/9; % conversion

disp(' ')

disp([' ==> Temperature in C =',num2str(TinC)])

disp(' ')



  • Functions describe subprograms

    • Take inputs, generate outputs

    • Have local variables (invisible in global workspace)

  • Core MATLAB (Built-in) Functions

    • sin, abs, exp, ...

      Can’t be displayed on screen

  • MATLAB-supplied M-file Functions

    • mean, linspace, …

      Ca be displayed on screen

  • User-created M-file Functions

Core matlab built in functions
Core MATLAB (Built-in) Functions

  • Elementary built-in functions

  • >> help elfun % a list of these functions

  • Special Math functions

  • >> 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.

Structure of a function m file

Keyword: function

Function Name (same as file name .m)

Output Argument(s)

Input Argument(s)

Online Help



Command Line Syntax

  • output_value = mean(input_value)

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;


y = sum(x)/m;

Multiple input output arguments
Multiple Input & Output Arguments

Multiple Input Arguments ( , )

functionr = ourrank(X,tol)

% OURRANK Rank of a matrix

s = svd(X);

if(nargin == 1)

tol = max(size(X))*s(1)*eps;


r = sum(s > tol);

Multiple Output

Arguments [ , ]

function[mean,stdev] = ourstat(x)

% OURSTAT Mean & std. deviation

[m,n] = size(x);

ifm == 1

m = n;


mean = sum(x)/m;

stdev = sqrt(sum(x.^2)/m – mean.^2);

  • RANK = ourrank(rand(5),0.1);

  • [MEAN,STDEV] = ourstat(1:99);

Nargin nargout nargchk
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

Workspaces in matlab
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.

Tips for using global variables
Tips for using Global Variables


  • If you absolutely must use them:

    • Avoid name conflicts

      >>whos global%shows the contents of the global workspace

      >>clear global %erases the variable from both local and global workspaces.


Matlab calling priority
MATLAB Calling Priority



built-in function


private function





» cos='This string.';

» cos(8)

ans =


» clear cos

» cos(8)

ans =


Visual debugging
Visual Debugging

Select Workspace

Set Auto-


Set Breakpoint

Clear Breaks

Step In

Single Step


Quit Debugging

Example visual debugging 2
Example: Visual Debugging (2)

  • Editor/Debugger opens the relevant file and identifies the line where the error occurred.



Current Workspace (Function)

Example visual debugging 3
Example: Visual Debugging (3)

Error message

Access to Function’s Workspace

Debug Mode

Some useful matlab commands
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


  • why In case you ever needed a reason


  • 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.



TinF = input('Temperature in F:'); % get input

if nargin==0 % if there is no input

disp('no temparture was entered');



TinC = 5*(TinF - 32)/9; % conversion

disp(' ')

disp([' ==> Temperature in C =',num2str(TinC)])

disp(' ')


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”

What is guide
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:

    >> guide


Push buttons


Static text

Pop-up menu

Guide tools the layout editor
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

Using the property inspector
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



Programming a gui
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:

Handles structure
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