logo for matrixlab-examples.com
[?] Subscribe To This Site

XML RSS
Add to Google
Add to My Yahoo!
Add to My MSN
Subscribe with Bloglines


Home
Matrixmania Blog
Contact
-> Sitemap <-
Matlab Books
Quick Matlab Guide
Matlab Tutorials
Matlab Examples
Matlab Flow Control
Boolean Algebra
Linear Algebra
Matlab 2D Plots
Matlab 3D Plots
Matlab GUI
Matlab Cookbook I
Matlab Cookbook II
Probability and Stats
Forums and Help
Relevant Links
Fun!
Your own Website?
Terms/Policies
leftimage for matrixlab-examples.com

Vectors


In Matlab, you can form arrays of numbers  - vectors or matrices - in a straight and intuitive way:
 
>> a  =  [2  4  6  9  -1  3]

a  =

2    4    6    9    -1    3

The numbers of the array should be separated by spaces (like shown) or commas. If you're working with complex numbers, you must avoid spaces and work only with commas.

There are simple ways to create horizontal arrays (row vectors) that increase or decrease in a linear pattern. For example, let's say that
you wish to have a vector t to contain eleven values equally spaced from 0 to ¶. You can do this in at least three ways:

>>  t  =  [0  .1*pi  .2*pi  .3*pi  .4*pi  .5*pi  .6*pi  .7*pi  .8*pi  .9*pi  pi]

>>  t  =  (0 : 0.1 : 1)*pi

>> t  =  linspace(0,pi,11)

The Matlab result is exactly the same:

t =

Columns  1  through  7

0    0.3142    0.6283    0.9425    1.2566    1.5708    1.8850

Columns  8  through  11

2.1991    2.5133    2.8274    3.1416


In the first case, you only place the numbers one by one, which is a very boring way to do it...

In the second case, you create an array which starts with 0, an then you increment the value in 0.1 steps until you get to 1. Then, every number is multiplied by ¶.

In the third case, you use the linspace function, which has the following arguments:
 
linspace(start_value, end_value, number_of_values)

Obviously, the latest two ways are much better than the first way to do it.



Vector Construction
You create a row vector x specifing the numbers, one by one:

x  =  [1  3  9  33  0  -2]

You create a row vector x starting with a first value until you get to a last value, in steps of 1.

x  =  first: last   

You create a row vector x starting with a first value until you get to a last value, in specified increments.

x  =  first: increment: last

You create a row vector x starting with a first value until you get to a last value, in equally spaced n elements.

x  =  linspace(first, last, n)   

To acces each element of the vector you use subscripts. For example, x(1) is the first element of the vector x.

To acces a group of contiguous elements, you also use subscripts. For example, x(1:5) represents five elements, from element 1 to element 5 of the array.

Other examples:
x(4 : -1 : 1) represents elements 4, 3, 2 and 1, in this order.
x(2 : 2 : 7) represents elements 2, 4, and 6.
                   


To work with column vectors, you put a ';' between each element.

>> b  =  [1;  2;  3;  4;  5]


b =

     1
     2
     3
     4
     5

>>

You may use the transpose operator ('), to convert a row vector into a column vector.

>> a  =  1:5

a  =

1    2    3    4    5

>> b  =  a'

b =

     1
     2
     3
     4
     5

>> x=(2:3:15)'

x =

     2
     5
     8
    11
    14

>>

From 'Vectors' to home
From 'Vectors' to 'Matlab Help Menu'


footer for vectors page