Introduction to Matlab

Slides:



Advertisements
Similar presentations
1 Application Software Course Simulink By: Mahdi Akbari 2010.
Advertisements

1 1 Mechanical Design and Production Dept, Faculty of Engineering, Zagazig University, Egypt. Mechanical Design and Production Dept, Faculty of Engineering,
Introduction to Matlab
Introduction to Matlab Workshop Matthew Johnson, Economics October 17, /13/20151.
Introduction to MATLAB for Biomedical Engineering BME 1008 Introduction to Biomedical Engineering FIU, Spring 2015 Lesson 2: Element-wise vs. matrix operations.
 Use the Left and Right arrow keys or the Page Up and Page Down keys to move between the pages. You can also click on the pages to move forward.  To.
Review. Microsoft Office Excel 2013 provides powerful tools to organize, analyze, manage, and share information Locations where work is done are cells,
CS320n –Visual Programming LabVIEW Foundations. Visual ProgrammingLabVIEW Foundations2 What We Will Do Today Hand back and review the midterm Look at.
Introduction to Matlab By: Dr. Maher O. EL-Ghossain.
EGR 106 – Week 2 – Arrays & Scripts Brief review of last week Arrays: – Concept – Construction – Addressing Scripts and the editor Audio arrays Textbook.
SIMULINK Dr. Samir Al-Amer. SIMULINK SIMULINK is a power simulation program that comes with MATLAB Used to simulate wide range of dynamical systems To.
Simulink ® From Simulink® 7 Getting Started Guide.
EPSII 59:006 Spring Topics Using TextPad If Statements Relational Operators Nested If Statements Else and Elseif Clauses Logical Functions For Loops.
Introduction to Simulink Dr. Mohammed F. Alsayed.
Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing.
Objectives Understand what MATLAB is and why it is widely used in engineering and science Start the MATLAB program and solve simple problems in the command.
ELG 3120 Signal and System Analysis 1 Introduction to MATLAB TAs Wei Zhang Ozgur Ekici (Section A)(Section B) ELG 3120 Lab Tutorial 1.
INTRODUCTION TO MATLAB LAB# 01
ECEN/MAE 3723 – Systems I MATLAB Lecture 2. Lecture Overview What is Simulink? How to use Simulink  Getting Start with Simulink  Building a model Example.
Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul.
Introduction to Matlab
Regensburg, 24. – Introduction to Simulink Pavel Karban University of West Bohemia, Faculty of Electrical Engineering, Department of Theory.
OUTLINE Overview Numbers, variables and similar in Matlab
Introduction to Matlab. Outline:  What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators (Arithmetic, relational, logical ) Display.
Introduction to Matlab. What is Matlab? A software environment for interactive numerical computations Examples:  Matrix computations and linear algebra.
Matlab Screen  Command Window  type commands  Current Directory  View folders and m-files  Workspace  View program variables  Double click on a.
CS320n –Visual Programming More LabVIEW Foundations.
Introduction to MATLAB for Engineers Third Edition William J. Palm III Chapter 10 Simulink PowerPoint to accompany Copyright © The McGraw-Hill Companies,
SIMULINK-Tutorial 1 Class ECES-304 Presented by : Shubham Bhat.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VII Introduction to SIMULINK Rajeev Madazhy
Introduction to Matlab  Matlab is a software package for technical computation.  Matlab allows you to solve many numerical problems including - arrays.
EE3417 – Introduction to Simulink
Introduction to Matlab
Simulink Simulink is a graphical extension to MATLAB for modeling and simulation of systems. In Simulink, systems are drawn on screen as block diagrams.
INTRODUCTION TO SIMULINK by Yasmin Hanum Md Thayoob & Aidil Azwin Zainul Abidin.
INTRODUCTION TO MATLAB Dr. Hugh Blanton ENTC 4347.
Simulink  ? 1 Simulink  ( Simu lation and Link ) is an extension of Matlab Offers modeling, simulation, and analysis of dynamical systems; i.e., a system.
NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS ( NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS (PRACTICAL PART) Tutorial 2 : Matlab - Getting Started.
SCRIPTS AND FUNCTIONS DAVID COOPER SUMMER Extensions MATLAB has two main extension types.m for functions and scripts and.mat for variable save files.
INTRODUCTION TO MATLAB 1. OUTLINE:  What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators (Arithmetic, relational, logical ) Display.
Matlab Tutorial (material available at 1 Dr. Jim Martin Associate Professor School of Computing.
1 Introduction to Matlab. 2 What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for.
Getting started with Simulink
Getting started with Simulink An introductory tutorial.
Introduction to Matlab. Outline:  What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators.
Fundamentals of Windows Mouse n 4 Basic Operations: –Pointing –Clicking –Double Clicking –Dragging.
Chapter 2: The Visual Studio .NET Development Environment
- Graphical extension to MATLAB for modeling and simulation of systems
Release Numbers MATLAB is updated regularly
Lecture: MATLAB Chapter 1 Introduction
ECEN/MAE 3723 – Systems I MATLAB Lecture 2.
Simulink Basics Reijo Vuohelainen
MANIPULATING TEXT WITHIN AND BETWEEN DOCUMENTS
An Introduction to Computers and Visual Basic
MATLAB DENC 2533 ECADD LAB 9.
Introduction to Matlab
Matlab Workshop 9/22/2018.
MATLAB: Structures and File I/O
Introduction To MATLAB
StatLab Matlab Workshop
Microsoft Excel All editions of Microsoft office.
StatLab Workshop: Intro to Matlab for Data Analysis and Statistical Modeling 11/29/2018.
محاسبات عددی در مهندسی پزشکی جلسه اول و دوم مقدمه ای بر نرم افزار MATLAB گلناز بغدادی 1391.
Introduction to MATLAB [Vectors and Matrices] Lab 2
Introduction to MATLAB Plotting LAB 3
Digital Image Processing
Getting Started With Simulink
Introduction to Matlab LAB 4
An Introduction to Computers and Visual Basic
INTRODUCTION TO MATLAB
Presentation transcript:

Introduction to Matlab written By: İ.Yücel Özbek & Mahdi Akbari (simulink)

Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators (Arithmetic, relational, logical ) Display Facilities Flow Control Using of M-File Writing User Defined Functions Conclusion

What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us How high? Assembly High Level Languages such as C, Pascal etc. Matlab

What are we interested in? Matlab is too broad for our purposes in this course. The features we are going to require is Matlab Command Line m-files functions mat-files Command execution like DOS command window Series of Matlab commands Input Output capability Data storage/ loading

Matlab Screen Command Window type commands Current Directory View folders and m-files Workspace View program variables Double click on a variable to see it in the Array Editor Command History view past commands save a whole session using diary

Variables No need for types. i.e., All variables are created with double precision unless specified and they are matrices. After these statements, the variables are 1x1 matrices with double precision int a; double b; float c; Example: >>x=5; >>x1=2;

Array, Matrix a vector x = [1 2 5 1] 1 2 5 1 a matrix x = [1 2 3; 5 1 4; 3 2 -1] 1 2 3 5 1 4 3 2 -1 transpose y = x’ y = 1 2 5

Long Array, Matrix t =1:10 k =2:-0.5:-1 B = [1:4; 5:8] 1 2 3 4 5 6 7 8 9 10 k =2:-0.5:-1 k = 2 1.5 1 0.5 0 -0.5 -1 B = [1:4; 5:8] x = 1 2 3 4 5 6 7 8

Generating Vectors from functions zeros(M,N) MxN matrix of zeros ones(M,N) MxN matrix of ones rand(M,N) MxN matrix of uniformly distributed random numbers on (0,1) x = zeros(1,3) x = 0 0 0 x = ones(1,3) 1 1 1 x = rand(1,3) 0.9501 0.2311 0.6068

Matrix Index Given: A(-2), A(0) The matrix indices begin from 1 (not 0 (as in C)) The matrix indices must be positive integer Given: A(-2), A(0) Error: ??? Subscript indices must either be real positive integers or logicals. A(4,2) Error: ??? Index exceeds matrix dimensions.

Concatenation of Matrices x = [1 2], y = [4 5], z=[ 0 0] A = [ x y] 1 2 4 5 B = [x ; y] 1 2 4 5 C = [x y ;z] Error: ??? Error using ==> vertcat CAT arguments dimensions are not consistent.

Operators (arithmetic) + addition - subtraction * multiplication / division ^ power ‘ complex conjugate transpose

Matrices Operations Given A and B: Addition Subtraction Product Transpose

Operators (Element by Element) .* element-by-element multiplication ./ element-by-element division .^ element-by-element power

The use of “.” – “Element” Operation 1 2 3 5 1 4 3 2 -1 b = x .* y b= 3 4 -3 c = x . / y c= 0.33 0.5 -3 d = x .^2 d= 1 4 9 x = A(1,:) x= 1 2 3 y = A(3 ,:) y= 3 2 -1 K= x^2 Erorr: ??? Error using ==> mpower Matrix must be square. B=x*y ??? Error using ==> mtimes Inner matrix dimensions must agree.

Basic Task: Plot the function sin(x) between 0≤x≤4π Create an x-array of 100 samples between 0 and 4π. Calculate sin(.) of the x-array Plot the y-array >>x=linspace(0,4*pi,100); >>y=sin(x); >>plot(y)

Plot the function e-x/3sin(x) between 0≤x≤4π Create an x-array of 100 samples between 0 and 4π. Calculate sin(.) of the x-array Calculate e-x/3 of the x-array Multiply the arrays y and y1 >>x=linspace(0,4*pi,100); >>y=sin(x); >>y1=exp(-x/3); >>y2=y*y1;

Plot the function e-x/3sin(x) between 0≤x≤4π Multiply the arrays y and y1 correctly Plot the y2-array >>y2=y.*y1; >>plot(y2)

Display Facilities plot(.) stem(.) Example: >>x=linspace(0,4*pi,100); >>y=sin(x); >>plot(y) >>plot(x,y) Example: >>stem(y) >>stem(x,y)

Display Facilities title(.) xlabel(.) ylabel(.) >>title(‘This is the sinus function’) >>xlabel(‘x (secs)’) >>ylabel(‘sin(x)’)

Operators (relational, logical) == Equal to ~= Not equal to < Strictly smaller > Strictly greater <= Smaller than or equal to >= Greater than equal to & And operator | Or operator

Flow Control if for while break ….

Control Structures If Statement Syntax if (Condition_1) Some Dummy Examples if ((a>3) & (b==5)) Some Matlab Commands; end if (a<3) elseif (b~=5) else If Statement Syntax if (Condition_1) Matlab Commands elseif (Condition_2) elseif (Condition_3) else end

Control Structures For loop syntax for i=Index_Array Matlab Commands Some Dummy Examples for i=1:100 Some Matlab Commands; end for j=1:3:200 for m=13:-0.2:-21 for k=[0.1 0.3 -13 12 7 -9.3] For loop syntax for i=Index_Array Matlab Commands end

Control Structures While Loop Syntax while (condition) Matlab Commands end Dummy Example while ((a>3) & (b==5)) Some Matlab Commands; end

Use of M-File Extension “.m” Click to create a new M-File Extension “.m” A text file containing script or function or program to run

Use of M-File Save file as Denem430.m If you include “;” at the end of each statement, result will not be shown immediately

Writing User Defined Functions Functions are m-files which can be executed by specifying some inputs and supply some desired outputs. The code telling the Matlab that an m-file is actually a function is You should write this command at the beginning of the m-file and you should save the m-file with a file name same as the function name function out1=functionname(in1) function out1=functionname(in1,in2,in3) function [out1,out2]=functionname(in1,in2)

Writing User Defined Functions Examples Write a function : out=squarer (A, ind) Which takes the square of the input matrix if the input indicator is equal to 1 And takes the element by element square of the input matrix if the input indicator is equal to 2 Same Name

Writing User Defined Functions Another function which takes an input array and returns the sum and product of its elements as outputs The function sumprod(.) can be called from command window or an m-file as

Notes: “%” is the neglect sign for Matlab (equaivalent of “//” in C). Anything after it on the same line is neglected by Matlab compiler. Sometimes slowing down the execution is done deliberately for observation purposes. You can use the command “pause” for this purpose pause %wait until any key pause(3) %wait 3 seconds

Useful Commands The two commands used most by Matlab users are >>help functionname >>lookfor keyword

Questions ?

Thank You…

Simulink

What Is Simulink? Simulink is a software package for modeling, simulating, and analyzing dynamical systems. It supports linear and nonlinear systems, modeled in continuous time, sampled time, or a hybrid of the two.

How to open simulink Click on this item

create a model To create the model, first type simulink in the MATLAB command window. On Microsoft Windows, the Simulink Library Browser appears.

Open new window Click on New Model button Simulink opens a new model window.

Model Editor

View Command History Back =(Displays the previous view in the view history.Forward ) forward=( Displays the next view in the view history.Go To Parent ) Go To Parent=Opens, if necessary, the parent of the current subsystem and brings its window to the top of the desktop.

Building a Simple Model This example shows you how to build a model using many of the model building commands and actions you will use to build your own models The model integrates a sine wave and displays the result, along with the sine wave. The block diagram of the model looks like this

Create example model To create this model, you will need to copy blocks into the model from the following Simulink block libraries: Sources library (the Sine Wave block) Sinks library (the Scope block) Continuous library (the Integrator block) Signals & Systems library (the Mux block)

first expand the Library Browser tree to display the blocks in the Sources library. Do this by clicking first on the Simulink node to display the Sources node Sources node to display the Sources library blocks. Finally right click on the Sine Wave node to select the Sine Wave

Copy the rest of the blocks in a similar manner from their respective libraries into the model window

With all the blocks copied into the model window, the model should looksomething like this. Now it’s time to connect the blocks. Hold down the mouse button and move the cursor to the top input port of the Mux block. Notice that the line is dashed while the mouse button is down and that the cursor shape changes to double-lined cross hairs as it approaches the Mux block.

Now release the mouse button. The blocks are connected Press and hold down the Ctrl key. Press the mouse button, then drag the pointer to the Integrator block’s input port or over the Integrator block itself.

Finish making block connections Finish making block connections. When you’re done, your model should look something like this.

Now, open the Scope block to view the simulation output Now, open the Scope block to view the simulation output. Keeping the Scope window open, set up Simulink to run the simulation for 10 seconds. the simulation parameters by choosing Parameters from the Simulation menu. On the dialog box that appears notice that the Stop time is set to 10.0 (its default value)

Simulation > Configuration Parameters

Sine Wave block  Double click

Choose Start from the Simulation menu and watch the traces of the Scope block’s input.

Model Viewing Shortcuts

Zooming Block Diagrams Select Zoom In from the View menu (or type r) to enlarge the view.Select Zoom Out from the View menu (or type v) to shrink the view. Select Fit System To View from the View menu (or press the space bar) to fit the diagram to the view. Select Normal from the View menu (or type 1) to view the diagram at actual size.

colors Simulink allows you to specify the foreground and background colors of any block select Screen color from the Simulink Format menu

Connecting Blocks Connecting Two Blocks To auto connect two blocks: Select the source block. Hold down Ctrl and left-click the destination block.Simulink connects the source block to the destination block

Connecting Groups of Source Blocks Simulink can connect a group of source blocks to a destination block or a source block to a group of destination blocks.To connect a group of source blocks to a destination block: Select the source blocks. Hold down Ctrl and left-click the destination block.

connect a source block to a group of destination blocks Select the destination blocks. Hold down Ctrl and left-click the source block.

Moving a Line Segment To move a line segment: Position the pointer on the segment you want to move. Press and hold down the left mouse button. Drag the pointer to the desired location.

Inserting Blocks in a Line To insert a block in a line: Position the pointer over the block and press the left mouse button. Drag the block over the line in which you want to insert the block. Release the mouse button to drop the block on the line. Simulink inserts the block where you dropped it.

Disconnecting Blocks To disconnect a block from its connecting lines, hold down the Shift key, then drag the block to a new location.

Creating Subsystems As your model increases in size and complexity, you can simplify it by grouping blocks into subsystems. Using subsystems has these advantages: It helps reduce the number of blocks displayed in your model window. It allows you to keep functionally related blocks together

Creating a Subsystem by Adding the Subsystem Block To create a subsystem before adding the blocks Copy the Subsystem block from the Ports & Subsystems library into your model. Open the Subsystem block by double-clicking it. In the empty Subsystem window, create the subsystem. For example, the subsystem shown includes a Sum block and inport and Outport blocks to represent input to and output from the subsystem.

Creating a Subsystem by Grouping Existing Blocks If your model already contains the blocks you want to convert to a subsystem, you can create the subsystem by grouping those blocks: Enclose the blocks and connecting lines that you want to include in the subsystem within a bounding box. You cannot specify the blocks to be grouped by selecting them individually or by using the Select All command. Choose Create Subsystem from the Edit menu. If you open the Subsystem block, Simulink displays the underlying system, as shown below.