MATLAB Programming/Arrays/Basic vector operations - Wikibooks, open books for an open world (2024)

[MATLAB Programming\|/MATLAB Programming]m]

Chapter 1: MATLAB ._.

 Introductions .
Fundamentals of MATLAB
MATLAB Workspace
MATLAB Variables
*.mat files

Chapter 2: MATLAB Concepts

MATLAB operator
Data File I/O

Chapter 3: Variable Manipulation

Numbers and Booleans
Strings
Portable Functions
Complex Numbers

Chapter 4: Vector and matrices

Vector and Matrices
Special Matrices
Operation on Vectors
Operation on Matrices
Sparse Matrices

Chapter 5: Array

Arrays
Introduction to array operations
Vectors and Basic Vector Operations
Mathematics with Vectors and Matrices
Struct Arrays
Cell Arrays

Chapter 6: Graphical Plotting

Basic Graphics Commands
Plot
Polar Plot
Semilogx or Semilogy
Loglog
Bode Plot
Nichols Plot
Nyquist Plot

Chapter 7: M File Programming

Scripts
Comments
The Input Function
Control Flow
Loops and Branches
Error Messages
Debugging M Files

Chapter 8: Advanced Topics

Numerical Manipulation
Advanced File I/O
Object Oriented Programming
Applications and Examples
Toolboxes and Extensions

Chapter 9: Bonus chapters

MATLAB Benefits and Caveats
Alternatives to MATLAB
[MATLAB_Programming/GNU_Octave|What is Octave= (8) hsrmonic functions]
Octave/MATLAB differences

edit this box

A vector in MATLAB is defined as an array which has only one dimension with a size greater than one. For example, the array [1,2,3] counts as a vector. There are several operations you can perform with vectors which don't make a lot of sense with other arrays such as matrices. However, since a vector is a special case of a matrix, any matrix functions can also be performed on vectors as well provided that the operation makes sense mathematically (for instance, you can matrix-multiply a vertical and a horizontal vector). This section focuses on the operations that can only be performed with vectors.

Contents

  • 1 Declaring a vector
    • 1.1 Declaring a vector with linear or logarithmic spacing
  • 2 Vector Magnitude
  • 3 Dot product
  • 4 Cross Product

Declaring a vector

[edit | edit source]

Declare vectors as if they were normal arrays, all dimensions except for one must have length 1. It does not matter if the array is vertical or horizontal. For instance, both of the following are vectors:

>> Horiz = [1,2,3];>> Vert = [4;5;6];

You can use the isvector function to determine in the midst of a program if a variable is a vector or not before attempting to use it for a vector operation. This is useful for error checking.

>> isvector(Horiz)ans = 1>> isvector(Vert)ans = 1

Another way to create a vector is to assign a single row or column of a matrix to another variable:

>> A = [1,2,3;4,5,6];>> Vec = A(1,:)Vec = 1 2 3

This is a useful way to store multiple vectors and then extract them when you need to use them. For example, gradients can be stored in the form of the Jacobian (which is how the symbolic math toolbox will return the derivative of a multiple variable function) and extracted as needed to find the magnitude of the derivative of a specific function in a system.

Declaring a vector with linear or logarithmic spacing

[edit | edit source]

Suppose you wish to declare a vector which varies linearly between two endpoints. For example, the vector [1,2,3] varies linearly between 1 and 3, and the vector [1,1.1,1.2,1.3,...,2.9,3] also varies linearly between 1 and 3. To avoid having to type out all those terms, MATLAB comes with a convenient function called linspace to declare such vectors automatically:

>> LinVector = linspace(1,3,21) LinVector = Columns 1 through 9 1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000 Columns 10 through 18 1.9000 2.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.6000 2.7000 Columns 19 through 21 2.8000 2.9000 3.0000

Note that linspace produces a row vector, not a column vector. To get a column vector use the transpose operator (') on LinVector.

The third argument to the function is the total size of the vector you want, which will include the first two arguments as endpoints and n - 2 other points in between. If you omit the third argument, MATLAB assumes you want the array to have 100 elements.

If, instead, you want the spacing to be logarithmic, use the logspace function. This function, unlike the linspace function, does not find n - 2 points between the first two arguments a and b. Instead it finds n-2 points between 10^a and 10^b as follows:

>> LogVector = logspace(1,3,21) LogVector = 1.0e+003 * Columns 1 through 9 0.0100 0.0126 0.0158 0.0200 0.0251 0.0316 0.0398 0.0501 0.0631 Columns 10 through 18 0.0794 0.1000 0.1259 0.1585 0.1995 0.2512 0.3162 0.3981 0.5012 Columns 19 through 21 0.6310 0.7943 1.0000

Both of these functions are useful for generating points that you wish to evaluate another function at, for plotting purposes on rectangular and logarithmic axes respectively.

Vector Magnitude

[edit | edit source]

The magnitude of a vector can be found using the norm function:

>> Magnitude = norm(inputvector,2);

For example:

>> magHoriz = norm(Horiz) magHoriz = 3.7417>> magVert = norm(Vert)magVert = 8.7750

The input vector can be either horizontal or vertical.

Dot product

[edit | edit source]

The dot product of two vectors of the same size (vertical or horizontal, it doesn't matter as long as the long axis is the same length) is found using the dot function as follows:

>> DP = dot(Horiz, Vert)DP = 32

The dot product produces a scalar value, which can be used to find the angle if used in combination with the magnitudes of the two vectors as follows:

>> theta = acos(DP/(magHoriz*magVert));>> theta = 0.2257

Note that this angle is in radians, not degrees.

Cross Product

[edit | edit source]

The cross product of two vectors of size 3 is computed using the 'cross' function:

>> CP = cross(Horiz, Vert)CP = -3 6 -3

Note that the cross product is a vector. Analogous to the dot product, the angle between two vectors can also be found using the cross product's magnitude:

>> CPMag = norm(CP);>> theta = asin(CPMag/(magHoriz*magVert))theta = 0.2257

The cross product itself is always perpendicular to both of the two initial vectors. If the cross product is zero then the two original vectors were parallel to each other.

MATLAB Programming/Arrays/Basic vector operations - Wikibooks, open books for an open world (2024)

FAQs

What is a vector array in MATLAB? ›

A vector is a one-dimensional array of numbers. MATLAB allows creating two types of vectors − Row vectors. Column vectors.

How to do vector operation in MATLAB? ›

Vector Operators
  1. Division. Dividing every element by a single value is accomplished just using the / for division. ...
  2. Multiplication. Multiplying every element by a single value is accomplished just using the *. ...
  3. Other Operations. Power (^) and other operators generally work in a similar method.

What is the difference between a vector and a matrix in MATLAB? ›

A vector is a 1-dimensional matrix, either a vertical vector (N × 1) or horizontal vector (1 × N). Vectors are a subclass of matrices, so every vector is a matrix. xL and xU are horizontal (1 × N) vectors and therefore they are also matrices. ib.

What is the difference between an array and a matrix in MATLAB? ›

The ismatrix documentation states that a matrix "A matrix is a two-dimensional array that has a size of m-by-n, where m and n are nonnegative integers." Arrays have any number of dimensions, as far as I am concerned an array does not need to have pages, it can also be 2D (i.e. matrix) or scalar or empty.

Why is vector better than array? ›

Unlike arrays, Vectors can grow or shrink dynamically, accommodating more elements than were initially declared or reducing the storage used based on the elements it currently holds.

What is the difference between array and vector array? ›

A vector is a dynamically allocated, variable-sized collection. An array is a “compile-time” allocated, fixed-size collection. “Compile-time” allocated refers to how the size of the array must be known at compile time, the actual allocation obviously happens when the array is created.

What are examples of vectors in MATLAB? ›

In MATLAB a vector is a matrix with either one row or one column. In two dimensional system, a vector is usually represented by 1 × 2 matrix. For example, a vector, B in Figure 1 is 6i + 3j, where i and j are unit vectors in the positive direction for x and y axes, respectively in the Cartesian coordinate system.

How to build a vector in MATLAB? ›

You can create a vector both by enclosing the elements in square brackets like v=[1 2 3 4 5] or using commas, like v=[1,2,3,4,5]. They mean the very same: a vector (matrix) of 1 row and 5 columns. It is up to you.

How to create an array in MATLAB? ›

To create an array with multiple elements in a single row, separate the elements with either a comma ',' or a space. This type of array is called a row vector. To create an array with multiple elements in a single column, separate the elements with semicolons ';'. This type of array is called a column vector.

Is a vector just a matrix? ›

A vector is an array of 1 row x n columns (row vector) or 1 column x n rows (column vector), while a matrix is an array of m rows x n columns. While ordinary variables hold a single value, arrays hold many values. Functions that expect a vector argument generally require a column vector.

Is A 3x3 matrix a vector? ›

Adding vectors of the same dimension gives another vectors of the same dimension. It does not create a matrix. However a 3x3 matrix might represent a mapping operating on 3x1 column vectors. Also the rows and columns of a 3x3 matrix are also vectors.

Is A 2x2 matrix a vector? ›

Answer and Explanation:

1. If we add two 2 × 2 matrices, we will produce another 2 × 2 matrix. All 3 conditions have been met, so we can confirm that the set of 2 × 2 matrices is a vector space.

Is everything in MATLAB an array? ›

Every variable in MATLAB® is an array that can hold many numbers.

How to manipulate an array in MATLAB? ›

Model Dead Elements

By default, each element in an array is excited by an amplitude of 1 V. To model dead elements, set the voltage to zero for all horizontal elements. To control voltage, use the AmplitudeTaper property. This property is the excitation amplitude of the antennas in an array.

What does a * b do in MATLAB? ›

C = A . * B multiplies arrays A and B by multiplying corresponding elements. The sizes of A and B must be the same or be compatible. If the sizes of A and B are compatible, then the two arrays implicitly expand to match each other.

What is an array of vectors? ›

We can think of a vector as a list that has one dimension. It is a row of data. An array is a list that is arranged in multiple dimensions. A two-dimensional array is a vector of vectors that are all of the same length.

What is vectorized array? ›

"Vectorization" (simplified) is the process of rewriting a loop so that instead of processing a single element of an array N times, it processes (say) 4 elements of the array simultaneously N/4 times.

What is vector example in MATLAB? ›

In MATLAB a vector is a matrix with either one row or one column. In two dimensional system, a vector is usually represented by 1 × 2 matrix. For example, a vector, B in Figure 1 is 6i + 3j, where i and j are unit vectors in the positive direction for x and y axes, respectively in the Cartesian coordinate system.

How do you check if an array is a vector MATLAB? ›

TF = isvector( A ) returns logical 1 ( true ) if A is a vector. Otherwise, it returns logical 0 ( false ). A vector is a two-dimensional array that has a size of 1-by-N or N-by-1, where N is a nonnegative integer.

Top Articles
Fahrenheit to Celsius conversion: °F to °C calculator
Convert Celsius to Fahrenheit
Milkhater05 Of
Arcanis Secret Santa
Nycers Pay Schedule
Best Jewelry Laser Engraving Machine to Elevate Your Design
Wowhead Filling The Cages
Lox Club Gift Code
Pa Pdmp Log In
Okc Farm And Garden Craigslist
Stanley Steemer Medford Oregon
Ge Tracker Awakener Orb
5Ive Brother Cause Of Death
Nutrislice White Bear Lake
Nyu Paralegal Program
Craigslist Cars For Sale By Owner Oklahoma City
1800Comcast
Iapd Lookup
Gopher Hockey Forum
Nancy Pazelt Obituary
Toothio Login
Truecarcin
Verity Or Falsity Of A Proposition Crossword Clue
Take Me To The Closest Chase Bank
What is a Nutmeg in Soccer? (Explained!) - Soccer Knowledge Hub
Jesus Revolution (2023)
5162635626
Milwaukee Zoo Ebt Discount
Spiral Roll Unblocked Games Premium
Xdm16Bt Manual
Rolling-Embers Reviews
Subway And Gas Station Near Me
Circuit Court Evanston Wy
Clinical Pharmacology Quality Assurance (CPQA) Program: Models for Longitudinal Analysis of Antiretroviral (ARV) Proficiency Testing for International Laboratories
Sport & Fitness in Hainbuch: Zubehör & Ausrüstung günstig kaufen
Dki Brain Teaser
Pain Out Maxx Kratom
Miawaiifu
Marie Anne Thiebaud 2019
Was Man über Sprints In Scrum-Projekten Wissen Sollte | Quandes
80s Z Cavaricci Pants
Craigslist For Port Huron Michigan
How to Survive (and Succeed!) in a Fast-Paced Environment | Exec Learn
Fandafia
2026 Rankings Update: Tyran Stokes cements No. 1 status, Brandon McCoy, NBA legacies lead loaded SoCal class
Plusword 358
Trực tiếp bóng đá Hà Nội vs Bình Định VLeague 2024 hôm nay
Wush Ear Cleaner Commercial Actor
Puppiwi World : Age, Height, Family, Relationship Status, Net Worth, Wiki, and More Including Exclusive Insights! WikistarFact
Kirstin Kresse
9372034886
Gulfstream Park Entries And Results
Latest Posts
Article information

Author: Terence Hammes MD

Last Updated:

Views: 6348

Rating: 4.9 / 5 (49 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Terence Hammes MD

Birthday: 1992-04-11

Address: Suite 408 9446 Mercy Mews, West Roxie, CT 04904

Phone: +50312511349175

Job: Product Consulting Liaison

Hobby: Jogging, Motor sports, Nordic skating, Jigsaw puzzles, Bird watching, Nordic skating, Sculpting

Introduction: My name is Terence Hammes MD, I am a inexpensive, energetic, jolly, faithful, cheerful, proud, rich person who loves writing and wants to share my knowledge and understanding with you.