Matlab for Engineers Gari Clifford © 2010 - 2014 Centre for Doctoral Training in Healthcare Innovation Institute of Biomedical Engineering Department of.

Slides:



Advertisements
Similar presentations
Foundations of Programming and Problem Solving Introduction.
Advertisements

CSNB334 Advanced Operating Systems Course Introduction Lecturer: Asma Shakil.
WTX Overview.
1 Lab Session-II CSIT 121 Fall 2000 Visual Studio Introduction Lab-1 Explanation and Demos Debugging Tips How to add new files to your projects How many.
Operating Systems Concepts Professor Rick Han Department of Computer Science University of Colorado at Boulder.
Lecture 1 : January 2001 Dr. Andrew Paul Myers
General Computer Science for Engineers CISC 106 Lecture 26 Dr. John Cavazos Computer and Information Sciences 04/24/2009.
CS 104 Introduction to Computer Science and Graphics Problems Software and Programming Language (2) Programming Languages 09/26/2008 Yang Song (Prepared.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
DIRAC API DIRAC Project. Overview  DIRAC API  Why APIs are important?  Why advanced users prefer APIs?  How it is done?  What is local mode what.
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
Introduction to UNIX/Linux Exercises Dan Stanzione.
Object-Oriented Programming Dr. Napoleon H. Reyes, Ph.D. Computer Science Institute of Information and Mathematical Sciences Rm QA, IIMS, Albany.
Ch 1. Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2012.
CS110/CS119 Introduction to Computing (Java)
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Matlab for Engineers Alistair Johnson 5th October 2011 Centre for Doctoral Training in Healthcare Innovation Institute of Biomedical Engineering Department.
The NetBeans IDE CSIS 3701: Advanced Object Oriented Programming.
Building a Real Workflow Thursday morning, 9:00 am Lauren Michael Research Computing Facilitator University of Wisconsin - Madison.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CS OPERATING SYSTEMS Project 2 Matrix Multiplication Project.
Compiled Matlab on Condor: a recipe 30 th October 2007 Clare Giacomantonio.
ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 3, 2011outline.1 ITCS 6010/8010 Topics in Computer Science: GPU Programming for High Performance.
Which Language is Better?
1 Object Oriented Design COP 3331 Spring 2011 MWF 11:50 AM – 12:40 PM CHE 103 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering ENB.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
TGP2281: Game Programming III also better known as Game AI.
BIT 115: Introduction To Programming Instructor: Mike Panitz
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
CSNB334 Advanced Operating Systems Course Introduction Lecturer: Abdul Rahim Ahmad.
Career research project Kevin Dombrowski. Computer Programmer.
CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available.
Algorithmic Finance and Tools for Grid Execution (the Swift Grid Scripting/Workflow tool) Tiberiu (Tibi) Stef-Praun.
Building a Real Workflow Thursday morning, 9:00 am Lauren Michael Research Computing Facilitator University of Wisconsin - Madison.
ITC Research Computing Support Using Matlab Effectively By: Ed Hall Research Computing Support Center Phone: Φ Fax:
Interactive Workflows Branislav Šimo, Ondrej Habala, Ladislav Hluchý Institute of Informatics, Slovak Academy of Sciences.
Programming Fundamentals Lecture No. 2. Course Objectives Objectives of this course are three fold 1. To appreciate the need for a programming language.
Computer Science Faculty School of Software Engineering C INTERPRETER AND DEBUGGER (ISO/IEC 9899:2011) Developer: student of 203SE group: Lukyanov Dmitry.
CPS120: Introduction to Computer Science Compiling a C++ Program From The Command Line.
AMH001 (acmse03.ppt - 03/7/03) REMOTE++: A Script for Automatic Remote Distribution of Programs on Windows Computers Ashley Hopkins Department of Computer.
CDA 3100 Fall2009. Special Thanks Thanks to Dr. Xiuwen Liu for letting me use his class slides and other materials as a base for this course.
The Hashemite University Computer Engineering Department
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
M ATLAB – What Is It ? Name is from matrix laboratory Powerful tool for – Computation and visualization of engineering and science mathematics – Communication.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
CODING VOCABULARY.  Binary  A number system based on 2  Hexadecimal  A number system based on 16  Domain  An internet location registered with the.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
© Geodise Project, University of Southampton, Workflow Support for Advanced Grid-Enabled Computing Fenglian Xu *, M.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
M ATLAB – What Is It ? Name is from matrix laboratory Powerful tool for – Computation and visualization of engineering and science mathematics – Communication.
History of C and basics of Programming
Development Environment
14 Compilers, Interpreters and Debuggers
Lei Chen Research institute of general technology
Problem Identification
CISC 7120X Programming Languages and Compilers
Introduction CSE 1310 – Introduction to Computers and Programming
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
CS190/295 Programming in Python for Life Sciences: Lecture 1
MATLAB – What Is It ? Name is from matrix laboratory Powerful tool for
MATLAB – What Is It ? Name is from matrix laboratory Powerful tool for
MATLAB – What Is It ? Name is from matrix laboratory Powerful tool for
CDA 3100 Spring 2010.
The C Programming Language
An introduction to the Linux environment v
Parallel Computing Explained How to Parallelize a Code
CS31 Discussion 1H Fall18: week 1
Introduction to Computer Science
Presentation transcript:

Matlab for Engineers Gari Clifford © Centre for Doctoral Training in Healthcare Innovation Institute of Biomedical Engineering Department of Engineering Science University of Oxford Supported by the RCUK Digital Economy Programme grant number EP/G036861/1

Overview of course – caveats and introductions First – this is the 1 st year we have run it, bug-ironing to do together. There may be licensing issues (which is one reason for this course). There will be timing changes as the day progresses. We will not cover all the material today – there will be homework! Course & Instructors: 1.Mauro Villarroel (RA working with Prof Tarassenko) Coding structure, commenting, readability and testing Debugging & profiling, 2.Alistair Johnson (3 rd year DPhil working with me) Vectorisation, Parallelisation, Compilation, Mex, 3.… & me MCC, The Linux environment & Cluster Computing

Overview of course – Why this course? Learning objectives: To make your code readable for others to use and for you to re-use later (and hence save you and your research group a lot of time)! To speed up your code – you can often reduce the execution time from days to hours – meaning you will finish your DPhil in 3 years! To learn how to deal with finite resources like licenses, computational power, memory, execution time Learn how to deal with data and data structures properly Learn how to debug, profile & optimise your code (before we let you on the cluster) Find out how to run parallel jobs on your own machine Find out how to start using a remote cluster and run some basic scripts/programs

Overview of course – timetable & structure (AM) Each of us will take about ¼ of the day each You will work through examples on your computer as you go. We will circulate to check you are doing OK Part 1: The basics [ am] Coding styles – Making your code readable for you and your friends Data Types – 15 different data types and how to convert them Importing and Exporting Data – shortcuts and complex tasks Part 2: Debugging and optimising code [11am-12.30pm] Common errors The Matlab debugger The Matlab profiler Preallocation & Vectorisation Lunch: [ pm]

Overview of course – timetable & structure (PM) Part 3: Improving your code further Functions vs scripts [1.30pm-2.30pm] Commenting your code Function types Function Input/Output Input parsing Help files Parallel computing [2.30pm pm] Simple parallelisation - parfor details Parallelization exercise Parallel crashes, profiling, tips, and a remote demo Licensing Graphics Processing Unit Computation MEXing – compiling external code to run in Matlab Part 4: Compiling and deploying code [3.45pm-5pm] Linux tools – shells, virtual shells, scripting, and batch jobs MCC – the Matlab compiler Cluster computing at the IBME