====== Differences ====== This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
gibson:teaching:spring-2016:math445:finaltopics [2016/05/16 06:16] gibson [Plotting] |
gibson:teaching:spring-2016:math445:finaltopics [2016/05/16 06:45] (current) gibson [Plotting] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Math 445 final exam topics ====== | ====== Math 445 final exam topics ====== | ||
- | The Math 445 final exam will be comprehensive, covering all material presented in lecture and lab (except for the derivation of differential equations from physics presented in lecture). | + | The Math 445 final exam will be comprehensive, covering all material presented in lecture and lab (except for the derivation of differential equations from physics presented in lecture). Below is a broad overview but not exhaustive of topics that might be covered on the exam. |
---- | ---- | ||
+ | ===== Matlab syntax ===== | ||
+ | |||
====Vectors and matrices==== | ====Vectors and matrices==== | ||
Line 57: | Line 59: | ||
* how to make 2D contour plots with **contourf** and **linspace**, **meshgrid** etc. | * how to make 2D contour plots with **contourf** and **linspace**, **meshgrid** etc. | ||
* how to make 2D quiver plots with **quiver** and **linspace**, **meshgrid** etc. | * how to make 2D quiver plots with **quiver** and **linspace**, **meshgrid** etc. | ||
- | * how to make 3D surface plots with **sruf** and **linspace**, **meshgrid**, etc. | + | * how to make 3D surface plots with **surf** and **linspace**, **meshgrid**, etc. |
* how to load data from a file and plot it | * how to load data from a file and plot it | ||
* how to label axes, title a plot, color the lines, show markers on data points, display a coordinate grid, show a colorbar, etc. | * how to label axes, title a plot, color the lines, show markers on data points, display a coordinate grid, show a colorbar, etc. | ||
---- | ---- | ||
- | ==== Log-linear relations ==== | ||
- | You should know how to infer a functional relation $y=f(x)$ given a logarithmic or linear plot | ||
- | , and which of **plot**, **semilogx**, **semilogy**, and **loglog** is best for a given relation $y=f(x)$. | ||
- | |||
- | ---- | ||
==== Evaluating expressions ==== | ==== Evaluating expressions ==== | ||
Line 118: | Line 115: | ||
---- | ---- | ||
+ | ==== random numbers ==== | ||
+ | |||
+ | You should know how to get random numbers of various kinds | ||
+ | |||
+ | * **rand**: a random floating-point number between 0 and 1. | ||
+ | * **randi(max)**: a random integer between 1 and max. | ||
+ | * **randn**: a random number in a Gaussian distribution with mean 0 and standard deviation 1. | ||
+ | |||
+ | Each of these random number generators has a matrix version, as well. E.g. | ||
+ | * **rand(m,n)**: an m x n matrix of random floating-point numbers between 0 and 1. | ||
+ | * **randi(m,n,max)**: an m x n matrix of random integers between 1 and max. | ||
+ | * **randn(m,n)**: an m x n matrix of a random numbers in a Gaussian distribution with mean 0 and standard deviation 1. | ||
+ | |||
==== if-else statements ==== | ==== if-else statements ==== | ||
Line 134: | Line 144: | ||
---- | ---- | ||
- | ==== | + | ===== Lab material ==== |
- | * scripts: how to write scripts to perform a given sequence of commands. | + | |
- | * hamster dynamics / Google Page Rank: how to translate a graph of nodes and links to a transition matrix and then calculate the steady-state distribution. | + | You should have a good grasp on the mathematics and Matlab programming of the lab material. For example, |
+ | |||
+ | ---- | ||
+ | ==== log-linear relations ==== | ||
+ | |||
+ | You should know how to infer a functional relation $y=f(x)$ given a logarithmic or linear plot | ||
+ | , and which of **plot**, **semilogx**, **semilogy**, and **loglog** is best for a given relation $y=f(x)$. | ||
+ | |||
+ | ---- | ||
+ | ==== writing functions ===== | ||
+ | |||
+ | You should know how to write Matlab functions that do basic computations, like matrix-vector multiplication. | ||
+ | |||
+ | ---- | ||
+ | ==== hamster dynamics / Google Page Rank ==== | ||
+ | |||
+ | Given a graph of nodes and one-way links between them, you should be able to write a system of equations that governs random walks through the network of links, and then write Matlab code that would calculate the steady-state distribution. | ||
+ | |||
+ | ---- | ||
+ | ==== nonlinear equations and Newton's method ==== | ||
+ | |||
+ | You should know the mathematics behind Newton's method for solving nonlinear equations, how to code it in Matlab, and how to use Matlab's built-in solver **fsolve** to solve nonlinear equations. | ||
+ | |||
+ | ---- | ||
+ | ==== differential equations ==== | ||
+ | |||
+ | You should know now how to write an anonymous function for a system of first-order differential equations $d\vec{x}/dt = \vec{f}(t, \vec{x})$, and how to solve that system of equations numerically using Matlab's **ode45**. And given a quiver plot of a 2-d differential equation, you should be able to draw an approximate solution of the equation starting from a given initial condition, by tracing out a curve that is everywhere tangent to the arrows. | ||
+ |