Fondamenti di Informatica

Size: px
Start display at page:

Download "Fondamenti di Informatica"

Transcription

1 Fondamenti di Informatica Scripts and Functions lesson /04/12 Prof. Emiliano Casalicchio emiliano.casalicchio@uniroma2.it

2 Agenda n Matlab scripts examples n Matlab functions differences with script parameters examples 2

3 Programming Paradigms n Procedural programming the basic programs or subprograms are sequences of operations on data items. n Functional programming every programming operation is actually implemented as a function call with no side effects Maltab Script Maltab Function 1-3

4 Matlab script: definition n Sequence of MATLAB statements in file n A script file is an external file that contains a sequence of MATLAB statements. By typing the filename, you can obtain subsequent MATLAB input from the file. Script files have a filename extension of.m. 4

5 Matlab script: definition n Scripts are the simplest kind of MATLAB program. They are useful for automating blocks of MATLAB commands, such as computations you have to perform repeatedly from the command line. n Scripts can operate on existing data in the workspace, or they can create new data on which to operate. scripts do not return output arguments, any variables that they create remain in the workspace, so you can use them in further computations. scripts can produce graphical output using commands like plot. n Scripts can contain any series of MATLAB statements. They require no declarations or begin/end delimiters. n Like any MATLAB program, scripts can contain comments. Any text following a percent sign (%) on a given line is comment text. Comments can appear on lines by themselves, or you can append them to the end of any executable line. 5

6 Script: some consideration n All variables are declared and initialized inside the script n Typically output is displayed inside the script 6

7 Objectives Chapter 5 discusses the nature, implementation, and behavior of userdefined functions in MATLAB: How to define a function How data are passed into a function How to return data including multiple results How to include other functions not needed except as helpers to your own function 1-7

8 5.1 Concept: Abstraction Procedural abstraction permits a code block that solves a particular sub-problem to be packaged and applied to different data inputs. analogous to the concept of data abstraction where individual data items are gathered to form a collection. We have already used a number of built-in procedural abstractions in the form of functions. They allow us to apply a code block about which we know nothing to data that we provide. 1-8

9 5.1 Concept: Encapsulation Encapsulation is the concept of putting a wrapper around a collection that you wish to protect from outside influence. Functions encapsulate the code they contain in two ways: the variables declared within the function are not visible from elsewhere, and the function s ability to change the values of variables (otherwise known as causing side effects) is restricted to its own code body. 1-9

10 An example function x = mynewton(f,f1,x0,n)! % Solves f(x) = 0 by doing n steps of Newton?s method starting at x0.! % Inputs: f -- the function, input as an inline! % f1 -- it?s derivative, input as an inline! % x0 -- starting guess, a number! % n -- the number of steps to do! % Output: x -- the approximate solution! format long % prints more digits! format compact % makes the output more compact! x = x0; % set x equal to the initial guess x0! for i = 1:n % Do n times! x = x - f(x)/f1(x) % Newton?s formula, prints x too! end! 10

11 An example function x = mynewton(f,f1,x0,n)! % Solves f(x) = 0 by doing n steps of Newton?s method starting at x0.! % Inputs: f -- the function, input as an inline! % f1 -- it?s derivative, input as an inline! % x0 -- starting guess, a number! % n -- the number of steps to do! % Output: x -- the approximate solution! format long % prints more digits! format compact % makes the output more compact! x = x0; % set x equal to the initial guess x0! for i = 1:n % Do n times! x = x - f(x)/f1(x) % Newton?s formula, prints x too! end! n create input variables 11

12 An example function x = mynewton(f,f1,x0,n)! % Solves f(x) = 0 by doing n steps of Newton?s method starting at x0.! % Inputs: f -- the function, input as an inline! % f1 -- it?s derivative, input as an inline! % x0 -- starting guess, a number! % n -- the number of steps to do! % Output: x -- the approximate solution! format long % prints more digits! format compact % makes the output more compact! x = x0; % set x equal to the initial guess x0! for i = 1:n % Do n times! x = x - f(x)/f1(x) % Newton?s formula, prints x too! end! n create input variables n execute mynewton x, i, f, f1, x0, n are not accessible The output is stored in ans 12

13 5.2 Black Box View of a Function n n <param 1...n> are the formal parameters the names given to the incoming data inside the function. <item 1...n> are the actual parameters provided to the function by its caller. They may have names different from the formal parameter names They are correlated to the formal parameter names by their position 1-13

14 5.3 MATLAB Implementation The template for defining a function is: function <return info> <function name> (<parameters>)! <documentation>! <code body> % must return the results! n The function code must be stored in a file whose name is the name of the function. n Functions return data to the caller by assigning values to the return variable(s) (i.e. <return info>) n MATLAB throws an error if a function does not make assignments to all the return variables. 1-14

15 Tip:different icons 15

16 5.4 Engineering Example Measuring a Solid Object n We need to compute the volume and wetted area of this object. n This requires one function that computes the volume and wetted area of a cylinder n We have a range of disk heights for which we require this information. 1-16

17 Solution n The function stored in cylinder.m function [area, volume] = cylinder(height, radius)! % function to compute the area and volume of a cylinder! % usage: [area, volume] = cylinder(height, radius)! base = pi.* radius.^2;! volume = base.* height;! area = 2 * pi * radius.* height + 2 * base;! n The test script clear! clc! h = 1:5; % set a range of disk thicknesses! R = 25;! r = 3;! [Area Vol] = cylinder(h, R) % dimensions of large disk! [area vol] = cylinder(h, r) % dimensions of the hole! % compute remaining volume! Vol = Vol - 8*vol! Area = Area + 8*(area - 2*2*pi*r.^2)! 1-17

18 Variable scoping in Matlab n The base workspace stores variables that you create at the command line. This includes any variables that scripts create, assuming that you run the script from the command line or from the Editor. Variables in the base workspace exist until you clear them or end your MATLAB session. the base workspace is called also Global Scope n Variable in the base workspace can be accessed by every script executed from the base workspace 18

19 Variable scoping in Matlab n Functions do not use the base workspace. Every function has its own function workspace. Each function workspace is separate from the base workspace and all other workspaces to protect the integrity of the data. Variables specific to a function workspace are called local variables. Typically, local variables do not remain in memory from one function call to the next. 19

20 Variable scoping in Matlab n When you call a script from a function, the script uses the function workspace. n Like local functions, nested functions have their own workspaces. However, these workspaces are unique in two significant ways: Nested functions can access and modify variables in the workspaces of the functions that contain them. All of the variables in nested functions or the functions that contain them must be explicitly defined. That is, you cannot call a function or script that assigns values to variables unless those variables already exist in the function workspace. 20

21 Global Scope and Local Scope function x = mynewton(f,f1,x0,n)! % Solves f(x) = 0 by doing n steps of Newton?s method starting at x0.! % Inputs: f -- the function, input as an inline! % f1 -- it?s derivative, input as an inline! % x0 -- starting guess, a number! % n -- the number of steps to do! % Output: x -- the approximate solution! format long % prints more digits! format compact % makes the output more compact! x = x0; % set x equal to the initial guess x0! for i = 1:n % Do n times! x = x - f(x)/f1(x) % Newton?s formula, prints x too! end! n The workspace Base Workspace or global scope 21

22 Global Scope and Local Scope Local scope, that is the local workspace containing local variables 22

23 Global Variables from: n Global variables are variables that you can access from functions or from the command line. They have their own workspace, which is separate from the base and function workspaces. n However, global variables carry notable risks. For example: Any function can access and update a global variable. Other functions that use the variable might return unexpected results. If you unintentionally give a "new" global variable the same name as an existing global variable, one function can overwrite the values expected by another. This error is difficult to diagnose. n Use global variables sparingly, if at all. n If you use global variables, declare them using the global keyword before you access them within any particular location (function or command line). 23

24 Global Variables: an example n For example, create a function in a file called falling.m: function h = falling(t)! global GRAVITY! h = 1/2*GRAVITY*t.^2;! n Then, enter these commands at the prompt: global GRAVITY! GRAVITY = 32; % m/s 2 (approx ft/s 2 )! y = falling((0:.1:5)');! n The two global statements make the value assigned to GRAVITY at the command prompt available inside the function. 24

25 Global Variables: an example n However, as a more robust alternative, redefine the function to accept the value as an input: function h = falling(t,gravity)! h = 1/2*gravity*t.^2;! n Then, enter these commands at the prompt: GRAVITY = 32;! y = falling((0:.1:5)',gravity);! 25

26 Find a value in a matrix: script A = [ ;! ];! thevalue=9;! n=size(a,1);! m=size(a,2);! exit=false;! for i = 1:n! for j = 1:m! if A(i,j) == thevalue! exit=true;! break;! end! end! if exit! break;! end! end! fprintf('the value %d is at place (%d,%d) in A \n', thevalue, i, j); 26

27 function [idx1 idx2]=find_a_value_in_m(a,thevalue)! % Find the value thevalue in matrix A and return the index of! % the element of A containing thevalue! %Input: A -- the matrix! % thevalue -- the value to be searched! %Output: [idx1 idx2] -- are the index of A such that! %A(idx1,idx2)==theValue. If thevalue is not in a idx1=idx2=0.! %! n=size(a,1);! m=size(a,2);! exit=false;! idx1=0;! idx2=0;! for i = 1:n! for j = 1:m! if A(i,j) == thevalue! exit=true;! idx1=i;! idx2=j;! break;! end! end! if exit! break;! end! end! 27

28 How to use the new function n let us create a script findavaluescript.m clear;! clc;! B = [ ;! v=9;! ];! [r(1) r(2)]=find_a_value_in_m(b,v);! if r(1) == 0! else! fprintf('value not found');! fprintf('the value %d is at place (%d,%d) in A \n', B(r(1),r(2)), r(1), r(2));! end! 28

29 Homework n scrivere le funzioni per il massimo di un vettore/matrice n scriver la funzione per la somma comulativa degli elementi di un vettore 29

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Scripts and Functions: examples lesson 9 2012/04/16 Prof. Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Agenda Examples Bisection method Locating roots Secant methods

More information

Chapter 6: User defined functions and function files

Chapter 6: User defined functions and function files The Islamic University of Gaza Faculty of Engineering Civil Engineering Department Computer Programming (ECIV 2302) Chapter 6: User defined functions and function files ١ 6.1 Creating a function file Input

More information

4.0 Programming with MATLAB

4.0 Programming with MATLAB 4.0 Programming with MATLAB 4.1 M-files The term M-file is obtained from the fact that such files are stored with.m extension. M-files are alternative means of performing computations so as to expand MATLAB

More information

DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6)

DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6) Technology & Information Management Instructor: Michael Kremer, Ph.D. Database Program: Microsoft Access Series DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6) AGENDA 3. Executing VBA

More information

Introduction to. The Help System. Variable and Memory Management. Matrices Generation. Interactive Calculations. Vectors and Matrices

Introduction to. The Help System. Variable and Memory Management. Matrices Generation. Interactive Calculations. Vectors and Matrices Introduction to Interactive Calculations Matlab is interactive, no need to declare variables >> 2+3*4/2 >> V = 50 >> V + 2 >> V Ans = 52 >> a=5e-3; b=1; a+b Most elementary functions and constants are

More information

Lab of COMP 406 Introduction of Matlab (III) Programming and Scripts

Lab of COMP 406 Introduction of Matlab (III) Programming and Scripts Lab of COMP 406 Introduction of Matlab (III) Programming and Scripts Teaching Assistant: Pei-Yuan Zhou Contact: cspyzhou@comp.polyu.edu.hk Lab 3: 26 Sep., 2014 1 Open Matlab 2012a Find the Matlab under

More information

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Execution control Prof. Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Objectives This chapter discusses techniques for changing the flow of control of a program, which

More information

COMPUTER SKILLS LESSON 12. Valeria Cardellini A.Y. 2015/16

COMPUTER SKILLS LESSON 12. Valeria Cardellini A.Y. 2015/16 COMPUTER SKILLS LESSON 12 Valeria Cardellini cardellini@ing.uniroma2.it A.Y. 2015/16 11/25/15 Computer Skills - Lesson 12 - V. Cardellini 2 Objectives of this lesson We ll discuss Functions that return

More information

What is MATLAB and howtostart it up?

What is MATLAB and howtostart it up? MAT rix LABoratory What is MATLAB and howtostart it up? Object-oriented high-level interactive software package for scientific and engineering numerical computations Enables easy manipulation of matrix

More information

MATLAB - FUNCTIONS. Functions can accept more than one input arguments and may return more than one output arguments.

MATLAB - FUNCTIONS. Functions can accept more than one input arguments and may return more than one output arguments. MATLAB - FUNCTIONS http://www.tutorialspoint.com/matlab/matlab_functions.htm Copyright tutorialspoint.com A function is a group of statements that together perform a task. In MATLAB, functions are defined

More information

Desktop Command window

Desktop Command window Chapter 1 Matlab Overview EGR1302 Desktop Command window Current Directory window Tb Tabs to toggle between Current Directory & Workspace Windows Command History window 1 Desktop Default appearance Command

More information

MAT 275 Laboratory 1 Introduction to MATLAB

MAT 275 Laboratory 1 Introduction to MATLAB MATLAB sessions: Laboratory 1 1 MAT 275 Laboratory 1 Introduction to MATLAB MATLAB is a computer software commonly used in both education and industry to solve a wide range of problems. This Laboratory

More information

Scope of Variables. In general, it is not a good practice to define many global variables. 1. Use global to declare x as a global variable.

Scope of Variables. In general, it is not a good practice to define many global variables. 1. Use global to declare x as a global variable. Scope of Variables The variables used in function m-files are known as local variables. Any variable defined within the function exists only for the function to use. The only way a function can communicate

More information

An Introduction to MATLAB. Lab tutor : Dennis Yang LIU Lab 1: Sept. 11, 2014

An Introduction to MATLAB. Lab tutor : Dennis Yang LIU   Lab 1: Sept. 11, 2014 Lab 1 of COMP 319 An Introduction to MATLAB Lab tutor : Dennis Yang LIU Email: csygliu@comp.polyu.edu.hk Lab 1: Sept. 11, 2014 1 Outline of Lab 1 Introduction to the Lab Matlab overview Basic manipulation

More information

FONDAMENTI DI INFORMATICA. Prof. Emiliano Casalicchio

FONDAMENTI DI INFORMATICA. Prof. Emiliano Casalicchio FONDAMENTI DI INFORMATICA Prof. Emiliano Casalicchio casalicchio@ing.uniroma2.it 13/04/2015 Fondamenti di Informatica a.a. 2014/15 - E. Casalicchio 2 Objectives of this lesson We ll discuss Code blocks

More information

1 Overview of the standard Matlab syntax

1 Overview of the standard Matlab syntax 1 Overview of the standard Matlab syntax Matlab is based on computations with matrices. All variables are matrices. Matrices are indexed from 1 (and NOT from 0 as in C!). Avoid using variable names i and

More information

ECE 202 LAB 3 ADVANCED MATLAB

ECE 202 LAB 3 ADVANCED MATLAB Version 1.2 1 of 13 BEFORE YOU BEGIN PREREQUISITE LABS ECE 201 Labs EXPECTED KNOWLEDGE ECE 202 LAB 3 ADVANCED MATLAB Understanding of the Laplace transform and transfer functions EQUIPMENT Intel PC with

More information

ENCAPSULATION. private, public, scope and visibility rules. packages and package level access.

ENCAPSULATION. private, public, scope and visibility rules. packages and package level access. ENCAPSULATION private, public, scope and visibility rules. packages and package level access. Q. Explain the term Encapsulation with an example? Ans: The wrapping up to data and methods into a single units

More information

Step by step set of instructions to accomplish a task or solve a problem

Step by step set of instructions to accomplish a task or solve a problem Step by step set of instructions to accomplish a task or solve a problem Algorithm to sum a list of numbers: Start a Sum at 0 For each number in the list: Add the current sum to the next number Make the

More information

ECE Lesson Plan - Class 1 Fall, 2001

ECE Lesson Plan - Class 1 Fall, 2001 ECE 201 - Lesson Plan - Class 1 Fall, 2001 Software Development Philosophy Matrix-based numeric computation - MATrix LABoratory High-level programming language - Programming data type specification not

More information

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica lesson 12 Principles of Problem Solving 2012/05/03 Prof. Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Recall (from Chapter 2) n basic steps for solving a problem Define

More information

Chapter 3: Programming with MATLAB

Chapter 3: Programming with MATLAB Chapter 3: Programming with MATLAB Choi Hae Jin Chapter Objectives q Learning how to create well-documented M-files in the edit window and invoke them from the command window. q Understanding how script

More information

Programming 1. Script files. help cd Example:

Programming 1. Script files. help cd Example: Programming Until now we worked with Matlab interactively, executing simple statements line by line, often reentering the same sequences of commands. Alternatively, we can store the Matlab input commands

More information

Chapters 6-7. User-Defined Functions

Chapters 6-7. User-Defined Functions Chapters 6-7 User-Defined Functions User-Defined Functions, Iteration, and Debugging Strategies Learning objectives: 1. Write simple program modules to implement single numerical methods and algorithms

More information

Variables are used to store data (numbers, letters, etc) in MATLAB. There are a few rules that must be followed when creating variables in MATLAB:

Variables are used to store data (numbers, letters, etc) in MATLAB. There are a few rules that must be followed when creating variables in MATLAB: Contents VARIABLES... 1 Storing Numerical Data... 2 Limits on Numerical Data... 6 Storing Character Strings... 8 Logical Variables... 9 MATLAB S BUILT-IN VARIABLES AND FUNCTIONS... 9 GETTING HELP IN MATLAB...

More information

MATLAB/Octave Tutorial

MATLAB/Octave Tutorial University of Illinois at Urbana-Champaign Department of Electrical and Computer Engineering ECE 298JA Fall 2017 MATLAB/Octave Tutorial 1 Overview The goal of this tutorial is to help you get familiar

More information

An introduction to Scheme

An introduction to Scheme An introduction to Scheme Introduction A powerful programming language is more than just a means for instructing a computer to perform tasks. The language also serves as a framework within which we organize

More information

3+2 3*2 3/2 3^2 3**2 In matlab, use ^ or ** for exponentiation. In fortran, use only ** not ^ VARIABLES LECTURE 1: ARITHMETIC AND FUNCTIONS

3+2 3*2 3/2 3^2 3**2 In matlab, use ^ or ** for exponentiation. In fortran, use only ** not ^ VARIABLES LECTURE 1: ARITHMETIC AND FUNCTIONS LECTURE 1: ARITHMETIC AND FUNCTIONS MATH 190 WEBSITE: www.math.hawaii.edu/ gautier/190.html PREREQUISITE: You must have taken or be taking Calculus I concurrently. If not taken here, specify the college

More information

MATLAB Project: Getting Started with MATLAB

MATLAB Project: Getting Started with MATLAB Name Purpose: To learn to create matrices and use various MATLAB commands for reference later MATLAB functions used: [ ] : ; + - * ^, size, help, format, eye, zeros, ones, diag, rand, round, cos, sin,

More information

EE 216 Experiment 1. MATLAB Structure and Use

EE 216 Experiment 1. MATLAB Structure and Use EE216:Exp1-1 EE 216 Experiment 1 MATLAB Structure and Use This first laboratory experiment is an introduction to the use of MATLAB. The basic computer-user interfaces, data entry techniques, operations,

More information

Introduction to MATLAB

Introduction to MATLAB Chapter 1 Introduction to MATLAB 1.1 Software Philosophy Matrix-based numeric computation MATrix LABoratory built-in support for standard matrix and vector operations High-level programming language Programming

More information

SECTION 2: PROGRAMMING WITH MATLAB. MAE 4020/5020 Numerical Methods with MATLAB

SECTION 2: PROGRAMMING WITH MATLAB. MAE 4020/5020 Numerical Methods with MATLAB SECTION 2: PROGRAMMING WITH MATLAB MAE 4020/5020 Numerical Methods with MATLAB 2 Functions and M Files M Files 3 Script file so called due to.m filename extension Contains a series of MATLAB commands The

More information

Matlab Primer. Lecture 02a Optical Sciences 330 Physical Optics II William J. Dallas January 12, 2005

Matlab Primer. Lecture 02a Optical Sciences 330 Physical Optics II William J. Dallas January 12, 2005 Matlab Primer Lecture 02a Optical Sciences 330 Physical Optics II William J. Dallas January 12, 2005 Introduction The title MATLAB stands for Matrix Laboratory. This software package (from The Math Works,

More information

VARIABLES Storing numbers:

VARIABLES Storing numbers: VARIABLES Storing numbers: You may create and use variables in Matlab to store data. There are a few rules on naming variables though: (1) Variables must begin with a letter and can be followed with any

More information

Surfing Ada for ESP Part 2

Surfing Ada for ESP Part 2 Surfing Ada for ESP Part 2 C. Montangero Dipartimento d Informatica Corso di ESperienze di Programmazione a.a. 2012/13 1 Table of contents 2 CHAPTER 9: Packages Packages allow the programmer to define

More information

An Introduction to MATLAB

An Introduction to MATLAB An Introduction to MATLAB Day 1 Simon Mitchell Simon.Mitchell@ucla.edu High level language Programing language and development environment Built-in development tools Numerical manipulation Plotting of

More information

Matlab Tutorial. Get familiar with MATLAB by using tutorials and demos found in MATLAB. You can click Start MATLAB Demos to start the help screen.

Matlab Tutorial. Get familiar with MATLAB by using tutorials and demos found in MATLAB. You can click Start MATLAB Demos to start the help screen. University of Illinois at Urbana-Champaign Department of Electrical and Computer Engineering ECE 298JA Fall 2015 Matlab Tutorial 1 Overview The goal of this tutorial is to help you get familiar with MATLAB

More information

Why use MATLAB? Mathematcal computations. Used a lot for problem solving. Statistical Analysis (e.g., mean, min) Visualisation (1D-3D)

Why use MATLAB? Mathematcal computations. Used a lot for problem solving. Statistical Analysis (e.g., mean, min) Visualisation (1D-3D) MATLAB(motivation) Why use MATLAB? Mathematcal computations Used a lot for problem solving Statistical Analysis (e.g., mean, min) Visualisation (1D-3D) Signal processing (Fourier transform, etc.) Image

More information

Chapter Five: Functions

Chapter Five: Functions Chapter Five: Functions Chapter Goals To be able to implement functions To become familiar with the concept of parameter passing To develop strategies for decomposing complex tasks into simpler ones To

More information

Introduction to Matlab

Introduction to Matlab Introduction to Matlab Math 339 Fall 2013 First, put the icon in the launcher: Drag and drop Now, open Matlab: * Current Folder * Command Window * Workspace * Command History Operations in Matlab Description:

More information

Creates a 1 X 1 matrix (scalar) with a value of 1 in the column 1, row 1 position and prints the matrix aaa in the command window.

Creates a 1 X 1 matrix (scalar) with a value of 1 in the column 1, row 1 position and prints the matrix aaa in the command window. EE 350L: Signals and Transforms Lab Spring 2007 Lab #1 - Introduction to MATLAB Lab Handout Matlab Software: Matlab will be the analytical tool used in the signals lab. The laboratory has network licenses

More information

Interactive MATLAB use. Often, many steps are needed. Automated data processing is common in Earth science! only good if problem is simple

Interactive MATLAB use. Often, many steps are needed. Automated data processing is common in Earth science! only good if problem is simple Chapter 2 Interactive MATLAB use only good if problem is simple Often, many steps are needed We also want to be able to automate repeated tasks Automated data processing is common in Earth science! Automated

More information

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Getting started with Matlab and basic concept of programming Prof. Emiliano Casalicchio http://www.ce.uniroma2.it/courses/foi/ Avvisi n L esame sarà in lingua italiana n L esame

More information

Computer Programming ECIV 2303 Chapter 1 Starting with MATLAB Instructor: Dr. Talal Skaik Islamic University of Gaza Faculty of Engineering

Computer Programming ECIV 2303 Chapter 1 Starting with MATLAB Instructor: Dr. Talal Skaik Islamic University of Gaza Faculty of Engineering Computer Programming ECIV 2303 Chapter 1 Starting with MATLAB Instructor: Dr. Talal Skaik Islamic University of Gaza Faculty of Engineering 1 Introduction 2 Chapter l Starting with MATLAB This chapter

More information

Introduction to MATLAB Programming. Chapter 3. Linguaggio Programmazione Matlab-Simulink (2017/2018)

Introduction to MATLAB Programming. Chapter 3. Linguaggio Programmazione Matlab-Simulink (2017/2018) Introduction to MATLAB Programming Chapter 3 Linguaggio Programmazione Matlab-Simulink (2017/2018) Algorithms An algorithm is the sequence of steps needed to solve a problem Top-down design approach to

More information

Introduction to Matlab

Introduction to Matlab Introduction to Matlab This tour introduces the basic notions of programming with Matlab. Contents M-file scripts M-file functions Inline functions Loops Conditionals References M-file scripts A script

More information

Getting started with MATLAB

Getting started with MATLAB Sapienza University of Rome Department of economics and law Advanced Monetary Theory and Policy EPOS 2013/14 Getting started with MATLAB Giovanni Di Bartolomeo giovanni.dibartolomeo@uniroma1.it Outline

More information

MATLAB Tutorial. Primary Author: Shoumik Chatterjee Secondary Author: Dr. Chuan Li

MATLAB Tutorial. Primary Author: Shoumik Chatterjee Secondary Author: Dr. Chuan Li MATLAB Tutorial Primary Author: Shoumik Chatterjee Secondary Author: Dr. Chuan Li 1 Table of Contents Section 1: Accessing MATLAB using RamCloud server...3 Section 2: MATLAB GUI Basics. 6 Section 3: MATLAB

More information

function [s p] = sumprod (f, g)

function [s p] = sumprod (f, g) Outline of the Lecture Introduction to M-function programming Matlab Programming Example Relational operators Logical Operators Matlab Flow control structures Introduction to M-function programming M-files:

More information

Lecture 4: Complex Numbers Functions, and Data Input

Lecture 4: Complex Numbers Functions, and Data Input Lecture 4: Complex Numbers Functions, and Data Input Dr. Mohammed Hawa Electrical Engineering Department University of Jordan EE201: Computer Applications. See Textbook Chapter 3. What is a Function? A

More information

DSP Laboratory (EELE 4110) Lab#1 Introduction to Matlab

DSP Laboratory (EELE 4110) Lab#1 Introduction to Matlab Islamic University of Gaza Faculty of Engineering Electrical Engineering Department 2012 DSP Laboratory (EELE 4110) Lab#1 Introduction to Matlab Goals for this Lab Assignment: In this lab we would have

More information

Top-down design. Topic 9. Functions II User-defined Functions. Component Testing. Flow of Top-Down Design

Top-down design. Topic 9. Functions II User-defined Functions. Component Testing. Flow of Top-Down Design Topic 9 Top-down design (Text: Chapter 3, Section 1 and Chapter 5.) Functions II User-defined Functions The classical approach to the design of large programs specify the task the program has to perform

More information

Chapter 3: Introduction to MATLAB Programming (4 th ed.)

Chapter 3: Introduction to MATLAB Programming (4 th ed.) Chapter 3: Introduction to MATLAB Programming (4 th ed.) Algorithms MATLAB scripts Input / Output o disp versus fprintf Graphs Read and write variables (.mat files) User-defined Functions o Definition

More information

MATLAB An introductory tutorial

MATLAB An introductory tutorial MATLAB An introductory tutorial By Carin Nilsson Dept. of Physical Geography and Ecosystems Analysis (taken from the tutorials for course NGE604 Climate Systems) And Chantal Donnelly (Dept. of Water Resources

More information

CSE 230 Intermediate Programming in C and C++ Functions

CSE 230 Intermediate Programming in C and C++ Functions CSE 230 Intermediate Programming in C and C++ Functions Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu http://www3.cs.stonybrook.edu/~cse230/ Concept of Functions

More information

MATLAB Project: Getting Started with MATLAB

MATLAB Project: Getting Started with MATLAB Name Purpose: To learn to create matrices and use various MATLAB commands for reference later MATLAB built-in functions used: [ ] : ; + - * ^, size, help, format, eye, zeros, ones, diag, rand, round, cos,

More information

Dr Richard Greenaway

Dr Richard Greenaway SCHOOL OF PHYSICS, ASTRONOMY & MATHEMATICS 4PAM1008 MATLAB 2 Basic MATLAB Operation Dr Richard Greenaway 2 Basic MATLAB Operation 2.1 Overview 2.1.1 The Command Line In this Workshop you will learn how

More information

ME 121 MATLAB Lesson 01 Introduction to MATLAB

ME 121 MATLAB Lesson 01 Introduction to MATLAB 1 ME 121 MATLAB Lesson 01 Introduction to MATLAB Learning Objectives Be able run MATLAB in the MCECS computer labs Be able to perform simple interactive calculations Be able to open and view an m-file

More information

User Defined Functions

User Defined Functions User Defined Functions Aaron S. Donahue Department of Civil and Environmental Engineering and Earth Sciences University of Notre Dame February 27, 2013 CE20140 A. S. Donahue (University of Notre Dame)

More information

1 >> Lecture 3 2 >> 3 >> -- Functions 4 >> Zheng-Liang Lu 169 / 221

1 >> Lecture 3 2 >> 3 >> -- Functions 4 >> Zheng-Liang Lu 169 / 221 1 >> Lecture 3 2 >> 3 >> -- Functions 4 >> Zheng-Liang Lu 169 / 221 Functions Recall that an algorithm is a feasible solution to the specific problem. 1 A function is a piece of computer code that accepts

More information

MATLAB TUTORIAL WORKSHEET

MATLAB TUTORIAL WORKSHEET MATLAB TUTORIAL WORKSHEET What is MATLAB? Software package used for computation High-level programming language with easy to use interactive environment Access MATLAB at Tufts here: https://it.tufts.edu/sw-matlabstudent

More information

MATLAB Programming for Numerical Computation Dr. Niket Kaisare Department Of Chemical Engineering Indian Institute of Technology, Madras

MATLAB Programming for Numerical Computation Dr. Niket Kaisare Department Of Chemical Engineering Indian Institute of Technology, Madras MATLAB Programming for Numerical Computation Dr. Niket Kaisare Department Of Chemical Engineering Indian Institute of Technology, Madras Module No. #01 Lecture No. #1.1 Introduction to MATLAB programming

More information

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Data abstraction: Vectors Prof. Emiliano Casalicchio http://www.ce.uniroma2.it/courses/foi/ Objectives This lecture discusses the basic calculations involving rectangular collections

More information

MATLAB The first steps. Edited by Péter Vass

MATLAB The first steps. Edited by Péter Vass MATLAB The first steps Edited by Péter Vass MATLAB The name MATLAB is derived from the expression MATrix LABoratory. It is used for the identification of a software and a programming language. As a software,

More information

1 >> Lecture 3 2 >> 3 >> -- Functions 4 >> Zheng-Liang Lu 172 / 225

1 >> Lecture 3 2 >> 3 >> -- Functions 4 >> Zheng-Liang Lu 172 / 225 1 >> Lecture 3 2 >> 3 >> -- Functions 4 >> Zheng-Liang Lu 172 / 225 Functions The first thing of the design of algorithms is to divide and conquer. A large and complex problem would be solved by couples

More information

Introduction to Matlab

Introduction to Matlab Introduction to Matlab November 22, 2013 Contents 1 Introduction to Matlab 1 1.1 What is Matlab.................................. 1 1.2 Matlab versus Maple............................... 2 1.3 Getting

More information

Introduction to Matlab. By: Hossein Hamooni Fall 2014

Introduction to Matlab. By: Hossein Hamooni Fall 2014 Introduction to Matlab By: Hossein Hamooni Fall 2014 Why Matlab? Data analytics task Large data processing Multi-platform, Multi Format data importing Graphing Modeling Lots of built-in functions for rapid

More information

SECTION 1: INTRODUCTION. ENGR 112 Introduction to Engineering Computing

SECTION 1: INTRODUCTION. ENGR 112 Introduction to Engineering Computing SECTION 1: INTRODUCTION ENGR 112 Introduction to Engineering Computing 2 Course Overview What is Programming? 3 Programming The implementation of algorithms in a particular computer programming language

More information

A/D Converter. Sampling. Figure 1.1: Block Diagram of a DSP System

A/D Converter. Sampling. Figure 1.1: Block Diagram of a DSP System CHAPTER 1 INTRODUCTION Digital signal processing (DSP) technology has expanded at a rapid rate to include such diverse applications as CDs, DVDs, MP3 players, ipods, digital cameras, digital light processing

More information

Lecture 7 Symbolic Computations

Lecture 7 Symbolic Computations Lecture 7 Symbolic Computations The focus of this course is on numerical computations, i.e. calculations, usually approximations, with floating point numbers. However, Matlab can also do symbolic computations,

More information

More C++ : Vectors, Classes, Inheritance, Templates

More C++ : Vectors, Classes, Inheritance, Templates Vectors More C++ : Vectors,, Inheritance, Templates vectors in C++ basically arrays with enhancements indexed similarly contiguous memory some changes defined differently can be resized without explicit

More information

PlOtter. Language Reference Manual

PlOtter. Language Reference Manual PlOtter Language Reference Manual Ibrahima Niang Ranjith Kumar Shanmuga Visvanathan Sania Arif in2190 rs3579 sa3311 7th March, 2016. 1 Contents 1 Introduction 3 2 Lexical Conventions 3 2.1 Identifiers......................................

More information

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB?

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB? Appendix A Introduction to MATLAB A.1 What Is MATLAB? MATLAB is a technical computing environment developed by The Math- Works, Inc. for computation and data visualization. It is both an interactive system

More information

Table of Contents. Introduction.*.. 7. Part /: Getting Started With MATLAB 5. Chapter 1: Introducing MATLAB and Its Many Uses 7

Table of Contents. Introduction.*.. 7. Part /: Getting Started With MATLAB 5. Chapter 1: Introducing MATLAB and Its Many Uses 7 MATLAB Table of Contents Introduction.*.. 7 About This Book 1 Foolish Assumptions 2 Icons Used in This Book 3 Beyond the Book 3 Where to Go from Here 4 Part /: Getting Started With MATLAB 5 Chapter 1:

More information

Microsoft Excel Level 2

Microsoft Excel Level 2 Microsoft Excel Level 2 Table of Contents Chapter 1 Working with Excel Templates... 5 What is a Template?... 5 I. Opening a Template... 5 II. Using a Template... 5 III. Creating a Template... 6 Chapter

More information

Computer Project: Getting Started with MATLAB

Computer Project: Getting Started with MATLAB Computer Project: Getting Started with MATLAB Name Purpose: To learn to create matrices and use various MATLAB commands. Examples here can be useful for reference later. MATLAB functions: [ ] : ; + - *

More information

LECTURE 0: Introduction and Background

LECTURE 0: Introduction and Background 1 LECTURE 0: Introduction and Background September 10, 2012 1 Computational science The role of computational science has become increasingly significant during the last few decades. It has become the

More information

More C++ : Vectors, Classes, Inheritance, Templates. with content from cplusplus.com, codeguru.com

More C++ : Vectors, Classes, Inheritance, Templates. with content from cplusplus.com, codeguru.com More C++ : Vectors, Classes, Inheritance, Templates with content from cplusplus.com, codeguru.com 2 Vectors vectors in C++ basically arrays with enhancements indexed similarly contiguous memory some changes

More information

Lecture 1: Hello, MATLAB!

Lecture 1: Hello, MATLAB! Lecture 1: Hello, MATLAB! Math 98, Spring 2018 Math 98, Spring 2018 Lecture 1: Hello, MATLAB! 1 / 21 Syllabus Instructor: Eric Hallman Class Website: https://math.berkeley.edu/~ehallman/98-fa18/ Login:!cmfmath98

More information

Microsoft Excel 2010 Level 1

Microsoft Excel 2010 Level 1 Microsoft Excel 2010 Level 1 One Day Course Course Description You have basic computer skills such as using a mouse, navigating through windows, and surfing the Internet. You have also used paper-based

More information

Programming in Mathematics. Mili I. Shah

Programming in Mathematics. Mili I. Shah Programming in Mathematics Mili I. Shah Starting Matlab Go to http://www.loyola.edu/moresoftware/ and login with your Loyola name and password... Matlab has eight main windows: Command Window Figure Window

More information

MATLAB BASICS. M Files. Objectives

MATLAB BASICS. M Files. Objectives Objectives MATLAB BASICS 1. What is MATLAB and why has it been selected to be the tool of choice for DIP? 2. What programming environment does MATLAB offer? 3. What are M-files? 4. What is the difference

More information

Introduction to MATLAB

Introduction to MATLAB Quick Start Tutorial Introduction to MATLAB Hans-Petter Halvorsen, M.Sc. What is MATLAB? MATLAB is a tool for technical computing, computation and visualization in an integrated environment. MATLAB is

More information

Programming in C. main. Level 2. Level 2 Level 2. Level 3 Level 3

Programming in C. main. Level 2. Level 2 Level 2. Level 3 Level 3 Programming in C main Level 2 Level 2 Level 2 Level 3 Level 3 1 Programmer-Defined Functions Modularize with building blocks of programs Divide and Conquer Construct a program from smaller pieces or components

More information

BEE 235 Continuous-Time Linear Systems

BEE 235 Continuous-Time Linear Systems BEE 235 Continuous-Time Linear Systems Lab 2 Functions in MATLAB and Playing Sounds This work was written by Amittai Axelrod, Jayson Bowen, and Maya Gupta, and is licensed under the Creative Commons Attribution

More information

Chapter 2: Functions and Control Structures

Chapter 2: Functions and Control Structures Chapter 2: Functions and Control Structures TRUE/FALSE 1. A function definition contains the lines of code that make up a function. T PTS: 1 REF: 75 2. Functions are placed within parentheses that follow

More information

GNU ccscript Scripting Guide IV

GNU ccscript Scripting Guide IV GNU ccscript Scripting Guide IV David Sugar GNU Telephony 2008-08-20 (The text was slightly edited in 2017.) Contents 1 Introduction 1 2 Script file layout 2 3 Statements and syntax 4 4 Loops and conditionals

More information

Matlab Programming MET 164 1/24

Matlab Programming MET 164 1/24 Matlab Programming 1/24 2/24 What does MATLAB mean? Contraction of Matrix Laboratory Matrices are rectangular arrays of numerical values 7 3 6 2 1 9 4 4 8 4 1 5 7 2 1 3 What are the fundamental components

More information

Scilab Programming. The open source platform for numerical computation. Satish Annigeri Ph.D.

Scilab Programming. The open source platform for numerical computation. Satish Annigeri Ph.D. Scilab Programming The open source platform for numerical computation Satish Annigeri Ph.D. Professor, Civil Engineering Department B.V.B. College of Engineering & Technology Hubli 580 031 satish@bvb.edu

More information

Lab Session # 6 Functions. ALQUDS University Department of Computer Engineering

Lab Session # 6 Functions. ALQUDS University Department of Computer Engineering 2013/2014 Programming Fundamentals for Engineers Lab Lab Session # 6 Functions ALQUDS University Department of Computer Engineering Objective: After completing this lab, the students should be able to:

More information

How to succeed in Math 365

How to succeed in Math 365 Table of Contents Introduction... 1 Tip #1 : Physical constants... 1 Tip #2 : Formatting output... 3 Tip #3 : Line continuation '...'... 3 Tip #4 : Typeset any explanatory text... 4 Tip #5 : Don't cut

More information

User Defined Functions

User Defined Functions User Defined Functions 120 90 1 0.8 60 Chapter 6 150 0.6 0.4 30 0.2 180 0 210 330 240 270 300 Objectives Create and use MATLAB functions with both single and multiple inputs and outputs Learn how to store

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB MATLAB stands for MATrix LABoratory. Originally written by Cleve Moler for college linear algebra courses, MATLAB has evolved into the premier software for linear algebra computations

More information

Functions in C C Programming and Software Tools

Functions in C C Programming and Software Tools Functions in C C Programming and Software Tools N.C. State Department of Computer Science Functions in C Functions are also called subroutines or procedures One part of a program calls (or invokes the

More information

MATLAB. Miran H. S. Mohammed. Lecture 1

MATLAB. Miran H. S. Mohammed. Lecture 1 MATLAB Miran H. S. Mohammed 1 Lecture 1 OUTLINES Introduction Why using MATLAB Installing MATLAB Activate your installation Getting started Some useful command Using MATLAB as a calculator 2 INTRODUCTION

More information

MATLAB SUMMARY FOR MATH2070/2970

MATLAB SUMMARY FOR MATH2070/2970 MATLAB SUMMARY FOR MATH2070/2970 DUNCAN SUTHERLAND 1. Introduction The following is inted as a guide containing all relevant Matlab commands and concepts for MATH2070 and 2970. All code fragments should

More information

Chapter 6 Introduction to Defining Classes

Chapter 6 Introduction to Defining Classes Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of

More information

Chapter 1 Introduction to MATLAB

Chapter 1 Introduction to MATLAB EGR115 Introduction to Computing for Engineers Introduction to MATLAB from: S.J. Chapman, MATLAB Programming for Engineers, 5 th Ed. 2016 Cengage Learning Topics Introduction: Computing for Engineers 1.1

More information

Mini-Matlab Lesson 5: Functions and Loops

Mini-Matlab Lesson 5: Functions and Loops Mini-Matlab Lesson 5: Functions and Loops Writing Functions and Scripts Contents Relational and logical operators IF loops FOR loops WHILE loops Scripts and functions Defining and using functions Anonymous

More information

Introduction to MATLAB

Introduction to MATLAB to MATLAB Spring 2019 to MATLAB Spring 2019 1 / 39 The Basics What is MATLAB? MATLAB Short for Matrix Laboratory matrix data structures are at the heart of programming in MATLAB We will consider arrays

More information