introduction to matlab and simulink l.
Skip this Video
Loading SlideShow in 5 Seconds..
Introduction to Matlab and Simulink PowerPoint Presentation
Download Presentation
Introduction to Matlab and Simulink

Loading in 2 Seconds...

play fullscreen
1 / 14

Introduction to Matlab and Simulink - PowerPoint PPT Presentation

  • Uploaded on

Introduction to Matlab and Simulink. Dr Martin Brown E1k, Control Systems Centre School of Electrical and Electronic Engineering University of Manchester Tel: 0161 306 4672 EEE Intranet. Background and Aims.

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

Introduction to Matlab and Simulink

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
introduction to matlab and simulink

Introduction to Matlab and Simulink

Dr Martin Brown

E1k, Control Systems Centre

School of Electrical and Electronic Engineering

University of Manchester

Tel: 0161 306 4672

EEE Intranet

background and aims
Background and Aims
  • Matlab and Simulink have become a defacto standard for system modelling, simulation and control
  • It is assumed that you know how to use these tools and develop Matlab and Simulink programs on this MSc.
  • Over the next two weeks, we’re going to have a rapid introduction to Matlab and Simulink covering:
  • Introduction to Matlab and help!
  • Matrix programming using Matlab
  • Structured programming using Matlab
  • System (and signal) simulation using Simulink
  • Modelling and control toolboxes in Matlab
  • Note that we’re not covering everything to do with Matlab and Simulink in these 4*2 hour lectures
  • Also, after every lecture block in this module, there is a 1 hour lab scheduled – programming is a practical activity
  • Mathworks Information
  • Mathworks:
  • Mathworks Central:
  • Matlab Demonstrations
  • Matlab Overview: A demonstration of the Capabilities of Matlab
  • Numerical Computing with Matlab
  • Select Help-Demos in Matlab
  • Matlab Help
  • Select “Help” in Matlab. Extensive help about Matlab, Simulink and toolboxes
  • Matlab Homework Helper
  • Newsgroup: comp.soft-sys.matlab
  • Matlab/Simulink student version (program and book ~£50)
  • Other Matlab and Simulink Books
  • Mastering Matlab 6, Hanselman & Littlefield, Prentice Hall
  • Mastering Simulink 4, Dabney & Harman, Prentice Hall
  • Matlab and Simulink Student Version Release 14
  • lots more on mathworks, amazon, …. It is important to have one reference book.
introduction to matlab
Introduction to Matlab
  • Click on the Matlab icon/start menu initialises the Matlab environment:
  • The main window is the dynamic command interpreter which allows the user to issue Matlab commands
  • The variable browser shows which variables currently exist in the workspace





Command history

matlab programming environment
Matlab Programming Environment
  • Matlab (Matrix Laboratory) is a dynamic, interpreted, environment for matrix/vector analysis
  • Variables are created at run-time, matrices are dynamically re-sized, …
  • User can build programs (in .m files or at command line) using a C/Java-like syntax
  • Ideal environment for model building, system identification and control (both discrete and continuous time
  • Wide variety of libraries (toolboxes) available
basic matlab operations
Basic Matlab Operations
  • >> % This is a comment, it starts with a “%”
  • >> y = 5*3 + 2^2; % simple arithmetic
  • >> x = [1 2 4 5 6]; % create the vector “x”
  • >> x1 = x.^2; % square each element in x
  • >> E = sum(abs(x).^2); % Calculate signal energy
  • >> P = E/length(x); % Calculate av signal power
  • >> x2 = x(1:3); % Select first 3 elements in x
  • >> z = 1+i; % Create a complex number
  • >> a = real(z); % Pick off real part
  • >> b = imag(z); % Pick off imaginary part
  • >> plot(x); % Plot the vector as a signal
  • >> t = 0:0.1:100; % Generate sampled time
  • >> x3=exp(-t).*cos(t); % Generate a discrete signal
  • >> plot(t, x3, ‘x’); % Plot points
introduction to simulink

vs, vc


Introduction to Simulink
  • Simulink is a graphical, “drag and drop” environment for building simple and complex signal and system dynamic simulations.
  • It allows users to concentrate on the structure of the problem, rather than having to worry (too much) about a programming language.
  • The parameters of each signal and system block is configured by the user (right click on block)
  • Signals and systems are simulated over a particular time.
starting and running simulink
Starting and Running Simulink
  • Type the following at the Matlab command prompt
  • >> simulink
  • The Simulink library should appear
  • Click File-New to create a new workspace, and drag and drop objects from the library onto the workspace.
  • Selecting Simulation-Start from the pull down menu will run the dynamic simulation. Click on the blocks to view the data or alter the run-time parameters
signals and systems in simulink
Signals and Systems in Simulink
  • Two main sets of libraries for building simple simulations in Simulink:
  • Signals: Sources and Sinks
  • Systems: Continuous and Discrete
basic simulink example
Basic Simulink Example
  • Copy “sine wave” source and “scope” sink onto a new Simulink work space and connect.
  • Set sine wave parameters modify to 2 rad/sec
  • Run the simulation:
  • Simulation - Start
  • Open the scope and leave open while you change parameters (sin or simulation parameters) and re-run
  • Many other Simulink demos …
day 1 matrix programming in matlab
Day 1: Matrix Programming in Matlab
  • Full notes/syntax will be recorded in the diary
  • Setting directory and diary
  • Simple maths
  • Matlab workspace, and help
  • Variables, comments, complex numbers and functions
  • Matlab desktop and management
  • Script m-files
  • Arrays
    • Creating and assigning arrays, standard arrays
    • Array indexing and orientation
    • Array operators
    • Array manipulation
    • Array sorting, sub-array searching and manipulation functions
    • Array size and memory utilization
  • Control structures
    • for and while loops
    • if else and switch decisions
day 2 structured matlab programming
Day 2: Structured Matlab Programming
  • Full notes/syntax will be recorded in the diary
  • Functions
    • Input and output arguments
    • File structure, search path
    • Exception handling
    • Debugging and profiling
  • Strings
  • Dynamic function and expression evaluation
  • Cell arrays
  • Data structures
  • Data plotting (2D/3D), figures
  • Simulink
day 1 laboratory
Day 1: Laboratory
  • Remember
  • Change directory to your local filespace so that your work is saved
  • Turn on the diary on to save the commands and results from the lab session to a file for future reference
  • Questions
  • Use the help and lookfor commands and look at the normal Matlab help section in the pull down menu (F1). How does the sin() function work?
  • Evaluate expressions such as 7*8/9, 8^2, 6+5-3
  • Using the in-built Matlab functions, evaluate sin(0), sin(pi/2), abs(-3)
  • Using the editor, write a Matlab script to solve the quadratic equation
    • 2x2 -10x + 12 = 0
  • Evaluate, using a for loop, the first twenty numbers of the Fibonacci series
    • xn = xn-1 + xn-2, x0 = 1, x1 = 1
  • Create the two vectors [1 2 3], [4 5 6] and calculate their inner product
  • Create the 3*3 matrix A = [1 2 3; 4 5 6; 7 8 9] and the column vector b = [1 2 3], and multiply the two together A*b.
  • Solve the equation A*x = b, where A and b are given in (6)
  • Modify (8), so that you neglect the 3rd row & column of information.
  • …
day 2 laboratory
Day 2: Laboratory
  • Write a function that returns the two roots of a quadratic equation, given the three arguments a, b and c. Test the function from the command line
  • Write a function that returns the mean and standard deviation of a vector of numbers (input vector). While Matlab supplies the mean() and std() functions, try just using the sum() and length() functions.
  • Write a function that reverses the order of letters in a string, and returns the new string.
  • Use the eval() Matlab function to evaluate strings such as:
    • exp1 = ‘5*6 + 7’;
    • Note this, and feval(), is very useful for dynamic programming
  • Use a cell array to store a list of expressions, stored as strings. Then use eval() and a for loop to iterate over the expressions and evaluate them.
  • Create two simple data structures to modify your solution to (1). Use one data structure to pack the parameters of the quadratic equation into a single variable, and use another to return the roots inside a single data structure
  • Create the vector 0:pi/20:2*pi and use it to sample the sin() function. Plot the results and edit the figure window to put labels on the figure. Save the figure (.fig) and export a .jpg file.
  • Use the meshgrid() function to sample a 2 dimensional input space between 0 and 2p, then use the data to sample the function sin(x1)*cos(x2). Plot the results using the mesh() function.
  • Create a GUI that prompts the user for a number and then displays double that number next to the entered value.
  • Start Simulink and using a sin()source and a scope sink, view the signal over 10 seconds.
  • Change the frequency of the sin() source and again compare the results. Next change the simulation length.
  • Build the first order system H(s) = 1/(1+3s) in the model and pass a sin() signal through the system. Make sure you run the simulation for a long enough time for the transients to die down and the system to settle.
  • Replace the first order system in (6) with the second order system, what is the difference when the system settles down H(s) = 1/(1+2s+s^2).