MATLAB Primer. R2015a

Transcription

1 MATLAB Primer R25a

2 How to Contact MathWorks Latest news: Sales and services: User community: Technical support: Phone: The MathWorks, Inc. 3 Apple Hill Drive Natick, MA MATLAB Primer COPYRIGHT by The MathWorks, Inc. The software described in this document is furnished under a license agreement. The software may be used or copied only under the terms of the license agreement. No part of this manual may be photocopied or reproduced in any form without prior written consent from The MathWorks, Inc. FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by, for, or through the federal government of the United States. By accepting delivery of the Program or Documentation, the government hereby agrees that this software or documentation qualifies as commercial computer software or commercial computer software documentation as such terms are used or defined in FAR 2.22, DFARS Part , and DFARS Accordingly, the terms and conditions of this Agreement and only those rights specified in this Agreement, shall pertain to and govern the use, modification, reproduction, release, performance, display, and disclosure of the Program and Documentation by the federal government (or other entity acquiring for or through the federal government) and shall supersede any conflicting contractual terms or conditions. If this License fails to meet the government's needs or is inconsistent in any respect with federal procurement law, the government agrees to return the Program and Documentation, unused, to The MathWorks, Inc. Trademarks MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders. Patents MathWorks products are protected by one or more U.S. patents. Please see for more information.

12 Quick Start MATLAB Product Description The Language of Technical Computing MATLAB is a high-level language and interactive environment for numerical computation, visualization, and programming. Using MATLAB, you can analyze data, develop algorithms, and create models and applications. The language, tools, and builtin math functions enable you to explore multiple approaches and reach a solution faster than with spreadsheets or traditional programming languages, such as C/C++ or Java. You can use MATLAB for a range of applications, including signal processing and communications, image and video processing, control systems, test and measurement, computational finance, and computational biology. More than a million engineers and scientists in industry and academia use MATLAB, the language of technical computing. Key Features High-level language for numerical computation, visualization, and application development Interactive environment for iterative exploration, design, and problem solving Mathematical functions for linear algebra, statistics, Fourier analysis, filtering, optimization, numerical integration, and solving ordinary differential equations Built-in graphics for visualizing data and tools for creating custom plots Development tools for improving code quality and maintainability and maximizing performance Tools for building applications with custom graphical interfaces Functions for integrating MATLAB based algorithms with external applications and languages such as C, Java,.NET, and Microsoft Excel -2

13 Desktop Basics Desktop Basics When you start MATLAB, the desktop appears in its default layout. The desktop includes these panels: Current Folder Access your files. Command Window Enter commands at the command line, indicated by the prompt (>>). Workspace Explore data that you create or import from files. As you work in MATLAB, you issue commands that create variables and call functions. For example, create a variable named a by typing this statement at the command line: a = MATLAB adds variable a to the workspace and displays the result in the Command Window. a = -3

14 Quick Start Create a few more variables. b = 2 b = 2 c = a + b c = 3 d = cos(a) d =.543 When you do not specify an output variable, MATLAB uses the variable ans, short for answer, to store the results of your calculation. sin(a) ans =.845 If you end a statement with a semicolon, MATLAB performs the computation, but suppresses the display of output in the Command Window. e = a*b; You can recall previous commands by pressing the up- and down-arrow keys, and. Press the arrow keys either at an empty command line or after you type the first few characters of a command. For example, to recall the command b = 2, type b, and then press the up-arrow key. See Also Matrices and Arrays on page -5-4

15 Matrices and Arrays Matrices and Arrays MATLAB is an abbreviation for "matrix laboratory." While other programming languages mostly work with numbers one at a time, MATLAB is designed to operate primarily on whole matrices and arrays. All MATLAB variables are multidimensional arrays, no matter what type of data. A matrix is a two-dimensional array often used for linear algebra. Array Creation To create an array with four elements in a single row, separate the elements with either a comma (,) or a space. a = [ 2 3 4] a = This type of array is a row vector. To create a matrix that has multiple rows, separate the rows with semicolons. a = [ 2 3; 4 5 6; 7 8 ] a = Another way to create a matrix is to use a function, such as ones, zeros, or rand. For example, create a 5-by- column vector of zeros. z = zeros(5,) z = -5

16 Quick Start Matrix and Array Operations MATLAB allows you to process all of the values in a matrix using a single arithmetic operator or function. a + ans = sin(a) ans = To transpose a matrix, use a single quote ('): a' ans = You can perform standard matrix multiplication, which computes the inner products between rows and columns, using the * operator. For example, confirm that a matrix times its inverse returns the identity matrix: -6

17 Matrices and Arrays p = a*inv(a) p = Notice that p is not a matrix of integer values. MATLAB stores numbers as floating-point values, and arithmetic operations are sensitive to small differences between the actual value and its floating-point representation. You can display more decimal digits using the format command: format long p = a*inv(a) p = Reset the display to the shorter format using format short format affects only the display of numbers, not the way MATLAB computes or saves them. To perform element-wise multiplication rather than matrix multiplication, use the.* operator: p = a.*a p =

18 Quick Start The matrix operators for multiplication, division, and power each have a corresponding array operator that operates element-wise. For example, raise each element of a to the third power: a.^3 ans = Concatenation Concatenation is the process of joining arrays to make larger ones. In fact, you made your first array by concatenating its individual elements. The pair of square brackets [] is the concatenation operator. A = [a,a] A = Concatenating arrays next to one another using commas is called horizontal concatenation. Each array must have the same number of rows. Similarly, when the arrays have the same number of columns, you can concatenate vertically using semicolons. A = [a; a] A =

19 Matrices and Arrays 7 8 Complex Numbers Complex numbers have both real and imaginary parts, where the imaginary unit is the square root of -. sqrt(-) ans =. +.i To represent the imaginary part of complex numbers, use either i or j. c = [3+4i, 4+3j; -i, j] c = i. -.i i. +.i See Also Array Indexing on page - -9

20 Quick Start Array Indexing Every variable in MATLAB is an array that can hold many numbers. When you want to access selected elements of an array, use indexing. For example, consider the 4-by-4 magic square A: A = magic(4) A = There are two ways to refer to a particular element in an array. The most common way is to specify row and column subscripts, such as A(4,2) ans = 4 Less common, but sometimes useful, is to use a single subscript that traverses down each column in order: A(8) ans = 4 Using a single subscript to refer to a particular element in an array is called linear indexing. If you try to refer to elements outside an array on the right side of an assignment statement, MATLAB throws an error. -

21 Array Indexing test = A(4,5) Attempted to access A(4,5); index out of bounds because size(a)=[4,4]. However, on the left side of an assignment statement, you can specify elements outside the current dimensions. The size of the array increases to accommodate the newcomers. A(4,5) = 7 A = To refer to multiple elements of an array, use the colon operator, which allows you to specify a range of the form start:end. For example, list the elements in the first three rows and the second column of A: A(:3,2) ans = 2 7 The colon alone, without start or end values, specifies all of the elements in that dimension. For example, select all the columns in the third row of A: A(3,:) ans = The colon operator also allows you to create an equally spaced vector of values using the more general form start:step:end. -

23 Workspace Variables Workspace Variables The workspace contains variables that you create within or import into MATLAB from data files or other programs. For example, these statements create variables A and B in the workspace. A = magic(4); B = rand(3,5,2); You can view the contents of the workspace using whos. whos Name Size A B 4x4 3x5x2 Bytes Class Attributes double double The variables also appear in the Workspace pane on the desktop. Workspace variables do not persist after you exit MATLAB. Save your data for later use with the save command, save myfile.mat Saving preserves the workspace in your current working folder in a compressed file with a.mat extension, called a MAT-file. To clear all the variables from the workspace, use the clear command. Restore data from a MAT-file into the workspace using load. load myfile.mat -3

24 Quick Start See Also Character Strings on page -5-4

25 Character Strings Character Strings A character string is a sequence of any number of characters enclosed in single quotes. You can assign a string to a variable. mytext = 'Hello, world'; If the text includes a single quote, use two single quotes within the definition. othertext = 'You''re right' othertext = You're right mytext and othertext are arrays, like all MATLAB variables. Their class or data type is char, which is short for character. whos mytext Name Size Bytes mytext x2 24 Class Attributes char You can concatenate strings with square brackets, just as you concatenate numeric arrays. longtext = [mytext,' - ',othertext] longtext = Hello, world - You're right To convert numeric values to strings, use functions, such as num2str or int2str. f = 7; c = (f-32)/.8; temptext = ['Temperature is ',num2str(c),'c'] -5

27 Calling Functions Calling Functions MATLAB provides a large number of functions that perform computational tasks. Functions are equivalent to subroutines or methods in other programming languages. To call a function, such as max, enclose its input arguments in parentheses: A = [ 3 5]; max(a) ans = 5 If there are multiple input arguments, separate them with commas: B = [ 6 4]; max(a,b) ans = 6 5 Return output from a function by assigning it to a variable: maxa = max(a) maxa = 5 When there are multiple output arguments, enclose them in square brackets: [maxa,location] = max(a) maxa = 5-7

28 Quick Start location = 3 Enclose any character string inputs in single quotes: disp('hello world') hello world To call a function that does not require any inputs and does not return any outputs, type only the function name: clc The clc function clears the Command Window. See Also 2-D and 3-D Plots on page -9-8

29 2-D and 3-D Plots 2-D and 3-D Plots In this section... Line Plots on page -9 3-D Plots on page -23 Subplots on page -25 Line Plots To create two-dimensional line plots, use the plot function. For example, plot the value of the sine function from to : x = :pi/:2*pi; y = sin(x); plot(x,y) -9

30 Quick Start You can label the axes and add a title. xlabel('x') ylabel('sin(x)') title('plot of the Sine Function') -2

31 2-D and 3-D Plots By adding a third input argument to the plot function, you can plot the same variables using a red dashed line. plot(x,y,'r--') -2

32 Quick Start The 'r--' string is a line specification. Each specification can include characters for the line color, style, and marker. A marker is a symbol that appears at each plotted data point, such as a +, o, or *. For example, 'g:*' requests a dotted green line with * markers. Notice that the titles and labels that you defined for the first plot are no longer in the current figure window. By default, MATLAB clears the figure each time you call a plotting function, resetting the axes and other elements to prepare the new plot. To add plots to an existing figure, use hold. x = :pi/:2*pi; y = sin(x); plot(x,y) -22

33 2-D and 3-D Plots hold on y2 = cos(x); plot(x,y2,':') legend('sin','cos') Until you use hold off or close the window, all plots appear in the current figure window. 3-D Plots Three-dimensional plots typically display a surface defined by a function in two variables, z = f(x,y). -23

35 2-D and 3-D Plots Both the surf function and its companion mesh display surfaces in three dimensions. surf displays both the connecting lines and the faces of the surface in color. mesh produces wireframe surfaces that color only the lines connecting the defining points. Subplots You can display multiple plots in different subregions of the same window using the subplot function. The first two inputs to subplot indicate the number of plots in each row and column. The third input specifies which plot is active. For example, create four plots in a 2-by-2 grid within a figure window. t = :pi/:2*pi; [X,Y,Z] = cylinder(4*cos(t)); subplot(2,2,); mesh(x); title('x'); subplot(2,2,2); mesh(y); title('y'); subplot(2,2,3); mesh(z); title('z'); subplot(2,2,4); mesh(x,y,z); title('x,y,z'); -25

36 Quick Start See Also Programming and Scripts on page

37 Programming and Scripts Programming and Scripts In this section... Sample Script on page -27 Loops and Conditional Statements on page -28 Script Locations on page -3 The simplest type of MATLAB program is called a script. A script is a file with a.m extension that contains multiple sequential lines of MATLAB commands and function calls. You can run a script by typing its name at the command line. Sample Script To create a script, use the edit command, edit plotrand This opens a blank file named plotrand.m. Enter some code that plots a vector of random data: n = 5; r = rand(n,); plot(r) Next, add code that draws a horizontal line on the plot at the mean: m = mean(r); hold on plot([,n],[m,m]) hold off title('mean of Random Uniform Data') Whenever you write code, it is a good practice to add comments that describe the code. Comments allow others to understand your code, and can refresh your memory when you return to it later. Add comments using the percent (%) symbol. % Generate random data from a uniform distribution % and calculate the mean. Plot the data and the mean. n = 5; r = rand(n,); % 5 data points -27

38 Quick Start plot(r) % Draw a line from (,m) to (n,m) m = mean(r); hold on plot([,n],[m,m]) hold off title('mean of Random Uniform Data') Save the file in the current folder. To run the script, type its name at the command line: plotrand You can also run scripts from the Editor by pressing the Run button,. Loops and Conditional Statements Within a script, you can loop over sections of code and conditionally execute sections using the keywords for, while, if, and switch. For example, create a script named calcmean.m that uses a for loop to calculate the mean of five random samples and the overall mean. nsamples = 5; npoints = 5; for k = :nsamples currentdata = rand(npoints,); samplemean(k) = mean(currentdata); end overallmean = mean(samplemean) Now, modify the for loop so that you can view the results at each iteration. Display text in the Command Window that includes the current iteration number, and remove the semicolon from the assignment to samplemean. for k = :nsamples iterationstring = ['Iteration #',int2str(k)]; disp(iterationstring) currentdata = rand(npoints,); samplemean(k) = mean(currentdata) end overallmean = mean(samplemean) -28

39 Programming and Scripts When you run the script, it displays the intermediate results, and then calculates the overall mean. calcmean Iteration # samplemean =.3988 Iteration #2 samplemean = Iteration #3 samplemean = Iteration #4 samplemean =.3988 Iteration #5 samplemean = overallmean =.4935 In the Editor, add conditional statements to the end of calcmean.m that display a different message depending on the value of overallmean. if overallmean <.49 disp('mean is less than expected') -29

40 Quick Start elseif overallmean >.5 disp('mean is greater than expected') else disp('mean is within the expected range') end Run calcmean and verify that the correct message displays for the calculated overallmean. For example: overallmean =.578 Mean is greater than expected Script Locations MATLAB looks for scripts and other files in certain places. To run a script, the file must be in the current folder or in a folder on the search path. By default, the MATLAB folder that the MATLAB Installer creates is on the search path. If you want to store and run programs in another folder, add it to the search path. Select the folder in the Current Folder browser, right-click, and then select Add to Path. See Also Help and Documentation on page -3-3

41 Help and Documentation Help and Documentation All MATLAB functions have supporting documentation that includes examples and describes the function inputs, outputs, and calling syntax. There are several ways to access this information from the command line: Open the function documentation in a separate window using the doc command. doc mean Display function hints (the syntax portion of the function documentation) in the Command Window by pausing after you type the open parentheses for the function input arguments. mean( View an abbreviated text version of the function documentation in the Command Window using the help command. help mean Access the complete product documentation by clicking the help icon. -3

44 2 Language Fundamentals Matrices and Magic Squares In this section... About Matrices on page 2-2 Entering Matrices on page 2-4 sum, transpose, and diag on page 2-5 The magic Function on page 2-7 Generating Matrices on page 2-8 About Matrices In the MATLAB environment, a matrix is a rectangular array of numbers. Special meaning is sometimes attached to -by- matrices, which are scalars, and to matrices with only one row or column, which are vectors. MATLAB has other ways of storing both numeric and nonnumeric data, but in the beginning, it is usually best to think of everything as a matrix. The operations in MATLAB are designed to be as natural as possible. Where other programming languages work with numbers one at a time, MATLAB allows you to work with entire matrices quickly and easily. A good example matrix, used throughout this book, appears in the Renaissance engraving Melencolia I by the German artist and amateur mathematician Albrecht Dürer. 2-2

45 Matrices and Magic Squares This image is filled with mathematical symbolism, and if you look carefully, you will see a matrix in the upper-right corner. This matrix is known as a magic square and was believed by many in Dürer's time to have genuinely magical properties. It does turn out to have some fascinating characteristics worth exploring. 2-3

46 2 Language Fundamentals Entering Matrices The best way for you to get started with MATLAB is to learn how to handle matrices. Start MATLAB and follow along with each example. You can enter matrices into MATLAB in several different ways: Enter an explicit list of elements. Load matrices from external data files. Generate matrices using built-in functions. Create matrices with your own functions and save them in files. Start by entering Dürer's matrix as a list of its elements. You only have to follow a few basic conventions: Separate the elements of a row with blanks or commas. Use a semicolon, ;, to indicate the end of each row. Surround the entire list of elements with square brackets, [ ]. To enter Dürer's matrix, simply type in the Command Window A = [ ; 5 8; ; ] MATLAB displays the matrix you just entered: 2-4

1 Matlab 1) Fundamentals a) Getting Help for more detailed help on any topic, typing help, then a space, and then the matlab command brings up a detailed page on the command or topic. For really difficult

MATLAB Basics MATLAB numbers and numeric formats All numerical variables are stored in MATLAB in double precision floating-point form. (In fact it is possible to force some variables to be of other types

AMATH 352 Lecture 3 MATLAB Tutorial MATLAB (short for MATrix LABoratory) is a very useful piece of software for numerical analysis. It provides an environment for computation and the visualization. Learning

MATLAB PRIMER To get the MATLAB program, go to software.geneseo.edu. On the Mac or Windows side, click on academic. Among the many programs you will find the latest version of MATLAB. For help, you may

Experiment 0 Introduction to Data Analysis Using an Excel Spreadsheet I. Purpose The purpose of this introductory lab is to teach you a few basic things about how to use an EXCEL 2010 spreadsheet to do

Intro to Excel spreadsheets What are the objectives of this document? The objectives of document are: 1. Familiarize you with what a spreadsheet is, how it works, and what its capabilities are; 2. Using

Introduction to MATLAB 1 Lecture Series by CEPSTRUM Presented by Pratik Kotkar & Akash Baid Topics.. What is MATLAB?? Basic Matrix Operations Script Files and M-files Some more Operations and Functions

Christopher Lum lum@u.washington.edu Introduction Beginner s Matlab Tutorial This document is designed to act as a tutorial for an individual who has had no prior experience with Matlab. For any questions

Exercise 4 Learning Python language fundamentals Work with numbers Python can be used as a powerful calculator. Practicing math calculations in Python will help you not only perform these tasks, but also

Lesson Notes Author: Pamela Schmidt Tables Text Fields (Default) Text or combinations of text and numbers, as well as numbers that don't require calculations, such as phone numbers. or the length set by

Resampling Stats in MATLAB 1 This document is an excerpt from Resampling Stats in MATLAB Daniel T. Kaplan Copyright (c) 1999 by Daniel T. Kaplan, All Rights Reserved This document differs from the published

Introduction to MATLAB Matlab is a program that allows you to carry out computations in a straightforward manner, removing much of the tedium involved in programming. It is extremely useful for creating

Kerby Shedden October, 2007 Overview of R R R is a programming language for statistical computing, data analysis, and graphics. It is a re-implementation of the S language, which was developed in the 1980

Chapter 1 Introduction MATLAB (Matrix laboratory) is an interactive software system for numerical computations and graphics. As the name suggests, MATLAB is especially designed for matrix computations:

SOME EXCEL FORMULAS AND FUNCTIONS About calculation operators Operators specify the type of calculation that you want to perform on the elements of a formula. Microsoft Excel includes four different types

INTRODUCTION TO EXCEL 1 INTRODUCTION Anyone who has used a computer for more than just playing games will be aware of spreadsheets A spreadsheet is a versatile computer program (package) that enables you

MAT 275 Laboratory 1 Introduction to MATLAB MATLAB is a computer software commonly used in both education and industry to solve a wide range of problems. This Laboratory provides a brief introduction to

Introduction Maple Quick Start In this introductory course, you will become familiar with and comfortable in the Maple environment. You will learn how to use context menus, task assistants, and palettes

VISUAL ALGEBRA FOR COLLEGE STUDENTS Laurie J. Burton Western Oregon University VISUAL ALGEBRA FOR COLLEGE STUDENTS TABLE OF CONTENTS Welcome and Introduction 1 Chapter 1: INTEGERS AND INTEGER OPERATIONS

IOWA STATE UNIVERSITY Department of Community and Regional Planning CRP274 PLANNING ANALYSIS AND TECHNIQUES II INTRODUCTION TO EXCEL FOR WINDOWS 1 Basic Components of Spreadsheet 1.1 Worksheet An Excel

MATLAB Tutorial You need a small numb e r of basic commands to start using MATLAB. This short tutorial describes those fundamental commands. You need to create vectors and matrices, to change them, and

Excel Tutorial Below is a very brief tutorial on the basic capabilities of Excel. Refer to the Excel help files for more information. Working with Data Entering and Formatting Data Before entering data

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.

Chapter 6 Operators and Flow Control 6.1. Relational and Logical Operators MATLAB has a logical data type, with the possible values 1, representing true, and 0, representing false. Logicals are produced

Dynamics and Vibrations Mupad tutorial School of Engineering Brown University This tutorial introduces the MATLAB mupad environment for symbolic calculations. You should work through the MATLAB tutorial

SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89 by Joseph Collison Copyright 2000 by Joseph Collison All rights reserved Reproduction or translation of any part of this work beyond that permitted by Sections

Matrices define matrix We will use matrices to help us solve systems of equations. A matrix is a rectangular array of numbers enclosed in parentheses or brackets. In linear algebra, matrices are important

Math Review for the Quantitative Reasoning Measure of the GRE revised General Test www.ets.org Overview This Math Review will familiarize you with the mathematical skills and concepts that are important

EXPERIMENT GRAPHING IN EXCEL Introduction In this lab you will learn how to use Microsoft Excel to plot and analyze data that you obtain while doing experiments. In this lab you learn how to Enter data

Division of Engineering Fundamentals, Copyright 1999 by J.C. Malzahn Kampe 1 / 21 MATLAB Programming When we use the phrase computer solution, it should be understood that a computer will only follow directions;

4. MATRICES 170 4. Matrices 4.1. Definitions. Definition 4.1.1. A matrix is a rectangular array of numbers. A matrix with m rows and n columns is said to have dimension m n and may be represented as follows:

MATLAB m-files and Flow Control Objectives 1. Become familiar with additional MATLAB functions and looping/conditional statements. 2. Learn how to create and use MATLAB m files. 3. Learn how to write and

A First Book of C++ Chapter 2 Data Types, Declarations, and Displays Objectives In this chapter, you will learn about: Data Types Arithmetic Operators Variables and Declarations Common Programming Errors

MatLab Basics MatLab was designed as a Matrix Laboratory, so all operations are assumed to be done on matrices unless you specifically state otherwise. (In this context, numbers (scalars) are simply regarded

Ribbon menu The Ribbon menu system with tabs for various Excel commands. This Ribbon system replaces the traditional menus used with Excel 2003. Above the Ribbon in the upper-left corner is the Microsoft

CD-ROM Appendix E: Matlab Susan A. Fugett Matlab version 7 or 6.5 is a very powerful tool useful for many kinds of mathematical tasks. For the purposes of this text, however, Matlab 7 or 6.5 will be used

Table of Contents Elements of An Excel Document... 2 Resizing and Hiding Columns and Rows... 3 Using Panes to Create Spreadsheet Headers... 3 Using the AutoFill Command... 4 Using AutoFill for Sequences...

Excel 2010: Create your first spreadsheet Goals: After completing this course you will be able to: Create a new spreadsheet. Add, subtract, multiply, and divide in a spreadsheet. Enter and format column

TI-83 Plus Graphing Calculator Keystroke Guide In your textbook you will notice that on some pages a key-shaped icon appears next to a brief description of a feature on your graphing calculator. In this

Origin Basics Topography of an Origin Project and Workspace When you start Origin, a new project opens displaying a worksheet window in the workspace. The worksheet is one type of window available in Origin.

Introduction to Mathcad Mathcad is as versatile and powerful as programming languages, yet it is as easy to learn as a spreadsheet! This text will introduce you to: Fundamental functions of Mathcad, including

Chapter 4. Spreadsheets We ve discussed rather briefly the use of computer algebra in 3.5. The approach of relying on www.wolframalpha.com is a poor subsititute for a fullfeatured computer algebra program

MATLAB Function Reference Set display for output Graphical Interface As an alternative to, use preferences. Select Preferences from the File menu in the MATLAB desktop and use Command Window preferences.

Microsoft Excel Tutorial by Dr. James E. Parks Department of Physics and Astronomy 401 Nielsen Physics Building The University of Tennessee Knoxville, Tennessee 37996-1200 Copyright August, 2000 by James

Linear Algebra and TI 89 Abdul Hassen and Jay Schiffman This short manual is a quick guide to the use of TI89 for Linear Algebra. We do this in two sections. In the first section, we will go over the editing