ERTH3021 Exploration and Mining Geophysics

Size: px
Start display at page:

Download "ERTH3021 Exploration and Mining Geophysics"

Transcription

1 ERTH3021 Exploration and Mining Geophysics Practical 1: Introduction to Scientific Programming using Python Purposes To introduce simple programming skills using the popular Python language. To provide analysis tools for use in subsequent practicals. Report Required Hard copy output showing code and output plots for Exercises 7 and 8 Programming languages Most students will have had some experience with the concept of programming, via programmable calculators, or using the formula tool in Excel. These are useful for very simple tasks, but for realworld data handling more complete tools are needed. In geophysical modelling and data handling, several languages are currently being used, including: Fortran: Excellent for mathematical algorithms, easy to write and understand, produces 'fastest' code, huge archive of freely available code. Excellent open source versions available. C: Very powerful for low-level instrumental control, also widely used for algorithmic work, slightly more difficult to write, excellent general purpose language. Open Source available. C++ An update of 'C'. More powerful, but more difficult to learn, write and maintain. Matlab: Higher-level, hence excellent for rapid prototyping, but arguably less flexible and lower performance. Generally not used for production systems. Proprietary. Python: A modern, easy-to-use language with a rapidly growing support base. More detail below. Why use Python Very easy to learn, use and maintain Open-source Concise (fewer lines of code to do tasks) - economic to write and maintain High-level, very rapid development Good tools to link in existing Fortran or C code Excellent for User Interfaces. ERTH3021 Programming Practical Page 1

2 Python Download URLs The core Python labguage is freely available from This is the core distribution supporting most general purpose programming needs. However, there are three add-ons which are useful for more specialised needs. These are matplotlib, numpy and scipy, which are all freely available. A convenient distribution of Python, which includes all these libraries is available from: You can download for Windows, MAC, or Linux. Python Tutorials We will cover all that we need in class. However, there are several good tutorials on the web if you want to go further. A good intro for beginners the definitive tutorial by Guido van Rossum, the inventor of Python. Note that in this course we adopt a programming approach which is relatively simple, but which allows you to do most of what is commonly needed in scientific computing. As you gain more experience Python allows you to explore more advanced approaches if you want to (e.g. NUMPY vector programming, object orientation etc.) Exercise 1: Using the Python Interpreter as a calculator As a starting point, we will work directly with the Python Interpreter. This is very useful for understanding how individual Python statements are interpreted. On your computer start up the Python IDLE interpreter. The exact mechanism will vary depending on what computer platform you are on. You will see the Python interpreter prompt >>> In the following, italics are used to indicate what you should type in after the >>> prompt. (a) Try typing some simple mathematical expressions, such as: * * * ( ) 3 / 2 (what is going on here!) 3.0 /2 (b) Experiment with spaces, brackets, minus signs etc. Does the interpreter behave as expected? ERTH3021 Programming Practical Page 2

3 (c) Experiment with some simple algebra, such as: a = 10.0 b = 20.0 a + b c= a+b c d=a**2+b**2+c**2 D what happens and why? Exercise 2: Importing modules into the Interpreter - mathematical functions (a) Experiment with some mathematical functions. sin (0) log (100.0) x=pi/2 what happens and why? (b) Now tell the interpreter to load the maths module and experiment further. from math import sin, pi, log sin (0) sin 0 note that you need the brackets in a function sin (90) what happens and why? sin(pi/2) python needs angles in radians. Python knows about pi log(100) assumes natural log log10(100) special function for base 10 log(100,e) more general usage. See what happens when you stop typing after the '(' log(100,10) dir() shows you what names and functions you currently have available Exercise 3: Experimenting with useful control functions (a) Experiment with the range function, noting in particular, the behaviour of the 'end' point. range(1,10) range(1,10,2) produces a list of integers, but excludes the 'end' point increment other than 1 is allowed. (b) Experiment with the multi-line 'for' statement. for i in range(0,5): print i, 'squared is', i**2 note the colon note the indentation - very important note quotes and commas in print statement ERTH3021 Programming Practical Page 3

4 (c) Experiment with the multi-line 'if' statement. x=5 if x>0: print 'x is greater than zero' note the indentation. Try again but with x = -3 Note on File Extensions In serious computational work, it is very useful to use the file extension to identify files of a particular type. For example, we will use the extension.py to signify a file which holds python code. Before proceeding ensure that your PC is configured so that it does not hide file extensions. Exercise 4: Python Program sinwave1.py Now that we understand how the interpreter works, we can try some more interesting exercises. We will want to save our efforts, and the way we so this is to put all our commands into a file. From the Python Shell, click on file, new window, and then enter the following code: program sinwave1.py compute a sinwave for i in range(0,91,1): theta = i * pi / print 'sin', i, 'is ', sin (theta) step through angle in degrees convert to radians Save as sinwave1.py. Put the file in a directory of your own. Click on Run, Run Module and see what happens. Fix your program by adding an import command and rerun. Exercise 5: Python Program sinwave2.py- Introducing Arrays Start with your sinwave1.py program, but do a save as sinwave2.py This will do exactly the same thing, but now we are using arrays, which will make it easier to plot. program sinwave2.py compute sin wave using arrays from math import pi, sin from numpy import zeros sinwave = zeros (1000, float) for i in range(0,91,1): theta = i * pi / sinwave[i] = sin(theta) print 'sin', i, 'is ', sinwave[i] load general maths tools load array tools set up an array for answers step through angle in degrees convert to radians ERTH3021 Programming Practical Page 4

5 Exercise 6: Python Program sincos.py - Introducing Plotting program sincos.py compute and plot sin and cos waves using arrays from math import sin, cos, pi load general maths tools from numpy import zeros load array tools from pylab import plot, title, xlabel, ylabel, legend, show plotting tools sinwave = zeros (91, float) set up arrays for answers coswave = zeros (91,float) for i in range(0,91,1): step through angle in degrees theta = i * pi / convert to radians sinwave[i] = sin(theta) coswave[i]=cos(theta) print 'Angle:', i, 'Sin:', sinwave[i], 'Cos:', coswave[i] plot (sinwave, label='sin') Now plot the functions plot (coswave, label='cos') title('trig Function Plot') xlabel('angle (deg)') ylabel('function') legend() show() Exercise 7: The plotting mechanism in Exercise 6 is limited in that the 'degrees axis' can only handle positive latitudes, and unit increments. Modify the program to plot from to 90.0 degrees at an increment of 0.1 degrees. One way to achieve this is to introduce a new array for the latitude. This then requires a slightly different plot command of the form: plot(latitude, sinwave, label='sin') ERTH3021 Programming Practical Page 5

6 Exercise 8: Variation of the earth's radius with latitude The Earth's equatorial radius, or semi-major axis, is the distance from its center to the equator and equals 6, km. The Earth's polar radius, or semi-minor axis, is the distance from its center to the North and South Poles, and equals 6, km The Earth's exact radius at any geodetic latitude,, is: At any latitude, the rotational radius is given by: r = R cos φ Construct plots which shows how the radius R and the rotational radius r vary with latitude. Since the scales of these plots are very different, we will use the subplot function. ERTH3021 Programming Practical Page 6

ERTH2020 Introduction to Geophysics

ERTH2020 Introduction to Geophysics ERTH2020 Practical:: Introduction to Python Page 1 ERTH2020 Introduction to Geophysics 2018 Practical 1: Introduction to scientific programming using Python, and revision of basic mathematics Purposes

More information

Scientific Computing using Python

Scientific Computing using Python Scientific Computing using Python Swaprava Nath Dept. of CSE IIT Kanpur mini-course webpage: https://swaprava.wordpress.com/a-short-course-on-python/ Disclaimer: the contents of this lecture series are

More information

EE 301 Signals & Systems I MATLAB Tutorial with Questions

EE 301 Signals & Systems I MATLAB Tutorial with Questions EE 301 Signals & Systems I MATLAB Tutorial with Questions Under the content of the course EE-301, this semester, some MATLAB questions will be assigned in addition to the usual theoretical questions. This

More information

Introduction to MATLAB Practical 1

Introduction to MATLAB Practical 1 Introduction to MATLAB Practical 1 Daniel Carrera November 2016 1 Introduction I believe that the best way to learn Matlab is hands on, and I tried to design this practical that way. I assume no prior

More information

Introduction to Python Practical 1

Introduction to Python Practical 1 Introduction to Python Practical 1 Daniel Carrera & Brian Thorsbro October 2017 1 Introduction I believe that the best way to learn programming is hands on, and I tried to design this practical that way.

More information

How to learn MATLAB? Some predefined variables

How to learn MATLAB? Some predefined variables ECE-S352 Lab 1 MATLAB Tutorial How to learn MATLAB? 1. MATLAB comes with good tutorial and detailed documents. a) Select MATLAB help from the MATLAB Help menu to open the help window. Follow MATLAB s Getting

More information

Matlab Tutorial and Exercises for COMP61021

Matlab Tutorial and Exercises for COMP61021 Matlab Tutorial and Exercises for COMP61021 1 Introduction This is a brief Matlab tutorial for students who have not used Matlab in their programming. Matlab programming is essential in COMP61021 as a

More information

Computational Programming with Python

Computational Programming with Python Numerical Analysis, Lund University, 2017 1 Computational Programming with Python Lecture 1: First steps - A bit of everything. Numerical Analysis, Lund University Lecturer: Claus Führer, Alexandros Sopasakis

More information

Scientific Computing: Lecture 1

Scientific Computing: Lecture 1 Scientific Computing: Lecture 1 Introduction to course, syllabus, software Getting started Enthought Canopy, TextWrangler editor, python environment, ipython, unix shell Data structures in Python Integers,

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

EGR 111 Introduction to MATLAB

EGR 111 Introduction to MATLAB EGR 111 Introduction to MATLAB This lab introduces the MATLAB help facility, shows how MATLAB TM, which stands for MATrix LABoratory, can be used as an advanced calculator. This lab also introduces assignment

More information

MS6021 Scientific Computing. TOPICS: Python BASICS, INTRO to PYTHON for Scientific Computing

MS6021 Scientific Computing. TOPICS: Python BASICS, INTRO to PYTHON for Scientific Computing MS6021 Scientific Computing TOPICS: Python BASICS, INTRO to PYTHON for Scientific Computing Preliminary Notes on Python (v MatLab + other languages) When you enter Spyder (available on installing Anaconda),

More information

Computer Lab 1: Introduction to Python

Computer Lab 1: Introduction to Python Computer Lab 1: Introduction to Python 1 I. Introduction Python is a programming language that is fairly easy to use. We will use Python for a few computer labs, beginning with this 9irst introduction.

More information

Introduction to Octave/Matlab. Deployment of Telecommunication Infrastructures

Introduction to Octave/Matlab. Deployment of Telecommunication Infrastructures Introduction to Octave/Matlab Deployment of Telecommunication Infrastructures 1 What is Octave? Software for numerical computations and graphics Particularly designed for matrix computations Solving equations,

More information

A quick Matlab tutorial

A quick Matlab tutorial A quick Matlab tutorial Michael Robinson 1 Introduction In this course, we will be using MATLAB for computer-based matrix computations. MATLAB is a programming language/environment that provides easy access

More information

MATLAB INTRODUCTION. Matlab can be used interactively as a super hand calculator, or, more powerfully, run using scripts (i.e., programs).

MATLAB INTRODUCTION. Matlab can be used interactively as a super hand calculator, or, more powerfully, run using scripts (i.e., programs). L A B 6 M A T L A B MATLAB INTRODUCTION Matlab is a commercial product that is used widely by students and faculty and researchers at UTEP. It provides a "high-level" programming environment for computing

More information

ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah)

ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah) Introduction ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah) MATLAB is a powerful mathematical language that is used in most engineering companies today. Its strength lies

More information

CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS

CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS 1439-1440 1 Outline 1. Introduction 2. Why Python? 3. Compiler and Interpreter 4. The first program 5. Comments and Docstrings 6. Python Indentations

More information

Matlab Introduction. Scalar Variables and Arithmetic Operators

Matlab Introduction. Scalar Variables and Arithmetic Operators Matlab Introduction Matlab is both a powerful computational environment and a programming language that easily handles matrix and complex arithmetic. It is a large software package that has many advanced

More information

Python Input, output and variables. Lecture 23 COMPSCI111/111G SS 2018

Python Input, output and variables. Lecture 23 COMPSCI111/111G SS 2018 Python Input, output and variables Lecture 23 COMPSCI111/111G SS 2018 1 Today s lecture What is Python? Displaying text on screen using print() Variables Numbers and basic arithmetic Getting input from

More information

Get It Interpreter Scripts Arrays. Basic Python. K. Cooper 1. 1 Department of Mathematics. Washington State University. Basics

Get It Interpreter Scripts Arrays. Basic Python. K. Cooper 1. 1 Department of Mathematics. Washington State University. Basics Basic Python K. 1 1 Department of Mathematics 2018 Python Guido van Rossum 1994 Original Python was developed to version 2.7 2010 2.7 continues to receive maintenance New Python 3.x 2008 The 3.x version

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Introduction: MATLAB is a powerful high level scripting language that is optimized for mathematical analysis, simulation, and visualization. You can interactively solve problems

More information

MATLAB Tutorial III Variables, Files, Advanced Plotting

MATLAB Tutorial III Variables, Files, Advanced Plotting MATLAB Tutorial III Variables, Files, Advanced Plotting A. Dealing with Variables (Arrays and Matrices) Here's a short tutorial on working with variables, taken from the book, Getting Started in Matlab.

More information

Introduction to Python for Scientific Computing

Introduction to Python for Scientific Computing 1 Introduction to Python for Scientific Computing http://tinyurl.com/cq-intro-python-20151022 By: Bart Oldeman, Calcul Québec McGill HPC Bart.Oldeman@calculquebec.ca, Bart.Oldeman@mcgill.ca Partners and

More information

Research Computing with Python, Lecture 1

Research Computing with Python, Lecture 1 Research Computing with Python, Lecture 1 Ramses van Zon SciNet HPC Consortium November 4, 2014 Ramses van Zon (SciNet HPC Consortium)Research Computing with Python, Lecture 1 November 4, 2014 1 / 35 Introduction

More information

Introduction to Python Part 1. Brian Gregor Research Computing Services Information Services & Technology

Introduction to Python Part 1. Brian Gregor Research Computing Services Information Services & Technology Introduction to Python Part 1 Brian Gregor Research Computing Services Information Services & Technology RCS Team and Expertise Our Team Scientific Programmers Systems Administrators Graphics/Visualization

More information

Laboratory 1 Octave Tutorial

Laboratory 1 Octave Tutorial Signals, Spectra and Signal Processing Laboratory 1 Octave Tutorial 1.1 Introduction The purpose of this lab 1 is to become familiar with the GNU Octave 2 software environment. 1.2 Octave Review All laboratory

More information

Python Programming. Hans-Petter Halvorsen.

Python Programming. Hans-Petter Halvorsen. Python Programming Hans-Petter Halvorsen https://www.halvorsen.blog Python Programming Python Programming Hans-Petter Halvorsen 2018 Python Programming c Hans-Petter Halvorsen December 20, 2018 1 Preface

More information

The value of f(t) at t = 0 is the first element of the vector and is obtained by

The value of f(t) at t = 0 is the first element of the vector and is obtained by MATLAB Tutorial This tutorial will give an overview of MATLAB commands and functions that you will need in ECE 366. 1. Getting Started: Your first job is to make a directory to save your work in. Unix

More information

Python for Earth Scientists

Python for Earth Scientists Python for Earth Scientists Andrew Walker andrew.walker@bris.ac.uk Python is: A dynamic, interpreted programming language. Python is: A dynamic, interpreted programming language. Data Source code Object

More information

Week Two. Arrays, packages, and writing programs

Week Two. Arrays, packages, and writing programs Week Two Arrays, packages, and writing programs Review UNIX is the OS/environment in which we work We store files in directories, and we can use commands in the terminal to navigate around, make and delete

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

Getting Started with MATLAB

Getting Started with MATLAB Getting Started with MATLAB Math 315, Fall 2003 Matlab is an interactive system for numerical computations. It is widely used in universities and industry, and has many advantages over languages such as

More information

An Introduction to Maple and Maplets for Calculus

An Introduction to Maple and Maplets for Calculus An Introduction to Maple and Maplets for Calculus Douglas B. Meade Department of Mathematics University of South Carolina Columbia, SC 29208 USA URL: www.math.sc.edu/~meade e-mail: meade@math.sc.edu Philip

More information

PC-MATLAB PRIMER. This is intended as a guided tour through PCMATLAB. Type as you go and watch what happens.

PC-MATLAB PRIMER. This is intended as a guided tour through PCMATLAB. Type as you go and watch what happens. PC-MATLAB PRIMER This is intended as a guided tour through PCMATLAB. Type as you go and watch what happens. >> 2*3 ans = 6 PCMATLAB uses several lines for the answer, but I ve edited this to save space.

More information

Section 10.1 Polar Coordinates

Section 10.1 Polar Coordinates Section 10.1 Polar Coordinates Up until now, we have always graphed using the rectangular coordinate system (also called the Cartesian coordinate system). In this section we will learn about another system,

More information

3 Introduction to MATLAB

3 Introduction to MATLAB 3 Introduction to MATLAB 3 INTRODUCTION TO MATLAB 3.1 Reading Spencer and Ware 2008), secs. 1-7, 9-9.3, 12-12.4. For reference: Matlab online help desk 3.2 Introduction Matlab is a commercial software

More information

Python Programming, bridging course 2011

Python Programming, bridging course 2011 Python Programming, bridging course 2011 About the course Few lectures Focus on programming practice Slides on the homepage No course book. Using online resources instead. Online Python resources http://www.python.org/

More information

Dr Richard Greenaway

Dr Richard Greenaway SCHOOL OF PHYSICS, ASTRONOMY & MATHEMATICS 4PAM1008 MATLAB 3 Creating, Organising & Processing Data Dr Richard Greenaway 3 Creating, Organising & Processing Data In this Workshop the matrix type is introduced

More information

STAT/MATH 395 A - PROBABILITY II UW Winter Quarter Matlab Tutorial

STAT/MATH 395 A - PROBABILITY II UW Winter Quarter Matlab Tutorial STAT/MATH 395 A - PROBABILITY II UW Winter Quarter 2016 Néhémy Lim Matlab Tutorial 1 Introduction Matlab (standing for matrix laboratory) is a high-level programming language and interactive environment

More information

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

1 Introduction. 2 Useful linear algebra (reprise) Introduction to MATLAB Reading. Spencer and Ware (2008), secs. 1-7, 9-9.3, Introduction to MATLAB Reading Spencer and Ware (2008), secs. 1-7, 9-9.3, 12-12.4. For reference: matlab online help desk 1 Introduction MATLAB is commercial software that provides a computing environment

More information

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER BENC 2113 DENC ECADD 2532 ECADD LAB SESSION 6/7 LAB

More information

A Guide to Using Some Basic MATLAB Functions

A Guide to Using Some Basic MATLAB Functions A Guide to Using Some Basic MATLAB Functions UNC Charlotte Robert W. Cox This document provides a brief overview of some of the essential MATLAB functionality. More thorough descriptions are available

More information

(Ca...

(Ca... 1 of 8 9/7/18, 1:59 PM Getting started with 228 computational exercises Many physics problems lend themselves to solution methods that are best implemented (or essentially can only be implemented) with

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

Python for Science and Engineering

Python for Science and Engineering Python for Science and Engineering Hans-Petter Halvorsen https://www.halvorsen.blog Python for Science and Engineering Python for Science and Engineering Hans-Petter Halvorsen 2018 Python for Science and

More information

This is a basic tutorial for the MATLAB program which is a high-performance language for technical computing for platforms:

This is a basic tutorial for the MATLAB program which is a high-performance language for technical computing for platforms: Appendix A Basic MATLAB Tutorial Extracted from: http://www1.gantep.edu.tr/ bingul/ep375 http://www.mathworks.com/products/matlab A.1 Introduction This is a basic tutorial for the MATLAB program which

More information

Scientific Python: matplotlib

Scientific Python: matplotlib Scientific Python: matplotlib 17 July 2014 Introduction and Aims This exercise introduces the matplotlib module of Python. Matplotlib is a versatile plotting library that can be used to produce both quick

More information

Laboratory 1 Introduction to MATLAB for Signals and Systems

Laboratory 1 Introduction to MATLAB for Signals and Systems Laboratory 1 Introduction to MATLAB for Signals and Systems INTRODUCTION to MATLAB MATLAB is a powerful computing environment for numeric computation and visualization. MATLAB is designed for ease of use

More information

Part VI. Scientific Computing in Python. Alfredo Parra : Scripting with Python Compact Max-PlanckMarch 6-10,

Part VI. Scientific Computing in Python. Alfredo Parra : Scripting with Python Compact Max-PlanckMarch 6-10, Part VI Scientific Computing in Python Compact Course @ Max-PlanckMarch 6-10, 2017 63 Doing maths in Python Standard sequence types (list, tuple,... ) Can be used as arrays Can contain different types

More information

Matlab Tutorial for COMP24111 (includes exercise 1)

Matlab Tutorial for COMP24111 (includes exercise 1) Matlab Tutorial for COMP24111 (includes exercise 1) 1 Exercises to be completed by end of lab There are a total of 11 exercises through this tutorial. By the end of the lab, you should have completed the

More information

AMS 27L LAB #2 Winter 2009

AMS 27L LAB #2 Winter 2009 AMS 27L LAB #2 Winter 2009 Plots and Matrix Algebra in MATLAB Objectives: 1. To practice basic display methods 2. To learn how to program loops 3. To learn how to write m-files 1 Vectors Matlab handles

More information

A 30 Minute Introduction to Octave ENGR Engineering Mathematics Tony Richardson

A 30 Minute Introduction to Octave ENGR Engineering Mathematics Tony Richardson A 30 Minute Introduction to Octave ENGR 390 - Engineering Mathematics Tony Richardson Introduction This is a brief introduction to Octave. It covers several topics related to both the statistics and linear

More information

Assignment 2 Arrays and Functions

Assignment 2 Arrays and Functions Assignment 2 Arrays and Functions Assigned TA: Yohai Mandabi. Publication date: 17.11.13. Introduction The geographic coordinate system is a grid allowing the specification of any location on Earth. The

More information

Introduction to Python and NumPy I

Introduction to Python and NumPy I Introduction to Python and NumPy I This tutorial is continued in part two: Introduction to Python and NumPy II Table of contents Overview Launching Canopy Getting started in Python Getting help Python

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

Introduction to Python

Introduction to Python Islamic University Of Gaza Faculty of Engineering Computer Engineering Department Lab 1 Introduction to Python Eng. Ibraheem Lubbad September 17, 2016 Introduction: Python is a high-level, object-oriented

More information

2D LINE PLOTS... 1 The plot() Command... 1 Labeling and Annotating Figures... 5 The subplot() Command... 7 The polarplot() Command...

2D LINE PLOTS... 1 The plot() Command... 1 Labeling and Annotating Figures... 5 The subplot() Command... 7 The polarplot() Command... Contents 2D LINE PLOTS... 1 The plot() Command... 1 Labeling and Annotating Figures... 5 The subplot() Command... 7 The polarplot() Command... 9 2D LINE PLOTS One of the benefits of programming in MATLAB

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

Lecture 1. Course Overview, Python Basics

Lecture 1. Course Overview, Python Basics Lecture 1 Course Overview, Python Basics We Are Very Full! Lectures are at fire-code capacity. We cannot add sections or seats to lectures You may have to wait until someone drops No auditors are allowed

More information

Introduction to MatLab. Introduction to MatLab K. Craig 1

Introduction to MatLab. Introduction to MatLab K. Craig 1 Introduction to MatLab Introduction to MatLab K. Craig 1 MatLab Introduction MatLab and the MatLab Environment Numerical Calculations Basic Plotting and Graphics Matrix Computations and Solving Equations

More information

PHY224 Practical Physics I. Lecture 2

PHY224 Practical Physics I. Lecture 2 PHY224 Practical Physics I Python Review Lecture 2 Sept. 15 16 16, 2014 Summary Functions and Modules Graphs (plotting with Pylab) Scipy packages References M H. Goldwasser, D. Letscher: Object oriented

More information

Table of Contents EVALUATION COPY

Table of Contents EVALUATION COPY Table of Contents Introduction... 1-2 A Brief History of Python... 1-3 Python Versions... 1-4 Installing Python... 1-5 Environment Variables... 1-6 Executing Python from the Command Line... 1-7 IDLE...

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

Ch.2: Loops and lists

Ch.2: Loops and lists Ch.2: Loops and lists Joakim Sundnes 1,2 Hans Petter Langtangen 1,2 Simula Research Laboratory 1 University of Oslo, Dept. of Informatics 2 Aug 29, 2018 Plan for 28 August Short quiz on topics from last

More information

Question 1: As you drag the green arrow, what gets graphed? Does it make sense? Explain in words why the resulting graph looks the way it does.

Question 1: As you drag the green arrow, what gets graphed? Does it make sense? Explain in words why the resulting graph looks the way it does. GRAPH A: r 0.5 Question 1: As you drag the green arrow, what gets graphed? Does it make sense? Explain in words why the resulting graph looks the way it does. Question 2: How many theta does it take before

More information

Stanford Exploration Project, Report 100, April 20, 1999, pages

Stanford Exploration Project, Report 100, April 20, 1999, pages Stanford Exploration Project, Report 100, April 20, 1999, pages 251 256 250 Stanford Exploration Project, Report 100, April 20, 1999, pages 251 256 Helical meshes on spheres and cones Jon Claerbout 1 keywords:

More information

A Very Brief Introduction to Matlab

A Very Brief Introduction to Matlab A Very Brief Introduction to Matlab by John MacLaren Walsh, Ph.D. for ECES 63 Fall 26 October 3, 26 Introduction To MATLAB You can type normal mathematical operations into MATLAB as you would in an electronic

More information

University of Alberta

University of Alberta A Brief Introduction to MATLAB University of Alberta M.G. Lipsett 2008 MATLAB is an interactive program for numerical computation and data visualization, used extensively by engineers for analysis of systems.

More information

Matlab Tutorial. The value assigned to a variable can be checked by simply typing in the variable name:

Matlab Tutorial. The value assigned to a variable can be checked by simply typing in the variable name: 1 Matlab Tutorial 1- What is Matlab? Matlab is a powerful tool for almost any kind of mathematical application. It enables one to develop programs with a high degree of functionality. The user can write

More information

STIPlotDigitizer. User s Manual

STIPlotDigitizer. User s Manual STIPlotDigitizer User s Manual Table of Contents What is STIPlotDigitizer?... 3 Installation Guide... 3 Initializing STIPlotDigitizer... 4 Project GroupBox... 4 Import Image GroupBox... 5 Exit Button...

More information

Lecture 1. Course Overview, Python Basics

Lecture 1. Course Overview, Python Basics Lecture 1 Course Overview, Python Basics We Are Very Full! Lectures and Labs are at fire-code capacity We cannot add sections or seats to lectures You may have to wait until someone drops No auditors are

More information

Introduction to Python. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas

Introduction to Python. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas Introduction to Python Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas If you have your own PC, download and install a syntax-highlighting text editor and Python

More information

Computer Science 102. Into to Computational Modeling Special Topics: Programming in Matlab

Computer Science 102. Into to Computational Modeling Special Topics: Programming in Matlab Computer Science 102 Into to Computational Modeling Special Topics: Programming in Matlab Matlab An integrated programming and graphical environment Interpreted : interactive; get answer immediately Also

More information

MATLAB. Input/Output. CS101 lec

MATLAB. Input/Output. CS101 lec MATLAB CS101 lec24 Input/Output 2018-04-18 MATLAB Review MATLAB Review Question ( 1 2 3 4 5 6 ) How do we access 6 in this array? A A(2,1) B A(1,2) C A(3,2) D A(2,3) MATLAB Review Question ( 1 2 3 4 5

More information

AN INTRODUCTION TO MATLAB

AN INTRODUCTION TO MATLAB AN INTRODUCTION TO MATLAB 1 Introduction MATLAB is a powerful mathematical tool used for a number of engineering applications such as communication engineering, digital signal processing, control engineering,

More information

Interactive Mode Python Pylab

Interactive Mode Python Pylab Short Python Intro Gerald Schuller, Nov. 2016 Python can be very similar to Matlab, very easy to learn if you already know Matlab, it is Open Source (unlike Matlab), it is easy to install, and unlike Matlab

More information

Class #15: Experiment Introduction to Matlab

Class #15: Experiment Introduction to Matlab Class #15: Experiment Introduction to Matlab Purpose: The objective of this experiment is to begin to use Matlab in our analysis of signals, circuits, etc. Background: Before doing this experiment, students

More information

An SM tutorial for programming and plotting

An SM tutorial for programming and plotting An SM tutorial for programming and plotting Gary Mamon January 2, 2014 1 Introduction SM (a.k.a. SuperMongo), written by Robert Lupton, is advertised by its author as a graphics language. In fact, SM is

More information

Lecture 5 of AMS 200 LaTeX Typesetting, Writing and

Lecture 5 of AMS 200 LaTeX Typesetting, Writing and Lecture 5 of AMS 200 LaTeX Typesetting, Writing and Hongyun Wang hongwang@soe.ucsc.edu November 3, 2014 1 LaTeX Typesetting LaTeX is a computer program for typesetting journals, manuscripts, reports It

More information

Free Software Alternatives to Commercial Math Software

Free Software Alternatives to Commercial Math Software Free Software Alternatives to Commercial Math Software Fermin Franco フランコフェルミーン Ph.D. Student Faculty of Mathematics, Kyushu University Poster A7 1 Abstract Research in mathematics relies ever more heavily

More information

Introduction to Programming in Python. A Self-Study Course

Introduction to Programming in Python. A Self-Study Course Department of Physics Introduction to Programming in Python A Self-Study Course (Version 4.1.3 February 2013) Table of Contents 1 Chapter 1 - Introduction... 7 2 Chapter 2 - Resources Required for the

More information

EGR 111 Functions and Relational Operators

EGR 111 Functions and Relational Operators EGR 111 Functions and Relational Operators This lab is an introduction to writing your own MATLAB functions. The lab also introduces relational operators and logical operators which allows MATLAB to compare

More information

Symbols. Anscombe s quartet, antiderivative, 200. bar charts for exercise, for expenses, Barnsley fern, drawing,

Symbols. Anscombe s quartet, antiderivative, 200. bar charts for exercise, for expenses, Barnsley fern, drawing, Index Symbols + (addition operator), 2 {} (curly brackets), to define a set, 122 δ (delta), 184 / (division operator), 2 ε (epsilon), 192, 197 199 == (equality operator), 124 e (Euler s number), 179 **

More information

16.6. Parametric Surfaces. Parametric Surfaces. Parametric Surfaces. Vector Calculus. Parametric Surfaces and Their Areas

16.6. Parametric Surfaces. Parametric Surfaces. Parametric Surfaces. Vector Calculus. Parametric Surfaces and Their Areas 16 Vector Calculus 16.6 and Their Areas Copyright Cengage Learning. All rights reserved. Copyright Cengage Learning. All rights reserved. and Their Areas Here we use vector functions to describe more general

More information

PHY224 Practical Physics I. Lecture 2

PHY224 Practical Physics I. Lecture 2 PHY224 Practical Physics I Python Review Lecture 2 Sept. 19 20 20, 2013 Summary Functions and Modules Graphs (plotting with Pylab) Scipy packages References M H. Goldwasser, D. Letscher: Object oriented

More information

Command Line and Python Introduction. Jennifer Helsby, Eric Potash Computation for Public Policy Lecture 2: January 7, 2016

Command Line and Python Introduction. Jennifer Helsby, Eric Potash Computation for Public Policy Lecture 2: January 7, 2016 Command Line and Python Introduction Jennifer Helsby, Eric Potash Computation for Public Policy Lecture 2: January 7, 2016 Today Assignment #1! Computer architecture Basic command line skills Python fundamentals

More information

Introduction to Python. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas

Introduction to Python. Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas Introduction to Python Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas If you have your own PC, download and install a syntax-highlighting text editor and Python

More information

A Brief Introduction to MATLAB

A Brief Introduction to MATLAB A Brief Introduction to MATLAB MATLAB (Matrix Laboratory) is an interactive software system for numerical computations and graphics. As the name suggests, MATLAB was first designed for matrix computations:

More information

MatLab Just a beginning

MatLab Just a beginning MatLab Just a beginning P.Kanungo Dept. of E & TC, C.V. Raman College of Engineering, Bhubaneswar Introduction MATLAB is a high-performance language for technical computing. MATLAB is an acronym for MATrix

More information

Scientific Python. 1 of 10 23/11/ :00

Scientific Python.   1 of 10 23/11/ :00 Scientific Python Neelofer Banglawala Kevin Stratford nbanglaw@epcc.ed.ac.uk kevin@epcc.ed.ac.uk Original course authors: Andy Turner Arno Proeme 1 of 10 23/11/2015 00:00 www.archer.ac.uk support@archer.ac.uk

More information

Basic Simulation Lab with MATLAB

Basic Simulation Lab with MATLAB Chapter 3: Generation of Signals and Sequences 1. t = 0 : 0.001 : 1; Generate a vector of 1001 samples for t with a value between 0 & 1 with an increment of 0.001 2. y = 0.5 * t; Generate a linear ramp

More information

An interesting related problem is Buffon s Needle which was first proposed in the mid-1700 s.

An interesting related problem is Buffon s Needle which was first proposed in the mid-1700 s. Using Monte Carlo to Estimate π using Buffon s Needle Problem An interesting related problem is Buffon s Needle which was first proposed in the mid-1700 s. Here s the problem (in a simplified form). Suppose

More information

Python Lists: Example 1: >>> items=["apple", "orange",100,25.5] >>> items[0] 'apple' >>> 3*items[:2]

Python Lists: Example 1: >>> items=[apple, orange,100,25.5] >>> items[0] 'apple' >>> 3*items[:2] Python Lists: Lists are Python's compound data types. A list contains items separated by commas and enclosed within square brackets ([]). All the items belonging to a list can be of different data type.

More information

An Introduction to Python

An Introduction to Python An Introduction to Python Getting Started 1 of 30 January 4, 2017 What You Need to Get Started? Python An object-oriented language gaining popularity in the industry IPython An interactive version of Python

More information

Lab 5: Matlab Tutorial Due Sunday, May 8 at midnight

Lab 5: Matlab Tutorial Due Sunday, May 8 at midnight Lab 5: Matlab Tutorial Due Sunday, May 8 at midnight For this final lab, you should work with a partner. You know how to do that at this point. Only one partner turns in the lab, but both of your names

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

Introduction to Python. Prof. Steven Ludtke

Introduction to Python. Prof. Steven Ludtke Introduction to Python Prof. Steven Ludtke sludtke@bcm.edu 1 8512 documented lanuages (vs. 2376) Four of the first modern languages (50s): FORTRAN (FORmula ( TRANslator LISP (LISt ( Processor ALGOL COBOL

More information

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6 Polar Coordinates Any point in the plane can be described by the Cartesian coordinates (x, y), where x and y are measured along the corresponding axes. However, this is not the only way to represent points

More information

Eric W. Hansen. The basic data type is a matrix This is the basic paradigm for computation with MATLAB, and the key to its power. Here s an example:

Eric W. Hansen. The basic data type is a matrix This is the basic paradigm for computation with MATLAB, and the key to its power. Here s an example: Using MATLAB for Stochastic Simulation. Eric W. Hansen. Matlab Basics Introduction MATLAB (MATrix LABoratory) is a software package designed for efficient, reliable numerical computing. Using MATLAB greatly

More information