BEGINNING MATHEMATICA PROGRAMMING FOR CSE/MATH 467
|
|
- Shanon Richards
- 5 years ago
- Views:
Transcription
1 BEGINNING MATHEMATICA PROGRAMMING FOR CSE/MATH 467 W. DALE BROWNAWELL 1. BEGINNING A MATHEMATICA SESSION 1.1. Using Mathematica s Graphical Interface. On a workstation with Mathematica installed, you can start a Mathematica Xsession after logging on simply by entering the following command at an xterm prompt: mathematica & There IS a lot of help on-line when you use this interface. Many people like the many features of Mathematica s notebooks. I had some flaky response years ago and do not use them, preferring the solid (clunky?) Emacs interface Using the Emacs Interface. In Emacs (my favorite editor), you can open Mathematica by simply typing Esc -x math. This requires making emacs aware of Mathematica, which you can do yourself by via the files found at or, as I did, mccann/mathematica.el. This is especially helpful if you are already an experienced command-line Emacs user and want to run Mathematica remotely without the overhead penalty of a GUI over the internet. Then you enter emacs -nw to open a non-graphics version of Emacs Falling into a Terminal State. If you start Mathematica from a command line with the command math, you will have only a command-line, non-graphics, version. My advice: Don t do it this way, as you lose the ability to cut and paste; it is very cumbersome to not be able to edit input easily or to enter output.. 2. WRITING AND ENTERING PROGRAMS 2.1. Writing Mathematica Programs. Mathematica programs are best stored in files with names like: gcd.m. These files are plain ascii files created by your texteditor and saved by you. You may store several, indeed all, your functions in one file. Date: 21 August,
2 2 W. DALE BROWNAWELL 2.2. Loading Mathematica Programs. The programs we will write are actually all definitions of functions which take the input, usually numbers or vectors (lists) of numbers, and produce some output, again usually numbers or vectors of numbers, using various other functions, some of which we have to define as well. The functions in a file are made available to you in a Mathematica session by loading the file at the Mathematica prompt as in In[1]:= << gcd.m These functions then remain available to you during the whole session. So it is important to have distinct names for distinct functions. When working with Mathematica under Emacs, you need to enter commands or load files using Esc - Return, not simply Return. If you load a file under Emacs and a syntax error is reported, you can go to the error by typing Ctrl -c Ctrl -e, provided you have started Emacs in the directory which contains your Mathematica files. Emacs also offers rudimentary syntax checking as you type, the ability to copy previous cells, complete Mathematica symbols, help with Mathematica symbols, and a few more things Local Variables in Mathematica. Because Mathematica remembers anything already used or defined in a session, you need to keep dummy variables involved in defining functions free from the influence of any previous use of the variables. This is done by using local variables in Modules. In the following example, x,y,t are the local variables: gcd.m gcd[m,n ] := Module[{x=Abs[m],y=Abs[n],t}, While[y!= 0, t = y; y = Mod[x,y]; x = t ]; Return[x] ] Notice the following features: Parentheses ( ) are used for grouping mathematical expressions, braces { } are used for lists, and brackets [ ] are used for function evaluation. The values to be fed into the function are indicated in the definition by trailing underlines. These values are then used in the program via local variables.
3 BEGINNING MATHEMATICA PROGRAMMING FOR CSE/MATH The local variables are named in Module[{... }, which is also the place to initialize them (no underlines here). The punctuation of a Mathematica command is usually a comma or a semi-colon and often the opposite of C usage. 3. HELPFUL HINTS 3.1. Putting Several Functions into a Single File. It s often a good idea so you don t have to remember later what functions are used in the definition of a function you haven t seen in a couple of weeks. You can also organize your functions this way by grouping related functions together into a single.m file. The best reason is perhaps that then you don t have to enter all the.m files singly by hand at the Mathematica prompt! There is another way to keep all your.m files in one directory and still to allow functions to rely on other functions. If the definition being relied upon occurs in say, prelim.m, you simply include a line << prelim.m in your new function before the earlier function is evaluated. (Of course, punctuation such as a comma or semicolon may be necessary at the end of this line.) 3.2. Many Happy Returns. When Bressoud uses WRITE or PRINT, it is better for us to Return so the output can be used as input for another function if desired. However, for debugging purposes, you may want to use the Print function. See Section 2.8 of the Mathematica book for syntax: Print[ Here the value of x =,x] The use of Return can be subtle. It seems Return that will break out of the innermost construct only. Here is more information (than I want to digest): Getting Hardcopy. I prefer to run everything within Emacs, whence you can save copies of files and of sessions, as well as printing them without leaving the buffer. When you are in one of the Linux labs, you can print a file, say named myfile by entering lpr myfile. You can check on how much paper etc you have available on your account at: Bressoud 4. A SMALL PASCAL/REXX TO MATHEMATICA DICTIONARY Mathematica READ a,b := Module[{x=a,y=b},... WHILE b 0 DO While[y!= 0,..., ] temp b temp = b WRITE a Return[a]
4 4 W. DALE BROWNAWELL u 1 1, u 2 0, u 3 a u = {1,0,a} q u 3 /v 3 q = Floor[u[[3]]/v[[3]]] IF x = 0 THEN DO If[x==0,... IF x is even DO If[EvenQ[x],... IF b is odd THEN If[OddQ[b],... c a-b c = Abs[a-b] FOR i = 2 to n DO For[i=2, i<= n, i++;... ] FOR i = 2 to n DO a = Range[n] a i i f MOD d Mod[f,d] i i+1 i = i+1 or ++i AND && OR 5. ARRAYS TO THE FINISH Multiple outputs are often best collected and output as a single list, as for Algorithm 2.3 and Algorithm 2.4 (a list of pairs in the latter case), whose entries can then be utilized in further programs. Array[a,{m,n}] declares an m n matrix with entries which can be accessed as either a[[i,j]] or a[[i]][[j]]. Often you won t need to declare things very precisely in Mathematica; just declare (i.e. list) them as dummy variables and define them as you go. Since matrices in Mathematica are just lists of rows, the ith row of a can be accessed as a[[i]]. You can display the matrix a in matrix form by using MatrixForm[a]. An n n identity matrix can be created using IdentityMatrix[n]. The ith row of the matrix M can be used via M[[i]] or Part[M,i]. Lists can also avoid the need for function calls as in Algorithm Defining a list. Defining the entries of an array can be a bit confusing. See sections of the Mathematica manual on such things as Making List out of Functions, Transformation Rules, Array, List for details. Basically there are three families of ways of defining arrays (lists): Table and built-in functions. The commands Table[1, {k, 1, n}] and Table[h[i], {i, 1, n}] create vectors of length n. In the first case, all entries equal 1; in the second, entries are obtained by evaluating the function value h at the values i = 1, 2,..., n. So Range[n] is the same as Table[i,{i, 1, n}]. If you have set T = Table[0,{k,1,5}] and then T = Table[T,{k,1,7}], you will have defined a 5 7 matrix T with all entries equal to 0, because Mathematica thinks of a matrix as a list of lists.
5 BEGINNING MATHEMATICA PROGRAMMING FOR CSE/MATH Append. You can build up a list l recursively by naming it in Module[{ l = { },... },... and then, whenever you want to tack on a new element e at the end of l, set l = Append[l,e], and the entries can be accessed. Prepend and a host of commands such as Join, Union are also available. For example if l = {x,y}, then setting l = Append[l,e] gives l = {x,y,e}, and we can access entries, since l[[1]] = x, l[[2]] = y, l[[3]] = e Table and user-defined functions. Another way to build up a list is to define function values for a function, say h, by setting, e.g. h[i] = p in a loop and later making up an array with these values as entries, as in the command h = Table[ h[i], {i, j-1}]. Then the various terms, such as, h[[2]] have the same meaning (value) as their counterparts h[2] Common pitfalls. Once the array v has been defined, its jth entry can be re-defined by, e.g., v[[j]] = 2 + i. But the initial definition of a list apparently CAN- NOT be made this way! The Do command can be tricky. In order to return a value from it, you probably need to first exit the Do-loop and only then Return the value. The Mathematica manual puts it this way: The result of Do is Null. You may often find it easier to instead use the commands While or For A useful application. Length[list] returns the number of elements in the list named list. This might come in handy. say, when you have stored a list l consisting of pairs of primes and their exponents and want to reconstitute the corresponding product as p = 1; Do[p = p*(l[[i,1]]ˆl[[i,2]]), {i, 1, Length[l]}]. 6. INPUTTING OUTPUT FROM PREVIOUS SESSIONS If your program is too large to run in one session or you want to debug your package in sections, you can save intermediate output to a file, say myoutput.in in a form suitable (after editing away any extraneous lines the Mathematica session produced) for reading back into another session as input. One way to do this is to save your output in InputFormat by entering the following before starting the program that will generate the output: SetOptions["stdout", FormatType->InputForm] This makes sure that the output looks like aˆ2-2*a*b instead of the usual style for Mathematics output with exponents on a higher line and multiplication indicated by a space. That way you can easily edit the output to define, say, a matrix M. Then by entering << myoutput.in in a session, the matrix will be
6 6 W. DALE BROWNAWELL defined and available for your programs. On long jobs, you could even put the commands to load functions, read input, e.g myoutput.in, and evaluate the functions into a script and run in the background. See [RM], pp , for example. For short jobs, it will not be worth the trouble. But sieving is an example of an important process which takes a long time, and you will not want to repeat it more often than is absolutely necessary. 7. REDUCED PRECISION FOR FASTER SIEVING In order to speed Mathematica up, you can suppress the infinite precision by, say, for each prime p setting lp = N[Log[p],5]. This truncates the precision to 5 decimal places. Then you can add l p to all the locations corresponding to the r for which r ±t p mod p, where t 2 p n mod p. 8. MATRIX REDUCTION For the quadratic sieve, you need to reduce a huge matrix, say m, modulo 2. Mathematica s built-in function for that is: RowReduce[m, Modulus -> 2] 9. DOCUMENTATION You are required to document, i.e. explain, your programs. You can do this by putting comments into your program, by beginning with (* and ending with *). Mathematica will ignore what lies in between. Or you can simply write (in English sentences, please) explanations neatly in the margin. 10. CORRECTIONS I would be thankful for any corrections or comments. Please send them to me at wdb@math.psu.edu. Note: Wolfram s book below is the standard reference, and it seems to be on permanent reserve in the Mathematics/Physics Library. There is now an on-line version at the Mathematica website: REFERENCES [1] R. Maeder, Programming in Mathematica, 3rd edition, Addison Wesley, Redwood City, Ca, [2] P. Wellin, R. Gaylord, and S. Kamin, An Introduction to Programming in Mathematica, Cambridge University Press, Cambridge, [3] S. Wolfram, Mathematica, Wolfram Media, 2003, Fifth Edition. [4] address: wdb@@math.psu.edu
BEGINNING PARI PROGRAMMING FOR CSE/MATH 467
BEGINNING PARI PROGRAMMING FOR CSE/MATH 467 W. DALE BROWNAWELL 1. INSTALLATION You can follow the instructions in the links for various platforms (including smartphones(!)) given by RosettaCode rosettacode.org/wiki/category:pari/gp,
More information1 Introduction to Matlab
1 Introduction to Matlab 1. What is Matlab? Matlab is a computer program designed to do mathematics. You might think of it as a super-calculator. That is, once Matlab has been started, you can enter computations,
More informationMATLAB Demo. Preliminaries and Getting Started with Matlab
Math 250C Sakai submission Matlab Demo 1 Created by G. M. Wilson, revised 12/23/2015 Revised 09/05/2016 Revised 01/07/2017 MATLAB Demo In this lab, we will learn how to use the basic features of Matlab
More informationVariables and Typing
Variables and Typing Christopher M. Harden Contents 1 The basic workflow 2 2 Variables 3 2.1 Declaring a variable........................ 3 2.2 Assigning to a variable...................... 4 2.3 Other
More informationCSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch
CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed
More informationAppendix 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 informationThe Very Basics of the R Interpreter
Chapter 2 The Very Basics of the R Interpreter OK, the computer is fired up. We have R installed. It is time to get started. 1. Start R by double-clicking on the R desktop icon. 2. Alternatively, open
More informationCSE 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 informationMATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab
MATH 495.3 (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab Below is a screen similar to what you should see when you open Matlab. The command window is the large box to the right containing the
More informationVariables 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 informationPh3 Mathematica Homework: Week 1
Ph3 Mathematica Homework: Week 1 Eric D. Black California Institute of Technology v1.1 1 Obtaining, installing, and starting Mathematica Exercise 1: If you don t already have Mathematica, download it and
More informationAMATH 352: MATLAB Tutorial written by Peter Blossey Department of Applied Mathematics University of Washington Seattle, WA
AMATH 352: MATLAB Tutorial written by Peter Blossey Department of Applied Mathematics University of Washington Seattle, WA MATLAB (short for MATrix LABoratory) is a very useful piece of software for numerical
More informationIntroduction to Matlab
What is Matlab? Introduction to Matlab Matlab is software written by a company called The Mathworks (mathworks.com), and was first created in 1984 to be a nice front end to the numerical routines created
More informationMatlab- Command Window Operations, Scalars and Arrays
1 ME313 Homework #1 Matlab- Command Window Operations, Scalars and Arrays Last Updated August 17 2012. Assignment: Read and complete the suggested commands. After completing the exercise, copy the contents
More informationCMSC 201 Fall 2016 Lab 09 Advanced Debugging
CMSC 201 Fall 2016 Lab 09 Advanced Debugging Assignment: Lab 09 Advanced Debugging Due Date: During discussion Value: 10 points Part 1: Introduction to Errors Throughout this semester, we have been working
More informationExperiment 1: Introduction to MATLAB I. Introduction. 1.1 Objectives and Expectations: 1.2 What is MATLAB?
Experiment 1: Introduction to MATLAB I Introduction MATLAB, which stands for Matrix Laboratory, is a very powerful program for performing numerical and symbolic calculations, and is widely used in science
More informationMatlab 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 informationTips & Tricks for Microsoft Word
T 330 / 1 Discover Useful Hidden Features to Speed-up Your Work in Word For what should be a straightforward wordprocessing program, Microsoft Word has a staggering number of features. Many of these you
More informationAPPM 2460 Matlab Basics
APPM 2460 Matlab Basics 1 Introduction In this lab we ll get acquainted with the basics of Matlab. This will be review if you ve done any sort of programming before; the goal here is to get everyone on
More informationMath 25 and Maple 3 + 4;
Math 25 and Maple This is a brief document describing how Maple can help you avoid some of the more tedious tasks involved in your Math 25 homework. It is by no means a comprehensive introduction to using
More informationIntroduction 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 informationGetting Started with UNIX
Getting Started with UNIX What is UNIX? Boston University Information Services & Technology Course Number: 4000 Course Instructor: Kenny Burns Operating System Interface between a user and the computer
More informationGetting To Know Matlab
Getting To Know Matlab The following worksheets will introduce Matlab to the new user. Please, be sure you really know each step of the lab you performed, even if you are asking a friend who has a better
More informationIntro. Scheme Basics. scm> 5 5. scm>
Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if
More informationHandout: Handy Computer Tools
Handout: Handy Computer Tools T. Satogata: June 2011 USPAS Accelerator Physics June 13, 2011 This is a description of a few computational tools that I ve found to be very useful as a working physicist.
More informationUsing the Zoo Workstations
Using the Zoo Workstations Version 1.86: January 16, 2014 If you ve used Linux before, you can probably skip many of these instructions, but skim just in case. Please direct corrections and suggestions
More informationMatlab for FMRI Module 1: the basics Instructor: Luis Hernandez-Garcia
Matlab for FMRI Module 1: the basics Instructor: Luis Hernandez-Garcia The goal for this tutorial is to make sure that you understand a few key concepts related to programming, and that you know the basics
More informationMATLAB 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 informationJava Programming Fundamentals - Day Instructor: Jason Yoon Website:
Java Programming Fundamentals - Day 1 07.09.2016 Instructor: Jason Yoon Website: http://mryoon.weebly.com Quick Advice Before We Get Started Java is not the same as javascript! Don t get them confused
More information, has the form T i1i 2 i m. = κ i1i 2 i m. x i1. 1 xi2 2 xim m (2)
CS61B, Fall 2002 Project #1 P. N. Hilfinger Due: Friday, 4 October 2002 at 2400 This first project involves writing a calculator program that can perform polynomial arithmetic. We ll do only a very limited
More informationTiny Instruction Manual for the Undergraduate Mathematics Unix Laboratory
Tiny Instruction Manual for the Undergraduate Mathematics Unix Laboratory 1 Logging In When you sit down at a terminal and jiggle the mouse to turn off the screen saver, you will be confronted with a window
More informationTeacher Activity: page 1/9 Mathematical Expressions in Microsoft Word
Teacher Activity: page 1/9 Mathematical Expressions in Microsoft Word These instructions assume that you are familiar with using MS Word for ordinary word processing *. If you are not comfortable entering
More informationIntroduction 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 informationIntroduction to MATLAB
Introduction to MATLAB Introduction MATLAB is an interactive package for numerical analysis, matrix computation, control system design, and linear system analysis and design available on most CAEN platforms
More informationCreating accessible forms
Creating accessible forms Introduction Creating an accessible form can seem tricky. Some of the questions people commonly ask include: Can I use protected forms? How do I lay out my prompts and questions?
More informationPhysics 306 Computing Lab 1: Hello, World!
1. Introduction Physics 306 Computing Lab 1: Hello, World! In today s lab, you will learn how to write simple programs, to compile them, and to run them. You will learn about input and output, variables,
More informationCS 177 Recitation. Week 1 Intro to Java
CS 177 Recitation Week 1 Intro to Java Questions? Computers Computers can do really complex stuff. How? By manipulating data according to lists of instructions. Fundamentally, this is all that a computer
More informationIntro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming
Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals
More informationIntroduction to C Programming. What is a C program?
Introduction to C Programming Goals of this section Write a simple C program - Steps Write or develop code Compile Link Execute Add comments to C code 85-132 Introduction to C-Programming 2-1 What is a
More informationVISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0. L J Howell UX Software Ver. 1.0
VISUAL GUIDE to RX Scripting for Roulette Xtreme - System Designer 2.0 L J Howell UX Software 2009 Ver. 1.0 TABLE OF CONTENTS INTRODUCTION...ii What is this book about?... iii How to use this book... iii
More informationDivisibility Rules and Their Explanations
Divisibility Rules and Their Explanations Increase Your Number Sense These divisibility rules apply to determining the divisibility of a positive integer (1, 2, 3, ) by another positive integer or 0 (although
More informationHandout: Handy Computer Tools
Handout: Handy Computer Tools T. Satogata: January 2017 USPAS Accelerator Physics January 2017 This is a description of a few computational tools that I ve found to be useful as a working physicist. This
More informationHow to program with Matlab (PART 1/3)
Programming course 1 09/12/2013 Martin SZINTE How to program with Matlab (PART 1/3) Plan 0. Setup of Matlab. 1. Matlab: the software interface. - Command window - Command history - Section help - Current
More informationC++ Support Classes (Data and Variables)
C++ Support Classes (Data and Variables) School of Mathematics 2018 Today s lecture Topics: Computers and Programs; Syntax and Structure of a Program; Data and Variables; Aims: Understand the idea of programming
More informationIntroduction to Matlab
Introduction to Matlab What is Matlab The software program called Matlab (short for MATrix LABoratory) is arguably the world standard for engineering- mainly because of its ability to do very quick prototyping.
More informationIs the statement sufficient? If both x and y are odd, is xy odd? 1) xy 2 < 0. Odds & Evens. Positives & Negatives. Answer: Yes, xy is odd
Is the statement sufficient? If both x and y are odd, is xy odd? Is x < 0? 1) xy 2 < 0 Positives & Negatives Answer: Yes, xy is odd Odd numbers can be represented as 2m + 1 or 2n + 1, where m and n are
More informationCS4023 Week04 Lab Exercise
CS4023 Week04 Lab Exercise Lab Objective: We will use this lab to log in to our Linux accounts and to look at some simple programs that perform a few elementary system calls. By the end of the lab we will
More informationMATLAB = MATrix LABoratory. Interactive system. Basic data element is an array that does not require dimensioning.
Introduction MATLAB = MATrix LABoratory Interactive system. Basic data element is an array that does not require dimensioning. Efficient computation of matrix and vector formulations (in terms of writing
More informationELEC4042 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 informationSISG/SISMID Module 3
SISG/SISMID Module 3 Introduction to R Ken Rice Tim Thornton University of Washington Seattle, July 2018 Introduction: Course Aims This is a first course in R. We aim to cover; Reading in, summarizing
More informationIntroduction to the Emacs Editor
Introduction to the Emacs Editor Scott D. Anderson Wellesley College Scott.Anderson@acm.org c Fall 2004 1 What is Emacs? Emacs is an editor: a program that allows you to modify files. Many of you have
More informationMathworks (company that releases Matlab ) documentation website is:
1 Getting Started The Mathematics Behind Biological Invasions Introduction to Matlab in UNIX Christina Cobbold and Tomas de Camino Beck as modified for UNIX by Fred Adler Logging in: This is what you do
More informationHow to approach a computational problem
How to approach a computational problem A lot of people find computer programming difficult, especially when they first get started with it. Sometimes the problems are problems specifically related to
More informationLab 3a Using the vi editor
Lab 3a Using the vi editor Objectives: Become familiar with the vi Editor Review the three vi Modes Review keystrokes to move between vi modes Create a new file with vi Editor Invoke vi with show mode
More informationEOSC 352 MATLAB Review
EOSC 352 MATLAB Review To use MATLAB, you can either (1) type commands in the window (i.e., at the command line ) or (2) type in the name of a file you have made, whose name ends in.m and which contains
More informationCOPYRIGHTED MATERIAL. Starting Strong with Visual C# 2005 Express Edition
1 Starting Strong with Visual C# 2005 Express Edition Okay, so the title of this chapter may be a little over the top. But to be honest, the Visual C# 2005 Express Edition, from now on referred to as C#
More informationTOPIC 2 INTRODUCTION TO JAVA AND DR JAVA
1 TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson, and instructor materials prepared
More informationChapter 17. Fundamental Concepts Expressed in JavaScript
Chapter 17 Fundamental Concepts Expressed in JavaScript Learning Objectives Tell the difference between name, value, and variable List three basic data types and the rules for specifying them in a program
More informationInteractive 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 informationClass 1: Homework. Intro to Computer Science CSCI-UA.0101 New York University Courant Institute of Mathematical Sciences Fall 2017
Intro to Computer Science CSCI-UA.0101 New York University Courant Institute of Mathematical Sciences Fall 2017 1 1. Please obtain a copy of Introduction to Java Programming, 11th (or 10th) Edition, Brief
More informationMath 2250 MATLAB TUTORIAL Fall 2005
Math 2250 MATLAB TUTORIAL Fall 2005 Math Computer Lab The Mathematics Computer Lab is located in the T. Benny Rushing Mathematics Center (located underneath the plaza connecting JWB and LCB) room 155C.
More informationLesson 6A Loops. By John B. Owen All rights reserved 2011, revised 2014
Lesson 6A Loops By John B. Owen All rights reserved 2011, revised 2014 Topic List Objectives Loop structure 4 parts Three loop styles Example of a while loop Example of a do while loop Comparison while
More informationDr 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 informationS206E Lecture 19, 5/24/2016, Python an overview
S206E057 Spring 2016 Copyright 2016, Chiu-Shui Chan. All Rights Reserved. Global and local variables: differences between the two Global variable is usually declared at the start of the program, their
More informationCSE/NEUBEH 528 Homework 0: Introduction to Matlab
CSE/NEUBEH 528 Homework 0: Introduction to Matlab (Practice only: Do not turn in) Okay, let s begin! Open Matlab by double-clicking the Matlab icon (on MS Windows systems) or typing matlab at the prompt
More informationMATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED. Christian Daude 1
MATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED Christian Daude 1 Introduction MATLAB is a software package designed to handle a broad range of mathematical needs one may encounter when doing scientific
More informationVARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs.
Lesson 2 VARIABLES Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. WHAT ARE VARIABLES? When you input data (i.e. information) into a computer
More informationSCRATCH MODULE 3: NUMBER CONVERSIONS
SCRATCH MODULE 3: NUMBER CONVERSIONS INTRODUCTION The purpose of this module is to experiment with user interactions, error checking input, and number conversion algorithms in Scratch. We will be exploring
More informationRule 1-3: Use white space to break a function into paragraphs. Rule 1-5: Avoid very long statements. Use multiple shorter statements instead.
Chapter 9: Rules Chapter 1:Style and Program Organization Rule 1-1: Organize programs for readability, just as you would expect an author to organize a book. Rule 1-2: Divide each module up into a public
More informationCS1 Lecture 5 Jan. 25, 2019
CS1 Lecture 5 Jan. 25, 2019 HW1 due Monday, 9:00am. Notes: Do not write all the code at once before starting to test. Take tiny steps. Write a few lines test... add a line or two test... add another line
More informationWord: Print Address Labels Using Mail Merge
Word: Print Address Labels Using Mail Merge No Typing! The Quick and Easy Way to Print Sheets of Address Labels Here at PC Knowledge for Seniors we re often asked how to print sticky address labels in
More informationMINIMAT TUTORIAL Joel Robbin June 92
MINIMAT TUTORIAL Joel Robbin June 92 The purpose of this tutorial is to give you a feeling for how MINIMAT interacts with the user and what it can do. The tutorial is not intended to be a definitive account
More informationMcTutorial: A MATLAB Tutorial
McGill University School of Computer Science Sable Research Group McTutorial: A MATLAB Tutorial Lei Lopez Last updated: August 2014 w w w. s a b l e. m c g i l l. c a Contents 1 MATLAB BASICS 3 1.1 MATLAB
More informationUsing Excel This is only a brief overview that highlights some of the useful points in a spreadsheet program.
Using Excel 2007 This is only a brief overview that highlights some of the useful points in a spreadsheet program. 1. Input of data - Generally you should attempt to put the independent variable on the
More informationCONTENTS: What Is Programming? How a Computer Works Programming Languages Java Basics. COMP-202 Unit 1: Introduction
CONTENTS: What Is Programming? How a Computer Works Programming Languages Java Basics COMP-202 Unit 1: Introduction Announcements Did you miss the first lecture? Come talk to me after class. If you want
More information6.001 Notes: Section 17.5
6.001 Notes: Section 17.5 Slide 17.5.1 Now, let's look at one example in which changing the evaluation model allows us to explore a very different kind of computational problem. Our goal is to show how
More informationIntroduction to Matlab
Introduction to Matlab Andreas C. Kapourani (Credit: Steve Renals & Iain Murray) 9 January 08 Introduction MATLAB is a programming language that grew out of the need to process matrices. It is used extensively
More informationChapter 1 Operations With Numbers
Chapter 1 Operations With Numbers Part I Negative Numbers You may already know what negative numbers are, but even if you don t, then you have probably seen them several times over the past few days. If
More informationMATLAB 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 informationMATLAB 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 informationDatabase Use & Design
Database Use & Design 1 Important Terms and Definitions Database A collection of information organized in such a way that a computer program can quickly select desired pieces of data. Field Form Primary
More informationIntroduction 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 informationNotebook Assignments
Notebook Assignments These six assignments are a notebook using techniques from class in the single concrete context of graph theory. This is supplemental to your usual assignments, and is designed for
More informationFull file at
Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class
More informationü 1.1 Getting Started
Chapter 1 Introduction Welcome to Mathematica! This tutorial manual is intended as a supplement to Rogawski's Calculus textbook and aimed at students looking to quickly learn Mathematica through examples.
More informationCME 193: Introduction to Scientific Python Lecture 1: Introduction
CME 193: Introduction to Scientific Python Lecture 1: Introduction Nolan Skochdopole stanford.edu/class/cme193 1: Introduction 1-1 Contents Administration Introduction Basics Variables Control statements
More informationECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu
ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu 0. What is MATLAB? 1 MATLAB stands for matrix laboratory and is one of the most popular software for numerical computation. MATLAB s basic
More informationThese are notes for the third lecture; if statements and loops.
These are notes for the third lecture; if statements and loops. 1 Yeah, this is going to be the second slide in a lot of lectures. 2 - Dominant language for desktop application development - Most modern
More informationExcel Basics: Working with Spreadsheets
Excel Basics: Working with Spreadsheets E 890 / 1 Unravel the Mysteries of Cells, Rows, Ranges, Formulas and More Spreadsheets are all about numbers: they help us keep track of figures and make calculations.
More informationNumerical Methods in Scientific Computation
Numerical Methods in Scientific Computation Programming and Software Introduction to error analysis 1 Packages vs. Programming Packages MATLAB Excel Mathematica Maple Packages do the work for you Most
More information1 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 informationControls Structure for Repetition
Controls Structure for Repetition So far we have looked at the if statement, a control structure that allows us to execute different pieces of code based on certain conditions. However, the true power
More informationGetting ready for L A TEX. Alexis Dimitriadis. Version: March 28, 2013
Getting ready for L A TEX Alexis Dimitriadis Version: March 28, 2013 LaTeX is a great system, but it takes some work to learn. Unfortunately, it also takes some work to set up the necessary software. This
More informationTypesetting Tips. Put your best type forward.
Typesetting Tips Put your best type forward. Do you want your audience to read your document? Improve your chances by making your article easy to read. Make the document difficult to read and To learn
More informationIntroduction to Linux Environment. Yun-Wen Chen
Introduction to Linux Environment Yun-Wen Chen 1 The Text (Command) Mode in Linux Environment 2 The Main Operating Systems We May Meet 1. Windows 2. Mac 3. Linux (Unix) 3 Windows Command Mode and DOS Type
More informationPerforming Matrix Operations on the TI-83/84
Page1 Performing Matrix Operations on the TI-83/84 While the layout of most TI-83/84 models are basically the same, of the things that can be different, one of those is the location of the Matrix key.
More information(Refer Slide Time: 00:26)
Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute Technology, Madras Module 07 Lecture 07 Contents Repetitive statements
More informationLab # 2. For today s lab:
1 ITI 1120 Lab # 2 Contributors: G. Arbez, M. Eid, D. Inkpen, A. Williams, D. Amyot 1 For today s lab: Go the course webpage Follow the links to the lab notes for Lab 2. Save all the java programs you
More informationCS450: Structure of Higher Level Languages Spring 2018 Assignment 7 Due: Wednesday, April 18, 2018
CS450: Structure of Higher Level Languages Spring 2018 Assignment 7 Due: Wednesday, April 18, 2018 Taken from assignments by Profs. Carl Offner and Ethan Bolker Part 1 - Modifying The Metacircular Evaluator
More informationMAT 003 Brian Killough s Instructor Notes Saint Leo University
MAT 003 Brian Killough s Instructor Notes Saint Leo University Success in online courses requires self-motivation and discipline. It is anticipated that students will read the textbook and complete sample
More information