0% found this document useful (0 votes)
20 views60 pages

Pty 302 L1 - Spring - 2018

Uploaded by

Faisal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views60 pages

Pty 302 L1 - Spring - 2018

Uploaded by

Faisal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

Computer application in geophysics

Prof. Dr. Mohamed Gobashy

1. Introduction to Programming in MATLAB


PTY 302
2. Geophysical Applications
Sunday, 12-1 PM, LAB: Thu 10-12 AM/ Sun 1-3 PM, Com Lab.

With modification from


Danilo Šćepanović
IAP 2010
Course Layout

• Lectures
¾ 1: Variables, Scripts and Operations
¾ 2: Visualization and Programming
¾ 3: Solving Equations, Fitting
¾ 4: Images, Animations, Advanced Methods
¾ 5: Optional: Symbolic Math, Simulink
Lecture 1: Variables, Scripts,
and Operations
Outline

(1) Getting Started


(2) Scripts
(3) Making Variables
(4) Manipulating Variables
(5) Basic Plotting
Current directory

Workspace

Command Window

Command History

Courtesy of The MathWorks, Inc. Used with permission.


Making Folders

• Use folders to keep your programs organized

• To make a new folder, click the ‘Browse’ button next to ‘Current


Directory’

• Click the ‘Make New Folder’ button, and change the name of the
folder. Do NOT use spaces in folder names. In the MATLAB
folder, make two new folders: IAPMATLAB\day1

• Highlight the folder you just made and click ‘OK’


• The current directory is now the folder you just created
• To see programs outside the current directory, they should be in
the Path. Use File-> Set Path to add folders to the path
Customization
• File Æ Preferences
¾ Allows you personalize your MATLAB experience

Courtesy of The MathWorks, Inc. Used with permission.


MATLAB Basics

• MATLAB can be thought of as a super-powerful


graphing calculator
¾ Remember the TI-83 from calculus?
¾ With many more buttons (built-in functions)

• In addition it is a programming language


¾ MATLAB is an interpreted language, like Java
¾ Commands executed line by line
Help/Docs

• help
¾ The most important function for learning MATLAB on
your own
• To get info on how to use a function:
» help sin
¾ Help lists related functions at the bottom and links to
the doc
• To get a nicer version of help with examples and easy-to-
read descriptions:
» doc sin
• To search for a function by specifying keywords:
» doc + Search tab
Outline

(1) Getting Started


(2) Scripts
(3) Making Variables
(4) Manipulating Variables
(5) Basic Plotting
Scripts: Overview

• Scripts are
¾ collection of commands executed in sequence
¾ written in the MATLAB editor
¾ saved as MATLAB files (.m extension)

• To create an MATLAB file from command-line


» edit helloWorld.m
• or click

Courtesy of The MathWorks, Inc. Used with permission.


Scripts: the Editor
* Means that it's not saved
Line numbers
MATLAB file Real-time
path Debugging tools error check

Help file

Comments

Possible breakpoints Courtesy of The MathWorks, Inc. Used with permission.


Scripts: Some Notes

• COMMENT!
¾ Anything following a % is seen as a comment
¾ The first contiguous comment becomes the script's help file
¾ Comment thoroughly to avoid wasting time later

• Note that scripts are somewhat static, since there is no


input and no explicit output

• All variables created and modified in a script exist in the


workspace even after it has stopped running
Exercise: Scripts

Make a helloWorld script


• When run, the script should display the following text:
Hello World!
I am going to learn MATLAB!
• Hint: use disp to display strings. Strings are written
between single quotes, like 'This is a string'
Exercise: Scripts

Make a helloWorld script


• When run, the script should display the following text:
Hello World!
I am going to learn MATLAB!
• Hint: use disp to display strings. Strings are written
between single quotes, like 'This is a string'

• Open the editor and save a script as helloWorld.m. This is


an easy script, containing two lines of code:
» % helloWorld.m
» % my first hello world program in MATLAB

» disp('Hello World!');
» disp('I am going to learn MATLAB!');
Outline

(1) Getting Started


(2) Scripts
(3) Making Variables
(4) Manipulating Variables
(5) Basic Plotting
Variable Types

• MATLAB is a weakly typed language


¾ No need to initialize variables!

• MATLAB supports various types, the most often used are


» 3.84
¾ 64-bit double (default)
» ‘a’
¾ 16-bit char

• Most variables you’ll deal with will be vectors or matrices of


doubles or chars

• Other types are also supported: complex, symbolic, 16-bit


and 8 bit integers, etc. You will be exposed to all these
types through the homework
Naming variables

• To create a variable, simply assign a value to a name:


» var1=3.14
» myString=‘hello world’

• Variable names
¾ first character must be a LETTER
¾ after that, any combination of letters, numbers and _
¾ CASE SENSITIVE! (var1 is different from Var1)

• Built-in variables. Don’t use these names!


¾ i and j can be used to indicate complex numbers
¾ pi has the value 3.1415926…
¾ ans stores the last unassigned value (like on a calculator)
¾ Inf and -Inf are positive and negative infinity
¾ NaN represents ‘Not a Number’
Scalars

• A variable can be given a value explicitly


» a = 10
¾ shows up in workspace!

• Or as a function of explicit values and existing variables


» c = 1.3*45-2*a

• To suppress output, end the line with a semicolon


» cooldude = 13/3;
Arrays

• Like other programming languages, arrays are an


important part of MATLAB
• Two types of arrays

(1) matrix of numbers (either double or complex)

(2) cell array of objects (more advanced data structure)

MATLAB makes vectors easy!


That’s its power!
Row Vectors

• Row vector: comma or space separated values between


brackets
» row = [1 2 5.4 -6.6]
» row = [1, 2, 5.4, -6.6];

• Command window:

• Workspace:

Courtesy of The MathWorks, Inc. Used with permission.


Column Vectors

• Column vector: semicolon separated values between


brackets
» column = [4;2;7;4]

• Command window:

• Workspace:

Courtesy of The MathWorks, Inc. Used with permission.


size & length

• You can tell the difference between a row and a column


vector by:
¾ Looking in the workspace
¾ Displaying the variable in the command window
¾ Using the size function

• To get a vector's length, use the length function


Matrices

• Make matrices like vectors

⎡1 2⎤
• Element by element a=⎢ ⎥
» a= [1 2;3 4]; ⎣3 4 ⎦

• By concatenating vectors or matrices (dimension matters)


» a = [1 2];
» b = [3 4];
» c = [5;6];

» d = [a;b];
» e = [d c];
» f = [[e e];[a b a]];
» str = ['Hello, I am ' 'John'];
¾ Strings are character vectors
save/clear/load
• Use save to save variables to a file
» save myFile a b
¾ saves variables a and b to the file myfile.mat
¾ myfile.mat file is saved in the current directory
¾ Default working directory is
» \MATLAB
¾ Make sure you’re in the desired folder when saving files. Right
now, we should be in:
» MATLAB\IAPMATLAB\day1

• Use clear to remove variables from environment


» clear a b
¾ look at workspace, the variables a and b are gone

• Use load to load variable bindings into the environment


» load myFile
¾ look at workspace, the variables a and b are back

• Can do the same for entire environment


» save myenv; clear all; load myenv;
Exercise: Variables

Get and save the current date and time


• Create a variable start using the function clock
• What is the size of start? Is it a row or column?
• What does start contain? See help clock
• Convert the vector start to a string. Use the function
datestr and name the new variable startString
• Save start and startString into a mat file named
startTime
Exercise: Variables

Get and save the current date and time


• Create a variable start using the function clock
• What is the size of start? Is it a row or column?
• What does start contain? See help clock
• Convert the vector start to a string. Use the function
datestr and name the new variable startString
• Save start and startString into a mat file named
startTime

» help clock
» start=clock;
» size(start)
» help datestr
» startString=datestr(start);
» save startTime start startString
USING HELP
datestr
Convert date and time to string format

Syntax
DateStringArray = datestr(DateVectorArray)
DateStringArray = datestr(DateNumberArray)
DateStringArray = datestr(DateTimeArray, FieldSpecOut)
DateStringArray2 = datestr(DateStringArray1, FieldSpecOut, PivotYear)
DateStringArray2 = datestr(datenum(DateStringArray1, FieldSpecIn), FieldSpecOut)
DateStringArray = datestr(..., 'local'
------------------------------------------------------------

Examples :
1. Convert date vector v to a date string:
v = [2009, 4, 2, 11, 7, 18];

datestr(v)
ans =
02-Apr-2009 11:07:18
2. Return the current date and time in a string using the default format, 0:

datestr(now)

ans =
28-Mar-2005 15:36:23
3. Format the current date in the mm/dd/yy format. Note that you can specify this format either by number or by string.
datestr(now, 2) -or- datestr(now, 'mm/dd/yy')
ans =
03/28/05
Exercise: Variables

Read in and display the current date and time


• In helloWorld.m, read in the variables you just saved using
load
• Display the following text:
I started learning MATLAB on *start date and time*
• Hint: use the disp command again, and remember that
strings are just vectors of characters so you can join two
strings by making a row vector with the two strings as sub-
vectors.
Exercise: Variables

Read in and display the current date and time


• In helloWorld.m, read in the variables you just saved using
load
• Display the following text:
I started learning MATLAB on *start date and time*
• Hint: use the disp command again, and remember that
strings are just vectors of characters so you can join two
strings by making a row vector with the two strings as sub-
vectors.

» load startTime
» disp(['I started learning MATLAB on ' ...
startString]);
Outline

(1) Getting Started


(2) Scripts
(3) Making Variables
(4) Manipulating Variables
(5) Basic Plotting
Basic Scalar Operations
• Arithmetic operations (+,-,*,/)
» 7/45
» (1+i)*(2+i)
» 1 / 0
» 0 / 0

• Exponentiation (^)
» 4^2
» (3+4*j)^2

• Complicated expressions, use parentheses


» ((2+3)*3)^0.1

• Multiplication is NOT implicit given parentheses


» 3(1+0.7) gives an error

• To clear command window


» clc
Built-in Functions

• MATLAB has an enormous library of built-in functions

• Call using parentheses – passing parameter to function


» sqrt(2)
» log(2), log10(0.23)
» cos(1.2), atan(-.8)
» exp(2+4*i)
» round(1.4), floor(3.3), ceil(4.23)
» angle(i); abs(1+i);
Examples Examples Examples
a = [-1.9, -0.2, 3.4, 5.6, 7, 2.4+3.6i] a = [-1.9, -0.2, 3.4, 5.6, 7.0, 2.4+3.6i]
a = [-1.9, -0.2, 3.4, 5.6, 7.0, 2.4+3.6i]
a= a=
a= Columns 1 through 4 Columns 1 through 4
Columns 1 through 4 -1.9000 -0.2000 3.4000 -1.9000 -0.2000 3.4000
-1.9000 -0.2000 3.4000 5.6000 5.6000
5.6000 Columns 5 through 6
Columns 5 through 6 7.0000 2.4000 + 3.6000i
Columns 5 through 6 7.0000 2.4000 + 3.6000i
7.0000 2.4000 + 3.6000i round(a)
ceil(a)
floor(a) ans =
ans = Columns 1 through 4
ans = Columns 1 through 4 -2.0000 0 3.0000
Columns 1 through 4 -1.0000 0 4.0000 6.0000 6.0000
-2.0000 -1.0000 3.0000 Columns 5 through 6
5.0000 Columns 5 through 6 7.0000 2.0000 + 4.0000i
7.0000 3.0000 + 4.0000i
Columns 5 through 6
7.0000 2.0000 + 3.0000i round

floor ceil
Round to nearest integer
Round toward negative
Round toward positive infinity Syntax
infinity
Syntax Y = round(X)
Syntax

B = floor(A) B = ceil(A)
Exercise: Scalars

You will learn MATLAB at an exponential rate! Add the


following to your helloWorld script:
• Your learning time constant is 1.5 days. Calculate the number of
seconds in 1.5 days and name this variable tau
• This class lasts 5 days. Calculate the number of seconds in 5 days
and name this variable endOfClass
• This equation describes your knowledge as a function of time t:
− t /τ
k = 1− e
• How well will you know MATLAB at endOfClass? Name this
variable knowledgeAtEnd. (use exp)
• Using the value of knowledgeAtEnd, display the phrase:

At the end of 6.094, I will know X% of MATLAB

• Hint: to convert a number to a string, use num2str


Exercise: Scalars

» secPerDay=60*60*24;
» tau=1.5*secPerDay;
» endOfClass=5*secPerDay
» knowledgeAtEnd=1-exp(-endOfClass/tau);
» disp(['At the end of 6.094, I will know ' ...
num2str(knowledgeAtEnd*100) '% of MATLAB'])
Transpose

• The transpose operators turns a column vector into a row


vector and vice versa
» a = [1 2 3 4+i]
» transpose(a)
» a'
» a.'

• The ' gives the Hermitian-transpose, i.e. transposes and


conjugates all complex numbers

• For vectors of real numbers .' and ' give same result
Addition and Subtraction

• Addition and subtraction are element-wise; sizes must


match (unless one is a scalar):
[12 3 32 −11] ⎡ 12 ⎤ ⎡ 3 ⎤ ⎡ 9 ⎤
⎢ 1 ⎥ ⎢ −1⎥ ⎢ 2 ⎥
+ [ 2 11 −30 32] ⎢ ⎥−⎢ ⎥ =⎢ ⎥
⎢ −10 ⎥ ⎢13 ⎥ ⎢ −23⎥
= [14 14 2 21] ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ 0 33
⎦ ⎣ ⎦ ⎣ −33⎦

• The following would give an error


» c = row + column
• Use the transpose to make sizes compatible
» c = row’ + column
» c = row + column’
• Can sum up or multiply elements of vector
» s=sum(row);
» p=prod(row);
Element-Wise Functions

• All the functions that work on scalars also work on vectors


» t = [1 2 3];
» f = exp(t);
¾ is the same as
» f = [exp(1) exp(2) exp(3)];

• If in doubt, check a function’s help file to see if it handles


vectors elementwise

• Operators (* / ^) have two modes of operation


¾ element-wise
¾ standard
Operators: element-wise

• To do element-wise operations, use the dot: . (.*, ./, .^).


BOTH dimensions must match (unless one is scalar)!
» a=[1 2 3];b=[4;2;1];
» a.*b, a./b, a.^b Æ all errors
» a.*b', a./b’, a.^(b’) Æ all valid

⎡ 4⎤ ⎡1 1 1 ⎤ ⎡1 2 3⎤ ⎡ 1 2 3⎤
⎢ 2 2 2 ⎥ .* ⎢1 2 3⎥ = ⎢ 2 4 6 ⎥
[1 2 3] .* ⎢⎢ 2⎥⎥ = ERROR ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣ 1 ⎥⎦ ⎢⎣ 3 3 3 ⎥⎦ ⎢⎣1 2 3⎥⎦ ⎢⎣ 3 6 9 ⎥⎦
⎡1 ⎤ ⎡ 4⎤ ⎡ 4⎤ 3 × 3.* 3 × 3 = 3 × 3
⎢ 2 ⎥ .* ⎢ 2 ⎥ = ⎢ 4 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣ 3 ⎥⎦ ⎢⎣1 ⎥⎦ ⎢⎣ 3 ⎥⎦
⎡1 2 ⎤ ⎡12 22 ⎤
3 ×1.* 3 ×1 = 3 ×1 ⎢3 4 ⎥ .^ 2 = ⎢ 2 2⎥
⎣ ⎦ ⎣ 3 4 ⎦
Can be any dimension
Operators: standard

• Multiplication can be done in a standard way or element-wise


• Standard multiplication (*) is either a dot-product or an outer-
product
¾ Remember from linear algebra: inner dimensions must MATCH!!
• Standard exponentiation (^) can only be done on square matrices
or scalars
• Left and right division (/ \) is same as multiplying by inverse
¾ Our recommendation: just multiply by inverse (more on this
later)

⎡ 4⎤ ⎡1 2 ⎤ ⎡1 2 ⎤ ⎡1 2 ⎤ ⎡1 1 1⎤ ⎡1 2 3⎤ ⎡3 6 9 ⎤
[1 2 3]* ⎢⎢ 2⎥⎥ = 11 ⎢3 4 ⎥ ^ 2 = ⎢3 4 ⎥ * ⎢ 3 4 ⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
⎢2 2 2⎥ * ⎢1 2 3⎥ = ⎢6 12 18 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣1 ⎥⎦ Must be square to do powers ⎢⎣3 3 3⎥⎦ ⎢⎣1 2 3⎥⎦ ⎢⎣9 18 27⎥⎦
1× 3* 3 ×1 = 1×1 3 × 3* 3 × 3 = 3 × 3
Exercise: Vector Operations

Calculate how many seconds elapsed since the start of


class
• In helloWorld.m, make variables called secPerMin,
secPerHour, secPerDay, secPerMonth (assume 30.5 days
per month), and secPerYear (12 months in year), which
have the number of seconds in each time period.
• Assemble a row vector called secondConversion that has
elements in this order: secPerYear, secPerMonth,
secPerDay, secPerHour, secPerMinute, 1.
• Make a currentTime vector by using clock
• Compute elapsedTime by subtracting currentTime from
start
• Compute t (the elapsed time in seconds) by taking the dot
product of secondConversion and elapsedTime (transpose
one of them to get the dimensions right)
Exercise: Vector Operations

» secPerMin=60;
» secPerHour=60*secPerMin;
» secPerDay=24*secPerHour;
» secPerMonth=30.5*secPerDay;
» secPerYear=12*secPerMonth;
» secondConversion=[secPerYear secPerMonth ...
secPerDay secPerHour secPerMin 1];
» currentTime=clock;
» elapsedTime=currentTime-start;
» t=secondConversion*elapsedTime';
Exercise: Vector Operations

Display the current state of your knowledge


• Calculate currentKnowledge using the same relationship as
before, and the t we just calculated:
− t /τ
k = 1− e
• Display the following text:

At this time, I know X% of MATLAB


Exercise: Vector Operations

Display the current state of your knowledge


• Calculate currentKnowledge using the same relationship as
before, and the t we just calculated:
− t /τ
k = 1− e
• Display the following text:

At this time, I know X% of MATLAB

» currentKnowledge=1-exp(-t/tau);
» disp(['At this time, I know ' ...
num2str(currentKnowledge*100) '% of MATLAB']);
Automatic Initialization

• Initialize a vector of ones, zeros, or random numbers


» o=ones(1,10)
¾ row vector with 10 elements, all 1
» z=zeros(23,1)
¾ column vector with 23 elements, all 0
» r=rand(1,45)
¾ row vector with 45 elements (uniform [0,1])
» n=nan(1,69)
¾ row vector of NaNs (useful for representing uninitialized
variables)
The general function call is:
var=zeros(M,N);

Number of rows Number of columns


Automatic Initialization

• To initialize a linear vector of values use linspace


a=
» a=linspace(0,10,5) 0 2.5000 5.0000 7.5000 10.0000

¾ starts at 0, ends at 10 (inclusive), 5 values

• Can also use colon operator (:)


b=
» b=0:2:10 0 2 4 6 8 10

¾ starts at 0, increments by 2, and ends at or before 10


¾ increment can be decimal or negative
c=
» c=1:5 1 2 3 4 5

¾ if increment isn’t specified, default is 1

• To initialize logarithmically spaced values use logspace


¾ similar to linspace, but see help
a=logspace(0,10,5) a=
1.0e+010 *
0.0000 0.0000 0.0000 0.0032 1.0000
Exercise: Vector Functions

Calculate your learning trajectory


• In helloWorld.m, make a linear time vector tVec that has
10,000 samples between 0 and endOfClass
• Calculate the value of your knowledge (call it
knowledgeVec) at each of these time points using the same
equation as before:
− t /τ
k = 1− e
Exercise: Vector Functions

Calculate your learning trajectory


• In helloWorld.m, make a linear time vector tVec that has
10,000 samples between 0 and endOfClass
• Calculate the value of your knowledge (call it
knowledgeVec) at each of these time points using the same
equation as before:
− t /τ
k = 1− e
» tVec = linspace(0,endOfClass,10000);
» knowledgeVec=1-exp(-tVec/tau);
Vector Indexing

• MATLAB indexing starts with 1, not 0


¾ We will not respond to any emails where this is the
problem.
• a(n) returns the nth element
a = [13 5 9 10]

a(1) a(2) a(3) a(4)

• The index argument can be a vector. In this case, each


element is looked up individually, and returned as a vector
of the same size as the index vector.
» x=[12 13 5 8];
» a=x(2:3); a=[13 5];
» b=x(1:end-1); b=[12 13 5];
Matrix Indexing

• Matrices can be indexed in two ways


¾ using subscripts (row and column)
¾ using linear indices (as if matrix is a vector)
• Matrix indexing: subscripts or linear indices

b(1,1) ⎡14 33⎤ b(1,2) b(1) ⎡14 33⎤ b(3)


b(2,1)
⎢9 8⎥ b(2,2) b(2)
⎢9 8⎥ b(4)
⎣ ⎦ ⎣ ⎦

• Picking submatrices
» A = rand(5) % shorthand for 5x5 matrix
» A(1:3,1:2) % specify contiguous submatrix
» A([1 5 3], [1 4]) % specify rows and columns
>> A = rand(5)
>> A(1:3,1:2)
A=
ans =
0.4898 0.2760 0.4984 0.7513 0.9593
0.4898 0.2760
0.4456 0.6797 0.9597 0.2551 0.5472
0.4456 0.6797
0.6463 0.6551 0.3404 0.5060 0.1386
0.6463 0.6551
0.7094 0.1626 0.5853 0.6991 0.1493

0.7547 0.1190 0.2238 0.8909 0.2575

>> A([1 5 3], [1 4])

ans =

0.4898 0.7513

0.7547 0.8909

0.6463 0.5060
Advanced Indexing 1

• To select rows or columns of a matrix, use the :

⎡12 5 ⎤
c=⎢ ⎥
⎣ −2 13 ⎦
» d=c(1,:); d=[12 5];
» e=c(:,2); e=[5;13];
» c(2,:)=[3 6]; %replaces second row of c
Advanced Indexing 2

• MATLAB contains functions to help you find desired values


within a vector or matrix
» vec = [5 3 1 9 7]

• To get the minimum value and its index:


» [minVal,minInd] = min(vec); minVal =
1
¾ max works the same way minInd =
3

• To find any the indices of specific values or ranges


ind =
» ind = find(vec == 9); 4

» ind = find(vec > 2 & vec < 6); ind =


1 2
¾ find expressions can be very complex, more on this later

• To convert between subscripts and indices, use ind2sub,


and sub2ind. Look up help to see how to use them.
Outline

(1) Getting Started


(2) Scripts
(3) Making Variables
(4) Manipulating Variables
(5) Basic Plotting

Did everyone sign in?


Plotting

• Example
» x=linspace(0,4*pi,10);
» y=sin(x);

• Plot values against their index


» plot(y);
• Usually we want to plot y versus x
» plot(x,y);

MATLAB makes visualizing data


fun and easy!
What does plot do?
• plot generates dots at each (x,y) pair and then connects the dots
with a line
• To make plot of a function look smoother, evaluate at more points
» x=linspace(0,4*pi,1000);
» plot(x,sin(x));
• x and y vectors must be same size or else you’ll get an error
» plot([1 2], [1 2 3])
¾ error!!

1 1

10 x values: 0.8

0.6
1000 x values:
0.8

0.6

0.4 0.4

0.2 0.2

0 0

-0.2 -0.2

-0.4 -0.4

-0.6 -0.6

-0.8 -0.8

-1 -1
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Exercise: Plotting

Plot the learning trajectory


• In helloWorld.m, open a new figure (use figure)
• Plot the knowledge trajectory using tVec and
knowledgeVec. When plotting, convert tVec to days by
using secPerDay
• Zoom in on the plot to verify that halfTime was calculated
correctly
Exercise: Plotting

Plot the learning trajectory


• In helloWorld.m, open a new figure (use figure)
• Plot the knowledge trajectory using tVec and
knowledgeVec. When plotting, convert tVec to days by
using secPerDay
• Zoom in on the plot to verify that halfTime was calculated
correctly

» figure
» plot(tVec/secPerDay, knowledgeVec);
End of Lecture 1

(1) Getting Started


(2) Scripts
(3) Making Variables
(4) Manipulating Variables
(5) Basic Plotting

Hope that wasn’t too much!!

You might also like