Introduction to LETKF Data Assimilation
|
|
- Letitia Whitehead
- 5 years ago
- Views:
Transcription
1 Introduction to LETKF Data Assimilation David Kuhl and Eric Kostelich AOSC614 November 12, 2008 Introduction The goal of these exercises is to familiarize you with LETKF data assimilation. We will first set-up the Lorenz 96 model. Then we will create some fake observations to assimilate. Finally we will set-up a modified version the LETKF and play with all of the variables and see what happens. For these exercises you will need to write a MATLAB script. So you will need to open up a MATLAB script window, save it to a name, then run the script by typing that name into the MATLAB command prompt window. Set-up the Lorenz 96 Model Step 1. Create a working Matlab directory in your account. mkdir matlab cd matlab Step 2. Download from the website: dkuhl/ two MATLAB scripts: lorenz 96 initialize lorenz 96 cycle and save them in your newly created matlab directory. The files can be found on the left-hand side under AOSC614. You will not be modifying these scripts for this exercise, simply calling them. You of course are welcome to look at them. Step 3. Start Matlab by typing matlab at the command prompt. Then open an editor window (file new M-file). All the following commands will be written and saved to this M-file. Start the script by clearing all previous variables: 1
2 clear all; Step 4. Type in the following settings for the model: % Initialization of Model Variables modelresolution=40; ensemblesize=10; forcing=8.0; timestep=0.05; maxtime=51000; initial_model_perturbation=0.008; initial_ensemble_perturbation=0.01; truth=ones(modelresolution,1)*forcing; ensemble=ones(modelresolution,ensemblesize)*forcing; Modelresolution is the number of points of the model. The model may be thought of as a wave traveling around the globe along a longitude line. Ensemblesize is the number of ensembles we are using. Forcing is the forcing term for the Lorenz 96 model. Timestep is set to represent 0.25 days each time interval. Maxtime is just a limit on this code for how long we can integrate the model. Initial model perturbation is the initial perturbation given to the true solution of the Lorenz 96 model. Initial ensemble perturbation is multiplied by a random gaussian number (mean of 0 and standard deviation of 1) and added to the perturbed model initial condition to produce an ensemble of initial perturbed states. The truth matrix holds the solutions for the current time-step of the model. The ensemble matrix holds the solutions for the current time-step for all of the initially perturbed ensembles. Step 5. Call the initialization script for the Lorenz model: % Lorenz 96 initialization script lorenz_96_initialize Step 6. Set up the time-step cycle for the model as a for-loop: % Begin time cycle portion of the code for t=1:maxtime % Begin plotting portion of the code figure(1); plot(truth(:), k- ); 2
3 hold on for j=1:ensemblesize plot(ensemble(:,j), b-- ); % Lorenz 96 cycle advance script lorenz_96_cycle pause hold off This step cycles through time t and plots the truth and the ensembles then cycles to the next time step. The pause is included to add user control to the time steps. Step 7. Now run the model through 20 or so cycles. To do this write the name of your script into the MATLAB command prompt window and press return. To continue to the next time-step you will press return again. Each cycle is equivalent to a quarter of a day. You will see the perturbations grow and expand along the x-axis for the truth as well as all of the ensembles. You may add a counter to the screen which displays the time step in days. For more information on this model see the Lorenz-96 link the to reference on my website under AOSC614- References. Step 8. Now fix the axis on the plot with the following code inserted before the hold off command: axis([ ]); In the above plots we see the differences in forecasts from an ensemble of initially perturbed conditions. If you like you can try playing around with any of the model parameters like the ensemble size, initial model perturbation or initial ensemble perturbation. LETKF data assimilation In this section we will apply the LETKF data assimilation sequentially to the Lorenz 96 model. The LETKF data assimilation technique is described in Hunt et. al (available on my website under AOSC614-References) and we will follow the cookbook steps found in the Hunt et. al article starting on page 18. 3
4 Above we plotted the model truth in black and the set of ensemble solutions in blue. From the truth we will create a set of observations at each of the model grid points. These observations will be randomly perturbed from the true state. The observations will need to be created each step of the model cycle. In this way we simulate a continuous collection of observations. Observations First we include at the top of the script the initialization of the observation variables: observation error, observation array, observation error covariance matrix and associated variables. % Initialization of Observation Variables obs_percent=100; number_observations=round(modelresolution*(obs_percent/100)); observation_error=0.5; observations=zeros(number_observations,1); plot_observations=zeros(modelresolution,1); R=zeros(number_observations,number_observations); I=eye(modelresolution); H=zeros(number_observations,modelresolution); The obs percent variable sets the number of observations relative to the model resolution. We will start with 100% where we will have an observation at every model grid point. The number observations is set based upon the modelresolution and obs percent. The observation error variable sets the amount of error we will perturb the model truth by. The observation error variable is multiplied by a gaussian random number with mean 0 and standard deviation 1 and added to the model truth. The observations vector holds the observations. The plot observations vector holds the observations to plot on the figure. R is the observation error covariance matrix. I is an identity matrix the size of the model resolution. H is the observation operator matrix which will transform from the model space into the observation space. Next we create the observation error covariance matrix which we will assume is constant and diagonal. This can be thought of as the error of making a measurement, like the error of reading a thermometer. Since this matrix is diagonal we are assuming the error of one measurement is completely indepent of any other measurement. This is not always true for examble in satellite measurements or radar measurements where one measurement impacts another measurement. 4
5 Also in this step we create the H-operator matrix which we will use to transform from the model space into the observation space. Insert the following code just after the initialization of the observation variables outside of the cycle. We insert this outside of the cycle since we assume the errors of the observations and the H-operator is constant over time. % Create Observation Error Covariance count=0; for j=1:modelresolution if mod(j,(obs_percent/100)^-1) == 0 count=count+1; R(count,count)=observation_error; H(count,:)=I(j,:); Finally we create the observations within the time cycle before plotting the figure. To do this we insert the following code: % Create Observations count=0; for j=1:modelresolution if mod(j,(obs_percent/100)^-1) == 0 count=count+1; plot_observations(j)=truth(j)+observation_error*randn(1); observations(count)=truth(j)+observation_error*randn(1); else plot_observations(j)=nan; To check the code we plot the observations by inserting the following code before the hold off command: plot(plot_observations(:), r* ); Run the model out for 20 or so time-steps to see the observations dance around the model truth. You can try modifying the observation error to see the points move closer and farther from the truth. 5
6 Set-up a Modified LETKF Algorithm Now we will follow a series of 9 steps as outlined in the Hunt et. al. paper. For coding symplicity we will not be using localization. I will quote the Hunt paper at each step and then I will follow the quote with the code to insert into MATLAB. Before we begin we need to initialize several variables which we will be using in the LETKF at the top of the script. Insert the following code after the initialization of the observation variables outside of the time cycle loop. % Initialization of LETKF Variables xb_bar=zeros(modelresolution,1); Xb=zeros(modelresolution,ensemblesize); yb_bar=zeros(number_observations,1); Yb=zeros(number_observations,ensemblesize); C=zeros(ensemblesize,number_observations); rho=1.10; Pa_bar=zeros(ensemblesize,ensemblesize); Wa=zeros(ensemblesize,ensemblesize); xb bar is the sample mean of the background ensemble. Xb is the difference between the background ensemble and the mean of the background ensemble. yb bar is the mean of the background ensemble in observation space. Yb is the difference between the background ensemble and the mean of the background ensemble in observation space. C is an intermediate calculated quantity for the LETKF. rho is the mutiplicitve inflation factor which can be tuned to the model (1.01 represents a 1% inflation factor, 1.10 would be a 10% inflation factor). Pa bar is the average analysis error covariance matrix. Wa is the weighting matrix. The nomenclature used in the Hunt et. al paper has m=modelresolution, k= ensemblesize and l =number of observations. In the Hunt et al paper the subscript g signfies the input reflecting the global model state and all available observations. Again, for this example we will not be performing the localization. If we were performing a localization then m=localization size and m =modelresolution. I suggest you first read the non-italicised text and insert the code for all of the steps to get your script running first. Then, with your working code, go back and look at Hunt et. al s explanation of each step carefully. Step 1: From Hunt et. al: Apply H to each x b(i) to form the global background observation ensemble y b(i), and average the latter vectors to get the l - dimensional 6
7 column vector ȳ b. Subtract this vector from each yb(i) to form the columns of the l k matrix Y b. (This subtraction can be done in place, since the vectors yb(i) are no longer needed.) This requires k applications of H, plus 2kl (floatingpoint) operations. If H is an interpolation operator that requires only a few model variables to compute each observation variable, then the total number of operations for this step is proportional to kl times the average number of model variables required to compute each scalar observation. In this case our H linear so we can combine steps 1 and 2. See the note in step 2. Step 2: From Hunt et. al: Average the vectors x b(i) to get the m -dimensional vector x b, and subtract this vector from each xb(i) to form the columns of the m k matrix X b. (Again the subtraction can be done in place; the vectors xb(i) are no longer needed). This step requires a total of 2km operations. (If H is linear, one can equivalently perform Step 2 before Step 1, and obtain ȳ b and Y b by applying H to x b and X b.) Into the cycle, after the creation of the observations and observation operator, we insert the following code to calculate xb bar, Xb, yb bar and Yb: % LETKF Steps 1 and 2 for j=1:modelresolution xb_bar(j)=mean(ensemble(j,:)); for i=1:ensemblesize Xb(j,i)=ensemble(j,i)-xb_bar(j); yb_bar=h*xb_bar; Yb=H*Xb; Step 3: From Hunt et. al: This step selects the necessary data for a given grid point (whether it is better to form the local arrays described below explicitly or select them later as needed from the global arrays deps on ones implementation). Select the rows of average(x b ) and Xb corresponding to the given grid point, forming their local counterparts: the m-dimensional vector average(x b ) and the m k matrix X b, which will be used in Step 8. Likewise, select the rows of average(y b 7
8 and Y b corresponding to the observations chosen for the analysis at the given grid point, forming the l dimensional vector average(y b ) and the l k matrix Y b. Select the corresponding rows of y o and rows and columns of R to form the l dimensional vector y o and the l l matrix R. (For a high-resolution model, it may be reasonable to use the same set of observations for multiple grid points, in which case one should select here the rows of X b and ( xb corresponding to all of these grid points.) This is the localization step so for our implementation this step is skipped since we will be a local region of size 40 (or the entire grid). Step 4: From Hunt et. al: Compute the k l matrix C = (Y b ) T R 1. If desired, one can multiply entries of R 1 or C corresponding to a given observation by a factor less than one to decrease (or greater than one to increase) its influence on the analysis. (For example, one can use a multiplier that deps on distance from the analysis grid point to discount observations near the edge of the local region from which they are selected; this will smooth the spatial influence of observations, as described in Section 2.3 under Local Implementation.) Since this is the only step in which R is used, it may be most efficient to compute C by solving the linear system RC T = Y b rather than inverting R. In some applications, R may be diagonal, but in others R will be block diagonal with each block representing a group of correlated observations. As long as the size of each block is relatively small, inverting R or solving the linear system above will not be computationally expensive. Furthermore, many or all of the blocks that make up R may be unchanged from one analysis time to the next, so that their inverses need not be recomputed each time. Based on these considerations, the number of operations required (at each grid point) for this step in a typical application should be proportional to kl, multiplied by a factor related to the typical block size of R. Into the cycle, after Step 2, we insert the following code to calculate the intermediate calculated variable C: % LETKF Step 4 C=Yb *R^-1; Step 5: From Hunt et. al: Compute the k k matrix P a = [(k 1)I/ρ +CY b ] 1, as in (21). Here rho 1 is a multiplicative covariance inflation factor, as described at the of the previous section. Though trying some of the other approaches described there may be fruitful, a reasonable general approach is to start with 8
9 ρ > 1 and increase it gradually until one finds a value that is optimal according to some measure of analysis quality. Multiplying C and Yb requires less than 2k 2 l operations,while the number of operations needed to invert the k k matrix is proportional to k 3. Into the cycle, after Step 4, we insert the following code to calculate the average analysis error covariance matrix: % LETKF Step 5 Pa_bar=(((ensemblesize-1)*eye(ensemblesize))/rho+C*Yb)^-1; Step 6: From Hunt et. al: Compute the k k matrix W a = [(k 1) P a ] 1/2, as in (24). Again the number of operations required is proportional to k 3 ; it may be most efficient to compute the eigenvalues and eigen- vectors of (k 1)I/ρ +CY b in the previous step and then use them to compute both P a ) and W a. Into the cycle, after Step 5, we insert the following code to calculate the weighting matrix: % LETKF Step 6 Wa=((ensemblesize-1)*Pa_bar)^0.5; Step 7: From Hunt et. al: Compute the k-dimensional vector w a = Pa C (y o ȳ b ), as in (20), and add it to each column of W a, forming a k k matrix whose columns are the analysis vectors w a(i). Computing the formula for w a from right-to-left, the total number of operations required for this step is less than 3k(l + k). Into the cycle, after Step 6, we insert the average weighting matrix and the local weight matrix: % LETKF Step 7 wa_bar=pa_bar*c*(observations-yb_bar); for j=1:ensemblesize wai(:,j)=wa(:,j)+wa_bar; Step 8: From Hunt et. al: Multiply X b by each w a(i) and add x b to get the analysis ensemble members x a(i) at the analysis grid point, as in (25). This requires 2k 2 m operations. 9
10 Into the cycle, after Step 7, we insert the following code to calculate our analysis result for each ensemble. This calculates the LETKF analysis result: % LETKF Step 8 temp=xb*wai; for j=1:ensemblesize xai(:,j)=xb_bar+temp(:,j); Step 9: From Hunt et. al: After performing Steps 38 for each grid point, the outputs of Step 8 form the global analysis ensemble x a(i). In this case, since we are operating without localization, this step is skipped. This step simply stitches back together all our results from all of the local regions into a global result. Now after adding in all of the LETKF steps into our forecast cycle we now need to update our background. To do this insert the following code after Step 9 to update the background ensemble. % LETKF Step 9 ensemble(:,:)=xai(:,:); Cross your fingers and run the code 20 or so steps to see what the affect of assimilating the data has on the analysis. You should see the background ensemble now tracks the truth. Feel free to manipulate different variables like the observation error and the covariance inflation factor (ρ). What happens to the results? Now modify the inital ensemble perturbation and see how quickly the ensemble tracks back to the truth. Go back and look at the Hunt et. al explanation of each step. Playing with the model: Try cutting back on the number of observation points by modifying the obs percent variable. Try 50%, 25% and 10% (note only evenly devisable percentages of 40). How many observations do we need? Inflate the error of our observations by modifying the observation error variable. How bad can the observations and the analysis be while still tracking the truth? Try modifying the number of ensembles used. How many ensembles are necessary to have the analysis still track the truth? Remember that it costs a lot of computational time to calculate each of the ensembles. 10
11 Run the model out for long time period. What happens to the observations influence on the ensemble? Try modifying the inflation factor rho to 1.01, 1.05, 1.25 (1%, 5% and 25% inflation factors). What happens to ensemble? For take home problems you can also track the RMS error between the ensemble mean of the analysis and the truth. Then quantify the effects from making the above changes to the code. For calculating the RMS errors you should throw out the first several steps of the analysis as the model is spinning up. Also you should run the model out for a long period of time, i.e. months or years. Another take home suggestion is to modify the the truth used to calculate the observations and insert a bias to the observations. Finally, if you are very ambitious, you can modify the code to perform the localization steps of the LETKF. 11
Introduction to Data Assimilation
Introduction to Data Assimilation Eric Kostelich and David Kuhl MSRI Climate Change Summer School July 21, 2008 Introduction The goal of these exercises is to familiarize you with LETKF data assimilation.
More informationCS1114: Matlab Introduction
CS1114: Matlab Introduction 1 Introduction The purpose of this introduction is to provide you a brief introduction to the features of Matlab that will be most relevant to your work in this course. Even
More informationUniversity 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 informationFigure 1. Figure 2. The BOOTSTRAP
The BOOTSTRAP Normal Errors The definition of error of a fitted variable from the variance-covariance method relies on one assumption- that the source of the error is such that the noise measured has a
More informationCS1114: Matlab Introduction
CS1114: Matlab Introduction 1 Introduction The purpose of this introduction is to provide you a brief introduction to the features of Matlab that will be most relevant to your work in this course. Even
More informationAn Introduction to MATLAB II
Lab of COMP 319 An Introduction to MATLAB II Lab tutor : Gene Yu Zhao Mailbox: csyuzhao@comp.polyu.edu.hk or genexinvivian@gmail.com Lab 2: 16th Sep, 2013 1 Outline of Lab 2 Review of Lab 1 Matrix in Matlab
More informationHere is the probability distribution of the errors (i.e. the magnitude of the errorbars):
The BOOTSTRAP Normal Errors The definition of error of a fitted variable from the variance-covariance method relies on one assumption- that the source of the error is such that the noise measured has a
More informationMatrices. A Matrix (This one has 2 Rows and 3 Columns) To add two matrices: add the numbers in the matching positions:
Matrices A Matrix is an array of numbers: We talk about one matrix, or several matrices. There are many things we can do with them... Adding A Matrix (This one has 2 Rows and 3 Columns) To add two matrices:
More informationSpatial Data Models. Raster uses individual cells in a matrix, or grid, format to represent real world entities
Spatial Data Models Raster uses individual cells in a matrix, or grid, format to represent real world entities Vector uses coordinates to store the shape of spatial data objects David Tenenbaum GEOG 7
More informationMATLAB GUIDE UMD PHYS401 SPRING 2012
MATLAB GUIDE UMD PHYS40 SPRING 202 We will be using Matlab (or, equivalently, the free clone GNU/Octave) this semester to perform calculations involving matrices and vectors. This guide gives a brief introduction
More informationA Survey of Ensemble Filtering in the Data Assimilation Research Testbed
1 A Survey of Ensemble Filtering in the Data Assimilation Research Testbed (Note: In the following, input that students need to enter are in bold, underlined text. Text that will be output to a workstation
More informationTo see what directory your work is stored in, and the directory in which Matlab will look for files, type
Matlab Tutorial For Machine Dynamics, here s what you ll need to do: 1. Solve n equations in n unknowns (as in analytical velocity and acceleration calculations) - in Matlab, this is done using matrix
More informationCreates 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 informationEric 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 informationDADiSP / MATLINK. MATLAB Code Execution Module. DSP Development Corporation KEY FEATURES
DADiSP / MATLINK MATLAB Code Execution Module MATLINK provides a simple interface for executing MATLAB (1) code directly from DADiSP. Any MATLAB function or script can be processed just as if it were a
More informationA/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 informationLAB 2 VECTORS AND MATRICES
EN001-4: Intro to Computational Design Tufts University, Department of Computer Science Prof. Soha Hassoun LAB 2 VECTORS AND MATRICES 1.1 Background Overview of data types Programming languages distinguish
More informationMatrix Inverse 2 ( 2) 1 = 2 1 2
Name: Matrix Inverse For Scalars, we have what is called a multiplicative identity. This means that if we have a scalar number, call it r, then r multiplied by the multiplicative identity equals r. Without
More informationWhat is MATLAB? What is MATLAB? Programming Environment MATLAB PROGRAMMING. Stands for MATrix LABoratory. A programming environment
What is MATLAB? MATLAB PROGRAMMING Stands for MATrix LABoratory A software built around vectors and matrices A great tool for numerical computation of mathematical problems, such as Calculus Has powerful
More informationChapter 4. The Classification of Species and Colors of Finished Wooden Parts Using RBFNs
Chapter 4. The Classification of Species and Colors of Finished Wooden Parts Using RBFNs 4.1 Introduction In Chapter 1, an introduction was given to the species and color classification problem of kitchen
More informationIntroduction to MATLAB
Introduction to MATLAB Contents 1.1 Objectives... 1 1.2 Lab Requirement... 1 1.3 Background of MATLAB... 1 1.4 The MATLAB System... 1 1.5 Start of MATLAB... 3 1.6 Working Modes of MATLAB... 4 1.7 Basic
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 informationIntroduction 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 informationLevenberg-Marquardt minimisation in ROPP
Ref: SAF/GRAS/METO/REP/GSR/006 Web: www.grassaf.org Date: 4 February 2008 GRAS SAF Report 06 Levenberg-Marquardt minimisation in ROPP Huw Lewis Met Office, UK Lewis:Levenberg-Marquardt in ROPP GRAS SAF
More informationMath 227 EXCEL / MEGASTAT Guide
Math 227 EXCEL / MEGASTAT Guide Introduction Introduction: Ch2: Frequency Distributions and Graphs Construct Frequency Distributions and various types of graphs: Histograms, Polygons, Pie Charts, Stem-and-Leaf
More informationMATLAB SUMMARY FOR MATH2070/2970
MATLAB SUMMARY FOR MATH2070/2970 DUNCAN SUTHERLAND 1. Introduction The following is inted as a guide containing all relevant Matlab commands and concepts for MATH2070 and 2970. All code fragments should
More informationMatlab notes Matlab is a matrix-based, high-performance language for technical computing It integrates computation, visualisation and programming usin
Matlab notes Matlab is a matrix-based, high-performance language for technical computing It integrates computation, visualisation and programming using familiar mathematical notation The name Matlab stands
More informationHandout 1: Viewing an Animation
Handout 1: Viewing an Animation Answer the following questions about the animation your teacher shows in class. 1. Choose one character to focus on. Describe this character s range of motion and emotions,
More informationAbout the SPEEDY model (from Miyoshi PhD Thesis):
SPEEDY EXPERIMENTS. About the SPEEDY model (from Miyoshi PhD Thesis): The SPEEDY model (Molteni 2003) is a recently developed atmospheric general circulation model (AGCM) with a spectral primitive-equation
More informationLeast-Squares Fitting of Data with B-Spline Curves
Least-Squares Fitting of Data with B-Spline Curves David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International
More information(1) Generate 1000 samples of length 1000 drawn from the uniform distribution on the interval [0, 1].
PRACTICAL EXAMPLES: SET 1 (1) Generate 1000 samples of length 1000 drawn from the uniform distribution on the interval [0, 1]. >> T=rand(1000,1000); The command above generates a matrix, whose columns
More informationChapter 1 Introduction to MATLAB
Chapter 1 Introduction to MATLAB 1.1 What is MATLAB? MATLAB = MATrix LABoratory, the language of technical computing, modeling and simulation, data analysis and processing, visualization and graphics,
More informationProgramming Exercise 1: Linear Regression
Programming Exercise 1: Linear Regression Machine Learning Introduction In this exercise, you will implement linear regression and get to see it work on data. Before starting on this programming exercise,
More informationA Tutorial on Matlab Ch. 3 Programming in Matlab
Department of Electrical Engineering University of Arkansas A Tutorial on Matlab Ch. 3 Programming in Matlab Dr. Jingxian Wu wuj@uark.edu OUTLINE 2 Plotting M-file Scripts Functions Control Flows Exercises
More informationPrincipal Component Analysis (PCA) is a most practicable. statistical technique. Its application plays a major role in many
CHAPTER 3 PRINCIPAL COMPONENT ANALYSIS ON EIGENFACES 2D AND 3D MODEL 3.1 INTRODUCTION Principal Component Analysis (PCA) is a most practicable statistical technique. Its application plays a major role
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 informationComputational Modelling 102 (Scientific Programming) Tutorials
COMO 102 : Scientific Programming, Tutorials 2003 1 Computational Modelling 102 (Scientific Programming) Tutorials Dr J. D. Enlow Last modified August 18, 2003. Contents Tutorial 1 : Introduction 3 Tutorial
More informationIntroduction to Matlab. CSE555 Introduction to Pattern Recognition Spring 2011 recitation
CSE555 Introduction to Pattern Recognition Spring 2011 recitation Matlab stands for Matrix Laboratory. It was originally designed for solving linear algebra problems using matrices. Matlab is also a programming
More informationIntroduction 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 informationPC-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 informationIntroduction to Matlab
Introduction to Matlab Enrique Muñoz Ballester Dipartimento di Informatica via Bramante 65, 26013 Crema (CR), Italy enrique.munoz@unimi.it Contact Email: enrique.munoz@unimi.it Office: Room BT-43 Industrial,
More informationECE 3793 Matlab Project 1
ECE 3793 Matlab Project 1 Spring 2017 Dr. Havlicek DUE: 02/04/2017, 11:59 PM Introduction: You will need to use Matlab to complete this assignment. So the first thing you need to do is figure out how you
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 informationA = [1, 6; 78, 9] Note: everything is case-sensitive, so a and A are different. One enters the above matrix as
1 Matlab Primer The purpose of these notes is a step-by-step guide to solving simple optimization and root-finding problems in Matlab To begin, the basic object in Matlab is an array; in two dimensions,
More informationPractical 4: The Integrate & Fire neuron
Practical 4: The Integrate & Fire neuron 2014 version by Mark van Rossum 2018 version by Matthias Hennig and Theoklitos Amvrosiadis 16th October 2018 1 Introduction to MATLAB basics You can start MATLAB
More informationAN 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 informationDescriptive Statistics, Standard Deviation and Standard Error
AP Biology Calculations: Descriptive Statistics, Standard Deviation and Standard Error SBI4UP The Scientific Method & Experimental Design Scientific method is used to explore observations and answer questions.
More informationMATLAB Basics. Configure a MATLAB Package 6/7/2017. Stanley Liang, PhD York University. Get a MATLAB Student License on Matworks
MATLAB Basics Stanley Liang, PhD York University Configure a MATLAB Package Get a MATLAB Student License on Matworks Visit MathWorks at https://www.mathworks.com/ It is recommended signing up with a student
More informationGetting Started with MATLAB
APPENDIX B Getting Started with MATLAB MATLAB software is a computer program that provides the user with a convenient environment for many types of calculations in particular, those that are related to
More informationMATLAB. Miran H. S. Mohammed. Lecture 1
MATLAB Miran H. S. Mohammed 1 Lecture 1 OUTLINES Introduction Why using MATLAB Installing MATLAB Activate your installation Getting started Some useful command Using MATLAB as a calculator 2 INTRODUCTION
More informationLab # 2 - ACS I Part I - DATA COMPRESSION in IMAGE PROCESSING using SVD
Lab # 2 - ACS I Part I - DATA COMPRESSION in IMAGE PROCESSING using SVD Goals. The goal of the first part of this lab is to demonstrate how the SVD can be used to remove redundancies in data; in this example
More informationCS100R: Matlab Introduction
CS100R: Matlab Introduction August 25, 2007 1 Introduction The purpose of this introduction is to provide you a brief introduction to the features of Matlab that will be most relevant to your work in this
More informationEE 350. Continuous-Time Linear Systems. Recitation 1. 1
EE 350 Continuous-Time Linear Systems Recitation 1 Recitation 1. 1 Recitation 1 Topics MATLAB Programming Basic Operations, Built-In Functions, and Variables m-files Graphics: 2D plots EE 210 Review Branch
More informationMATLAB Introductory Course Computer Exercise Session
MATLAB Introductory Course Computer Exercise Session This course is a basic introduction for students that did not use MATLAB before. The solutions will not be collected. Work through the course within
More informationA Basic Guide to Using Matlab in Econ 201FS
A Basic Guide to Using Matlab in Econ 201FS Matthew Rognlie February 1, 2010 Contents 1 Finding Matlab 2 2 Getting Started 2 3 Basic Data Manipulation 3 4 Plotting and Finding Returns 4 4.1 Basic Price
More informationChapter 1. Math review. 1.1 Some sets
Chapter 1 Math review This book assumes that you understood precalculus when you took it. So you used to know how to do things like factoring polynomials, solving high school geometry problems, using trigonometric
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
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 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 informationMATLAB Fundamentals. Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University
MATLAB Fundamentals Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University Reference: 1. Applied Numerical Methods with MATLAB for Engineers, Chapter 2 &
More informationGetting started with MATLAB
Sapienza University of Rome Department of economics and law Advanced Monetary Theory and Policy EPOS 2013/14 Getting started with MATLAB Giovanni Di Bartolomeo giovanni.dibartolomeo@uniroma1.it Outline
More informationMaths for Signals and Systems Linear Algebra in Engineering. Some problems by Gilbert Strang
Maths for Signals and Systems Linear Algebra in Engineering Some problems by Gilbert Strang Problems. Consider u, v, w to be non-zero vectors in R 7. These vectors span a vector space. What are the possible
More informationPost-Processing Radial Basis Function Approximations: A Hybrid Method
Post-Processing Radial Basis Function Approximations: A Hybrid Method Muhammad Shams Dept. of Mathematics UMass Dartmouth Dartmouth MA 02747 Email: mshams@umassd.edu August 4th 2011 Abstract With the use
More informationTable of Contents. Introduction.*.. 7. Part /: Getting Started With MATLAB 5. Chapter 1: Introducing MATLAB and Its Many Uses 7
MATLAB Table of Contents Introduction.*.. 7 About This Book 1 Foolish Assumptions 2 Icons Used in This Book 3 Beyond the Book 3 Where to Go from Here 4 Part /: Getting Started With MATLAB 5 Chapter 1:
More informationModeling Plant Succession with Markov Matrices
Modeling Plant Succession with Markov Matrices 1 Modeling Plant Succession with Markov Matrices Concluding Paper Undergraduate Biology and Math Training Program New Jersey Institute of Technology Catherine
More informationGeostatistics 3D GMS 7.0 TUTORIALS. 1 Introduction. 1.1 Contents
GMS 7.0 TUTORIALS Geostatistics 3D 1 Introduction Three-dimensional geostatistics (interpolation) can be performed in GMS using the 3D Scatter Point module. The module is used to interpolate from sets
More informationMAT Math Processing Software
MAT Math Processing Software Software of the KLIPPEL R&D SYSTEM FEATURES Implement your own ideas Write flexible, powerful scripts Exploit MatLab / Scilab Hide math in a container Create tools usable for
More informationNumerical Methods in Engineering Sciences
Numerical Methods in Engineering Sciences Lecture 1: Brief introduction to MATLAB Pablo Antolin pablo.antolinsanchez@unipv.it October 29th 2013 How many of you have used MATLAB before? How many of you
More informationKaleidaGraph Quick Start Guide
KaleidaGraph Quick Start Guide This document is a hands-on guide that walks you through the use of KaleidaGraph. You will probably want to print this guide and then start your exploration of the product.
More informationA 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 informationOriginally written by Tom Minka, and modified by Yuan Qi and Ashish Kapoor, Bo Morgan Sept. 2006
mas.622j Matlab Help Originally written by Tom Minka, and modified by Yuan Qi and Ashish Kapoor, Bo Morgan Sept. 2006 Getting started. Matlab variables. Matlab language. Plotting Examples. Useful Subroutines
More informationLearning from Data Introduction to Matlab
Learning from Data Introduction to Matlab Amos Storkey, David Barber and Chris Williams a.storkey@ed.ac.uk Course page : http://www.anc.ed.ac.uk/ amos/lfd/ This is a modified version of a text written
More informationData Analysis and Solver Plugins for KSpread USER S MANUAL. Tomasz Maliszewski
Data Analysis and Solver Plugins for KSpread USER S MANUAL Tomasz Maliszewski tmaliszewski@wp.pl Table of Content CHAPTER 1: INTRODUCTION... 3 1.1. ABOUT DATA ANALYSIS PLUGIN... 3 1.3. ABOUT SOLVER PLUGIN...
More informationImporting and processing a DGGE gel image
BioNumerics Tutorial: Importing and processing a DGGE gel image 1 Aim Comprehensive tools for the processing of electrophoresis fingerprints, both from slab gels and capillary sequencers are incorporated
More informationPhysics 326G Winter Class 2. In this class you will learn how to define and work with arrays or vectors.
Physics 326G Winter 2008 Class 2 In this class you will learn how to define and work with arrays or vectors. Matlab is designed to work with arrays. An array is a list of numbers (or other things) arranged
More informationSAS Visual Analytics 8.2: Getting Started with Reports
SAS Visual Analytics 8.2: Getting Started with Reports Introduction Reporting The SAS Visual Analytics tools give you everything you need to produce and distribute clear and compelling reports. SAS Visual
More informationDesktop Command window
Chapter 1 Matlab Overview EGR1302 Desktop Command window Current Directory window Tb Tabs to toggle between Current Directory & Workspace Windows Command History window 1 Desktop Default appearance Command
More informationMatlab and Coordinate Systems
Matlab and Coordinate Systems Math 45 Linear Algebra David Arnold David-Arnold@Eureka.redwoods.cc.ca.us Abstract In this exercise we will introduce the concept of a coordinate system for a vector space.
More information3. Data Structures for Image Analysis L AK S H M O U. E D U
3. Data Structures for Image Analysis L AK S H M AN @ O U. E D U Different formulations Can be advantageous to treat a spatial grid as a: Levelset Matrix Markov chain Topographic map Relational structure
More informationIntroduction to Machine Learning Prof. Anirban Santara Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Introduction to Machine Learning Prof. Anirban Santara Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 14 Python Exercise on knn and PCA Hello everyone,
More informationPA Core Standards For Mathematics Curriculum Framework Grade Level 5
PA Core Standards For Mathematics Grade Level How is mathematics used to quantify, Place Value Demonstrate an understanding CC.2.1..B.1 M0.A-T.1.1.1 among numbers can be compare, represent, and model and
More informationFourier transforms and convolution
Fourier transforms and convolution (without the agonizing pain) CS/CME/BioE/Biophys/BMI 279 Oct. 26, 2017 Ron Dror 1 Why do we care? Fourier transforms Outline Writing functions as sums of sinusoids The
More informationME 365 EXPERIMENT 3 INTRODUCTION TO LABVIEW
ME 365 EXPERIMENT 3 INTRODUCTION TO LABVIEW Objectives: The goal of this exercise is to introduce the Laboratory Virtual Instrument Engineering Workbench, or LabVIEW software. LabVIEW is the primary software
More informationThoughts on Representing Spatial Objects. William A. Huber Quantitative Decisions Rosemont, PA
Thoughts on Representing Spatial Objects William A. Huber Quantitative Decisions Rosemont, PA Overview 1. Some Ways to Structure Space 2. What to Put into a Grid 3. Objects and Fields 4. Hybrid Structures
More informationEF5 Overview. University of Oklahoma/HyDROS Module 1.3
EF5 Overview University of Oklahoma/HyDROS Module 1.3 Outline Day 1 WELCOME INTRODUCTION TO HYDROLOGICAL MODELS EF5 OVERVIEW Features of EF5 Model structure Control file options Warm-up and model states
More informationHOUR 12. Adding a Chart
HOUR 12 Adding a Chart The highlights of this hour are as follows: Reasons for using a chart The chart elements The chart types How to create charts with the Chart Wizard How to work with charts How to
More informationMatlab Tutorial: Basics
Matlab Tutorial: Basics Topics: opening matlab m-files general syntax plotting function files loops GETTING HELP Matlab is a program which allows you to manipulate, analyze and visualize data. MATLAB allows
More informationOUTLINES. Variable names in MATLAB. Matrices, Vectors and Scalar. Entering a vector Colon operator ( : ) Mathematical operations on vectors.
1 LECTURE 3 OUTLINES Variable names in MATLAB Examples Matrices, Vectors and Scalar Scalar Vectors Entering a vector Colon operator ( : ) Mathematical operations on vectors examples 2 VARIABLE NAMES IN
More informationHistograms. h(r k ) = n k. p(r k )= n k /NM. Histogram: number of times intensity level rk appears in the image
Histograms h(r k ) = n k Histogram: number of times intensity level rk appears in the image p(r k )= n k /NM normalized histogram also a probability of occurence 1 Histogram of Image Intensities Create
More informationProgramming Exercise 4: Neural Networks Learning
Programming Exercise 4: Neural Networks Learning Machine Learning Introduction In this exercise, you will implement the backpropagation algorithm for neural networks and apply it to the task of hand-written
More informationIntroduction to Matlab. By: Dr. Maher O. EL-Ghossain
Introduction to Matlab By: Dr. Maher O. EL-Ghossain Outline: q What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators (Arithmetic, relational, logical ) Display Facilities Flow Control
More informationIntroduction to Objective Analysis
Chapter 4 Introduction to Objective Analysis Atmospheric data are routinely collected around the world but observation sites are located rather randomly from a spatial perspective. On the other hand, most
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 informationThe inverse of a matrix
The inverse of a matrix A matrix that has an inverse is called invertible. A matrix that does not have an inverse is called singular. Most matrices don't have an inverse. The only kind of matrix that has
More informationChapter 4: Programming with MATLAB
Chapter 4: Programming with MATLAB Topics Covered: Programming Overview Relational Operators and Logical Variables Logical Operators and Functions Conditional Statements For Loops While Loops Debugging
More informationThe MathWorks - MATLAB Digest June Exporting Figures for Publication
Page 1 of 5 Exporting Figures for Publication by Ben Hinkle This article describes how to turn figures into publication-ready Encapsulated Postscript (EPS) files using a new MATLAB script called exportfig.m.
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 informationChapter 2. MathScript
Chapter 2. MathScript 2.1 What is MathScript MathScript is math-oriented, text-based computing language to address tasks mathematic calculation: Most suitable for Mathematic calculation. Matrix based data
More informationLab 4 - Missing data estimation and multiple realizations
Due Date: 17:00, Friday, October 23, 2009 TA: Yunyue (Elita) Li (yunyue.li@sep.stanford.edu) Lab 4 - Missing data estimation and multiple realizations De Zhu 1 ABSTRACT Geostatistics has gained much recent
More informationEssentials for the TI-83+
Essentials for the TI-83+ Special Keys. O S O O Press and release, then press the appropriate key to access the 2nd (yellow) operation. Press and release to access characters and letters indicated above
More information