Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Matlab

Similar presentations


Presentation on theme: "Introduction to Matlab"— Presentation transcript:

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

2 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

3 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

4 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

5 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

6 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;

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

8 Long Array, Matrix t =1:10 k =2:-0.5:-1 B = [1:4; 5:8]
k =2:-0.5:-1 k = B = [1:4; 5:8] x =

9 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 = x = ones(1,3) x = rand(1,3)

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

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

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

13 Matrices Operations Given A and B: Addition Subtraction Product
Transpose

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

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

16 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)

17 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;

18 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)

19 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)

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

21 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

22 Flow Control if for while break ….

23 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

24 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=[ ] For loop syntax for i=Index_Array Matlab Commands end

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

26 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

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

28 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)

29 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

30 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

31 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

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

33 Questions ?

34 Thank You…

35 Simulink

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

37 How to open simulink Click on this item

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

39

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

41 Model Editor

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

43 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

44 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)

45 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

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

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

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

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

50

51 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)

52 Simulation > Configuration Parameters

53 Sine Wave block  Double click

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

55 Model Viewing Shortcuts

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

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

58 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

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

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

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

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

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

64 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

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

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


Download ppt "Introduction to Matlab"

Similar presentations


Ads by Google