System Design S.CS301

Similar documents
MATLAB is a multi-paradigm numerical computing environment fourth-generation programming language. A proprietary programming language developed by

Introduction to Mathematical Programming

MATLAB. Miran H. S. Mohammed. Lecture 1

Introduction to MATLAB

2.0 MATLAB Fundamentals

The MATLAB system The MATLAB system consists of five main parts:

Computational Photonics, Summer Term 2014, Abbe School of Photonics, FSU Jena, Prof. Thomas Pertsch

MatLab Just a beginning

Introduction to Matlab

ENGR 253 LAB #1 - MATLAB Introduction

MATLAB = MATrix LABoratory. Interactive system. Basic data element is an array that does not require dimensioning.

A Brief Introduction to MATLAB Evans Library Research Support Workshops

SMS 3515: Scientific Computing Lecture 1: Introduction to Matlab 2014

PRACTICAL file. Department: Computer Science and Engineering. Simulation and Modeling Lab. Subject Code: BTCS 607. Semester:

Eng Marine Production Management. Introduction to Matlab

An Introduction to MATLAB See Chapter 1 of Gilat

Using Java and HTML for Linear Algebra Instruction

Module 4. Computer-Aided Design (CAD) systems

MATLAB The first steps. Edited by Péter Vass

NAG at Manchester. Michael Croucher (University of Manchester)

The Cantor Handbook. Alexander Rieder

Introduction to Scripting Languages. October 2017

Lecture 1: What is MATLAB?

Introduction to MATLAB Programming

Introduction to MATLAB. Recommended bibliography. Need more help? Session 1. Getting started.

Introduction to Scilab Use Scilab, not Matlab

CVEN 302. Computer Applications in Engineering and Construction. Dr. Tony Cahill Environmental and Water Resources Division

Chapter 1 Introduction to MATLAB

Trouble with Toolboxes. Michael Croucher (University of Manchester)

Free Software Alternatives to Commercial Math Software

Collection of Laboratories Course on Aerospace Engineering

Matlab Lecture 1 - Introduction to MATLAB. Five Parts of Matlab. Entering Matrices (2) - Method 1:Direct entry. Entering Matrices (1) - Magic Square

Experiment 6 SIMULINK

Introduction to Scilab

MATLAB 7. The Language of Technical Computing KEY FEATURES

MS6021 Scientific Computing. MatLab and Python for Mathematical Modelling. Aimed at the absolute beginner.

Introduction to Matlab

MATLAB Introduction. Ron Ilizarov Application Engineer

Can We Migrate Our Analysis Routines to Python?

! The MATLAB language

MATLAB Tutorial EE351M DSP. Created: Thursday Jan 25, 2007 Rayyan Jaber. Modified by: Kitaek Bae. Outline

A Tour of Matlab for Math 496, Section 6

MATLAB INTRODUCTION. Risk analysis lab Ceffer Attila. PhD student BUTE Department Of Networked Systems and Services

MATLAB. Devon Cormack and James Staley

GNU OCTAVE BEGINNER'S GUIDE BY JESPER SCHMIDT HANSEN DOWNLOAD EBOOK : GNU OCTAVE BEGINNER'S GUIDE BY JESPER SCHMIDT HANSEN PDF

1 Week 1: Basics of scientific programming I

Pondering the Problem of Programmers Productivity

YOGYAKARTA STATE UNIVERSITY MATHEMATICS AND NATURAL SCIENCES FACULTY MATHEMATICS EDUCATION STUDY PROGRAM

Application of Simulation Method for Analysis of Heat Exchange in Electronic Cooling Applications

HERIOT-WATT UNIVERSITY DEPARTMENT OF COMPUTING AND ELECTRICAL ENGINEERING. B35SD2 Matlab tutorial 1 MATLAB BASICS

INTENDED LEARNING OUTCOMES

2007 Maplesoft, a division of Waterloo Maple Inc.

Lectures & Excercises

STEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS

Introduction to MATLAB

개발과정에서의 MATLAB 과 C 의연동 ( 영상처리분야 )

Introduction to MATLAB

Dr Richard Greenaway

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER

Matlab Advanced Programming. Matt Wyant University of Washington

Lab of COMP 406. MATLAB: Quick Start. Lab tutor : Gene Yu Zhao Mailbox: or Lab 1: 11th Sep, 2013

How to Write Fast Numerical Code Spring 2011 Lecture 7. Instructor: Markus Püschel TA: Georg Ofenbeck

Numerical Methods Lecture 1

How to Write Fast Numerical Code Spring 2012 Lecture 9. Instructor: Markus Püschel TAs: Georg Ofenbeck & Daniele Spampinato

Eight units must be completed and passed to be awarded the Diploma.

Scientific Computing: Lecture 1

Design Principles that Make the Difference

An Introduction to Matlab for DSP

Introduction to Scientific Computing with Matlab

Computational Methods of Scientific Programming

Introduction to Matlab

WaveForm DataBase Toolbox for MATLAB and Octave

Outline. S: past, present and future Some thoughts. The 80s. Interfaces - 60s & 70s. Duncan Temple Lang Department of Statistics UC Davis

Introduction to System Simulation Techniques and Applications

Session 3 Introduction to SIMULINK

Open Source Software for Higher Mathematics

Handout: Handy Computer Tools

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

Introduction To Matlab For Engineers Solutions

Experiment 8 SIMULINK

1.1 ABOUT MATLAB and MATLAB GUI (Graphical User Interface)

Handout: Handy Computer Tools

3 An Introductory Demonstration Execute the following command to view a quick introduction to Matlab. >> intro (Use your mouse to position windows on

Matlab Programming MET 164 1/24

Matlab Tutorial, CDS

ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu

Numeric Computing for Industry

Introduction to MATLAB

ACSE Manuals Archive List of Contents

Maxima CAS presentation Chelton Evans

Introduction to Octave/Matlab. Deployment of Telecommunication Infrastructures

Scientific Computing. Some slides from James Lambers, Stanford

Introduction to MATLAB

THE STUDY OF SLIDER CRANK MECHANISM USING MATLAB AND SCILAB

1 Introduction. 2 Useful linear algebra (reprise) Introduction to MATLAB Reading. Spencer and Ware (2008), secs. 1-7, 9-9.3,

SIGNALS AND LINEAR SYSTEMS LABORATORY EELE

Speeding up MATLAB Applications Sean de Wolski Application Engineer

CPSC 535 Assignment 1: Introduction to Matlab and Octave

Numerical Methods in Engineering Sciences

Introduction to MATLAB

Transcription:

System Design S.CS301 (Autumn 2015/16) Page 1

Agenda Contents: Course overview Reading materials What is the MATLAB? MATLAB system History of MATLAB License of MATLAB Release history Syntax of MATLAB (Autumn 2015/16) Page 2

Course overview Lecture 32 hours, 1 time per week Laboratory 32 hours 1 time per 2 weeks (Autumn 2015/16) Page 3

Reading materials Ж.Дашдорж, Д.Халзаа, Ууганбаяр, Ц.Ганбат Internet resources: key words Matlab tutorial for beginners, Matlab for beginner, Matlab lecture note, how to learn Matlab etc. Library of MUST Blog of lecturer http://uranchimeg.com/education/ (Autumn 2015/16) Page 4

What is the Matlab? MATLAB is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation. Typical uses include: Math and computation Algorithm development Modeling, simulation, and prototyping Data analysis, exploration, and visualization Scientific and engineering graphics Application development, including Graphical User Interface building Source: http://cimss.ssec.wisc.edu/wxwise/class/aos340/spr00/whatismatlab.htm (Autumn 2015/16) Page 5

What is the Matlab? Cont MATLAB is an interactive system whose basic data element is an array that does not require dimensioning. This allows you to solve many technical computing problems, especially those with matrix and vector formulations, in a fraction of the time it would take to write a program in a scalar noninteractive language such as C or Fortran. The name MATLAB stands for matrix laboratory. MATLAB was originally written to provide easy access to matrix software developed by the LINPACK and EISPACK projects, which together represent the state-of-the-art in software for matrix computation. MATLAB has evolved over a period of years with input from many users. In university environments, it is the standard instructional tool for introductory and advanced courses in mathematics, engineering, and science. In industry, MATLAB is the tool of choice for high-productivity research, development, and analysis. (Autumn 2015/16) Page 6

What is the Matlab? Cont MATLAB features a family of application-specific solutions called toolboxes. Very important to most users of MATLAB, toolboxes allow you to learn and apply specialized technology. Toolboxes are comprehensive collections of MATLAB functions (M-files) that extend the MATLAB environment to solve particular classes of problems. Areas in which toolboxes are available include signal processing, control systems, neural networks, fuzzy logic, wavelets, simulation, and many others. Source: http://cimss.ssec.wisc.edu/wxwise/class/aos340/spr00/whatismatlab.htm Figure: James Brucker (Autumn 2015/16) Page 7

The MATLAB System The MATLAB system consists of five main parts: The MATLAB language. This is a high-level matrix/array language with control flow statements, functions, data structures, input/output, and object-oriented programming features. It allows both "programming in the small" to rapidly create quick and dirty throw-away programs, and "programming in the large" to create complete large and complex application programs. The MATLAB working environment. This is the set of tools and facilities that you work with as the MATLAB user or programmer. It includes facilities for managing the variables in your workspace and importing and exporting data. It also includes tools for developing, managing, debugging, and profiling M-files, MATLAB's applications. (Autumn 2015/16) Page 8

The MATLAB System Cont Handle Graphics. This is the MATLAB graphics system. It includes high-level commands for two-dimensional and three-dimensional data visualization, image processing, animation, and presentation graphics. It also includes low-level commands that allow you to fully customize the appearance of graphics as well as to build complete Graphical User Interfaces on your MATLAB applications. The MATLAB mathematical function library. This is a vast collection of computational algorithms ranging from elementary functions like sum, sine, cosine, and complex arithmetic, to more sophisticated functions like matrix inverse, matrix eigenvalues, Bessel functions, and fast Fourier transforms. (Autumn 2015/16) Page 9

The MATLAB System Cont The MATLAB Application Program Interface (API). This is a library that allows you to write C and Fortran programs that interact with MATLAB. It include facilities for calling routines from MATLAB (dynamic linking), calling MATLAB as a computational engine, and for reading and writing MAT-files. Source: http://cimss.ssec.wisc.edu/wxwise/class/aos340/spr00/whatismatlab.htm (Autumn 2015/16) Page 10

History of Matlab Cleve Moler, the chairman of the computer science department at the University of New Mexico, started developing MATLAB in the late 1970s. He designed it to give his students access to LINPACK and EISPACK without them having to learn Fortran. It soon spread to other universities and found a strong audience within the applied mathematics community. Jack Little, an engineer, was exposed to it during a visit Moler made to Stanford University in 1983. Recognizing its commercial potential, he joined with Moler and Steve Bangert. They rewrote MATLAB in C and founded MathWorks in 1984 to continue its development. These rewritten libraries were known as JACKPAC. In 2000, MATLAB was rewritten to use a newer set of libraries for matrix manipulation, LAPACK. MATLAB was first adoped by researchers and practitioners in control engineering, Little's specialty, but quickly spread to many other domains. It is now also used in education, in particular the teaching of linear algebra, numerical analysis, and is popular amongst scientists involved in image processing. Source: https://en.wikipedia.org/wiki/matlab#license (Autumn 2015/16) Page 11

License MATLAB is a proprietary product of MathWorks, so users are subject to vendor lock-in.[3][35] Although MATLAB Builder products can deploy MATLAB functions as library files which can be used with.net[36] or Java[37] application building environment, future development will still be tied to the MATLAB language. Each toolbox is purchased separately. If an evaluation license is requested, the MathWorks sales department requires detailed information about the project for which MATLAB is to be evaluated. If granted (which it often is), the evaluation license is valid for two to four weeks. A student version of MATLAB is available as is a home-use license for MATLAB, SIMULINK, and a subset of Mathwork's Toolboxes at substantially reduced prices. It has been reported that EU competition regulators are investigating whether MathWorks refused to sell licenses to a competitor.[38] (Autumn 2015/16) Page 12

Alternatives MATLAB has a number of competitors. Commercial competitors include Mathematica, TK Solver, Maple, and IDL. There are also free open source alternatives to MATLAB, in particular GNU Octave, Scilab, FreeMat, Julia, and Sage which are intended to be mostly compatible with the MATLAB language. Among other languages that treat arrays as basic entities (array programming languages) are APL, Fortran 90 and higher, S-Lang, as well as the statistical languages R and S. There are also libraries to add similar functionality to existing languages, such as IT++ for C++, Perl Data Language for Perl, ILNumerics for.net, NumPy/SciPy for Python, and Numeric.js for JavaScript. GNU Octave is unique from other alternatives because it treats incompatibility with MATLAB as a bug (see MATLAB Compatibility of GNU Octave). Therefore, GNU Octave attempts to provide a software clone of MATLAB. (Autumn 2015/16) Page 13

Release history (Autumn 2015/16) Page 14

Release history Cont.. (Autumn 2015/16) Page 15

Release history Cont.. (Autumn 2015/16) Page 16

Release history Cont.. (Autumn 2015/16) Page 17

Release history Cont.. (Autumn 2015/16) Page 18

Release history Cont.. (Autumn 2015/16) Page 19

Syntax - Variables Variables are defined using the assignment operator, =. MATLAB is a weakly typed programming language because types are implicitly converted. It is an inferred typed language because variables can be assigned without declaring their type, except if they are to be treated as symbolic objects, and that their type can change. Values can come from constants, from computation involving values of other variables, or from the output of a function (Autumn 2015/16) Page 20

Syntax - Vectors and matrice (Autumn 2015/16) Page 21

Syntax - Vectors and matrice Cont (Autumn 2015/16) Page 22

Syntax - Vectors and matrice Cont (Autumn 2015/16) Page 23

Syntax - Vectors and matrice Cont (Autumn 2015/16) Page 24

Syntax Structure and Function (Autumn 2015/16) Page 25

Syntax Classes and OOP (Autumn 2015/16) Page 26

Graphics and graphical user interface programming MATLAB supports developing applications with graphical user interface features. MATLAB includes GUIDE[19] (GUI development environment) for graphically designing GUIs.[20] It also has tightly integrated graphplotting features. For example, the function plot can be used to produce a graph from two vectors x and y. (Autumn 2015/16) Page 27

GUI Cont (Autumn 2015/16) Page 28

What we learned today? Course overview Reading materials What is the MATLAB? MATLAB system History of MATLAB License of MATLAB Release history Syntax of MATLAB (Autumn 2015/16) Page 29

End of Any questions? (Autumn 2015/16) Page 30