Creating arrays
This presentation is the property of its rightful owner.
Sponsored Links
1 / 50

Creating Arrays PowerPoint PPT Presentation


  • 144 Views
  • Uploaded on
  • Presentation posted in: General

Creating Arrays. Creating scalars, vectors, matrices Ex1 & 2. Dot Product & Cross Product Ex3. Plotting Graphs Ex4. Conversion Table Ex5. Plotting functions Finishing Ex4. Ex6 and Ex7. Use of matrices in real world. 1. 1. Creating scalars. Assign a value to a variable (i.e. Hardcode)

Download Presentation

Creating Arrays

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Creating arrays

Creating Arrays

Creating scalars, vectors, matrices

Ex1 & 2. Dot Product & Cross Product

Ex3. Plotting Graphs

Ex4. Conversion Table

Ex5. Plotting functions

Finishing Ex4.

Ex6 and Ex7. Use of matrices in real world

1


1 creating scalars

1. Creating scalars

  • Assigna value to a variable (i.e. Hardcode)

    pressure = 10; %pascals

    temperature = 298; %kelvin

  • Store the result of an equation

    pressure = density*R*temperature;

  • Save the return-value of the input() command

    age = input(‘Enter your age: ’);

2


2 creating vectors

2. Creating vectors

  • There are LOTS of ways to create vectors, based on three simple ideas:

    • The values in the vector are pre-defined. For example:

      [ 2 -5 4.4 -96.6]

3


2 creating vectors1

2. Creating vectors

  • There are LOTS of ways to create vectors, based on three simple ideas:

    • The values in the vector are pre-defined. For example:

      [ 2 -5 4.4 -96.6]

    • The values have a pattern (addition only). For example:

      [10, 20, 30 ,…100] or [-10 -8 -6 -4 -2 0]

4


2 creating vectors2

2. Creating vectors

  • There are LOTS of ways to create vectors, based on three simple ideas:

    • The values in the vector are pre-defined. For example:

      [ 2 -5 4.4 -96.6]

    • The values have a pattern (addition only). For example:

      [10, 20, 30 ,…100] or [-10 -8 -6 -4 -2 0]

    • Finally, the total amount of values is known. For example:

      25 points evenly spaced from 0 to 100.

5


2 1 pre defined values

2.1. Pre-defined values

6


2 1 pre defined values cont

2.1. Pre-defined values, cont.

7


2 1 pre defined values cont1

2.1. Pre-defined values, cont.

8


2 1 pre defined values cont2

2.1. Pre-defined values, cont.

What else are semi-colons used for?

9


2 1 pre defined values cont3

2.1. Pre-defined values, cont.

They create rows AND suppress output!

What else are semi-colons used for?

10


2 1 pre defined values cont4

2.1. Pre-defined values, cont.

The apostrophe allows to transpose a vector. Rows become columns. Columns become rows.

They create rows AND suppress output!

What else are semi-colons used for?

11


2 1 pre defined values cont5

2.1. Pre-defined values, cont.

The apostrophe allows to transpose a vector. Rows become columns. Columns become rows.

They create rows AND suppress output!

What dimension will speeds have? _______________________________

What else are semi-colons used for?

12


Ex1 dot product

Ex1. Dot product

  • Remember the DOT product? (maybe/maybe not)

Credits to: http://www.itee.uq.edu.au/~cogs2010/cmc/chapters/Hebbian/ten5.gif

The DOT product…


Ex1 dot product1

Ex1. Dot product

  • Remember the DOT product? (maybe/maybe not)

Credits to: http://www.itee.uq.edu.au/~cogs2010/cmc/chapters/Hebbian/ten5.gif

The DOT product…

  • In Matlab


Ex2 cross product

*

*

*

*

*

*

Ex2. Cross product

  • How about the CROSS product? (maybe/maybe not)

Source: Wikipedia

The CROSS product…

Source: http://www.math.umn.edu/~nykamp/m2374/readings/crossprodex/


Cross product cont

Cross product, cont.

  • In Matlab


Ex3 plotting graphs

y

x y

-7

-2

3

8

4

-7

3

-1

x

Ex3. Plotting graphs

  • In order to plot, Matlab needs data points:


Ex3 plotting graphs1

y

x y

-7

-2

3

8

4

-7

3

-1

x

Ex3. Plotting graphs

  • In order to plot, Matlab needs data points:


Ex3 plotting graphs2

y

x y

-7

-2

3

8

4

-7

3

-1

x

Ex3. Plotting graphs

  • In order to plot, Matlab needs data points:

Matlab connects the dots!


Ex3 plotting graphs3

y

x y

-7

-2

3

8

4

-7

3

-1

x

Ex3. Plotting graphs

  • In order to plot, Matlab needs data points:

  • Well…

    • x is an array of data pointsx = [-7 -2 3 8]

    • y is another array of data pointsy = [4 -7 3 -1]

    • …for the curious ones, to plot:plot(x,y)


2 2 patterns addition only

2.2. Patterns (addition only)

The range operator

Numbers are separated by +1

21


2 2 patterns cont

2.2. Patterns, cont.

The range operator

Numbers are separated by +1

An additional value in the middle specifies the increment.

+3 +3 +3 +3 +3 +3 +3

+3 >32 

22


2 2 patterns cont1

2.2. Patterns, cont.

The range operator

Numbers are separated by +1

An additional value in the middle specifies the increment.

Go reverse by using a negative increment! CAUTION: the beginning number must be > the end number. Here 10>3. (This also shows it works with decimals.)

+3 +3 +3 +3 +3 +3 +3

+3 >32 

-2.5 -2.5 -2.5 < 3 

23


2 2 patterns cont2

2.2. Patterns, cont.

The range operator

Numbers are separated by +1

An additional value in the middle specifies the increment.

To use the apostrophe and create a column vector, absolutely place brackets first!

… else….

+3 +3 +3 +3 +3 +3 +3

+3 >32 

-2.5 -2.5 -2.5 < 3 

24


2 2 patterns cont3

2.2. Patterns, cont.

The range operator

Numbers are separated by +1

An additional value in the middle specifies the increment.

To use the apostrophe and create a column vector, absolutely place brackets first!

… else….

Only the scalar -10 gets transposed: but a scalar transposed remains the same scalar!

+3 +3 +3 +3 +3 +3 +3

+3 >32 

-2.5 -2.5 -2.5 < 3 

25


Ex4 conversion table

Ex4. Conversion table

% create celsius data points

celsius = 0:10:100; %0 to 100 by +10 increment

% calculate Fahrenheit

fahrenheit = celsius * 9/5 + 32;

% show table

<code not shown>


2 3 specific amount of data points

2.3. Specific amount of data points

  • A built-in function called linspace() spaces elements linearly in an array.

    • What does this mean?

      • The distance between each consecutive data point is equal.

  • There are two ways to use it, as Matlab ‘hints’ when the command typed is unfinished:

Either provide 2 arguments, or provide 3 arguments.

27


2 3 linspace cont

2.3. linspace(), cont.

The third argument indicates the ________________________ .

28


2 3 linspace cont1

2.3. linspace(), cont.

The third argument indicates the ________________________ .

When Matlab cannot display all the elements on one line, it simply indicates the column-number per line.

29


2 3 linspace cont2

2.3. linspace(), cont.

The third argument indicates the ________________________ .

When Matlab cannot display all the elements on one line, it simply indicates the column-number per line.

30


2 3 linspace cont3

2.3. linspace(), cont.

?????? %no third argument

Omitthe third argument uses a default of _______ data points!


Ex5 plotting graphs

Ex5. Plotting graphs

  • Suppose a function that relates each x to its y-coordinate is known: y = f(x) = x2.  Plot y vs. x.


Ex5 plotting graphs1

x y

-10

-5

5

10

100

25

25

100

Ex5. Plotting graphs

  • Suppose a function that relates each x to its y-coordinate is known: y = f(x) = x2.  Plot y vs. x.

  • In this case, it is tedious work to hard-code each x and y array. Are 4 data-points sufficient, like in example 3?

y

x


Ex5 plotting f x x 2 cont

Ex5. Plotting f(x) = x^2, cont.

  • Remember: which built-in function influences the number of data-points in an array?____________________

  • In this case:

    %array x of 20 data points

    %calculate array of y’s.

    %plot command

    And the result is…


Ex5 plotting f x x 2 cont1

Ex5. Plotting f(x) = x^2, cont.

  • Remember: which built-in function influences the number of data-points in an array?____________________

  • In this case:

    %array x of 20 data points

    x = linspace(-10,10,20);

    %calculate array of y’s.

    y = x.^2; %(The dot will be explained next time…)

    %plot command

    plot(x,y)

    And the result is…


Ex5 plotting f x x 2 cont2

Ex5. Plotting f(x) = x^2, cont.

Does this represent f(x) = x2 ?

Yes Or No

Yes, but it took 20 points!!


Ex5 plotting f x x 2 cont3

Ex5. Plotting f(x) = x^2, cont.

  • The use of linspace() in this example is crucial! Why do all 20 data point need to be linearly spaced?

  • What would happen otherwise?

Still 20 points!!

.. but the first 19 are before -5,

.. and the last one is 10.

Not f(x) = x2..


3 creating matrices

3. Creating Matrices

  • Simply a combinationof all symbols introduced with vectors!

    • Square brackets [ ]

    • Spaces or commas , ,

    • Semi-colons ;

    • Apostrophes ’

38


3 1 matrices hard coding

3.1. Matrices: hard-coding

  • Use semi-colons to create new rows.

  • ONLY rectangular matrices:

  • The number of columns MUST match for each row, and vice-versa.

39


3 2 reusing previous matrices

3.2. Reusing Previous matrices

  • Use semi-colons to create new rows.

  • ONLY rectangular matrices:

  • The number of columns MUST match for each row, and vice-versa.

Use previousmatrices to actually create new matrices.

This example transposes the matrix variable a.

40


Creating arrays

3.3. Using Colons

  • Use semi-colons to create new rows.

  • ONLY rectangular matrices:

  • The number of columns MUST match for each row, and vice-versa.

You can use previousmatrices to actually create new matrices.

This example transposes the variable a.

Combine any previous methods, AS LONG AS the matrix remains rectangular.

41


3 4 concatenating

3.4. “Concatenating”

  • Use semi-colons to create new rows.

  • ONLY rectangular matrices:

  • The number of columns MUST match for each row, and vice-versa.

Finally, create arrays by combining previous variables!

This is called

CONCATENATING.

You can use previousmatrices to actually create new matrices.

This example transposes the variable a.

You can combine any previous methods, AS LONG AS the matrix remains rectangular.

42


3 5 using the command window

3.5. Using the command window

  • Use semi-colons to create new rows.

  • ONLY rectangular matrices:

  • The number of columns MUST match for each row, and vice-versa.

When the array becomes too big, the numbers no longer display.

You can use previousmatrices to actually create new matrices.

This example transposes the variable a.

You can combine any previous methods, AS LONG AS the matrix remains rectangular.

43


Ex4 conversion table end

Ex4. Conversion table, end!

% create celsius data points

celsius = 0:10:100; %0 to 100 by +10 increment

% calculate Fahrenheit

fahrenheit = celsius * 9/5 + 32;

% show table

[celsius’ fahrenheit’]


Ex6 sling thermometer

Ex6. Sling Thermometer

A method to read relative-humidity.


Ex7 images

Ex7. Images

Each row and column have a pixel value stored.


Wrapping up

Wrapping Up

  • Know by heart each way to create a row/column vector.

    • Hard-code each data point

      • Separate each data-point by comma or spaces for row vector

      • Separate each data-point by semicolon for a column vector

    • Shortcut when there is an addition pattern (colon)

    • Shortcut when a specific amount of data points are linearly spaced (linspace())


Wrapping up1

Wrapping Up

  • Know by heart each way to create a row/column vector.

    • Hard-code each data point

      • Separate each data-point by comma or spaces for row vector

      • Separate each data-point by semicolon for a column vector

    • Shortcut when there is an addition pattern (colon)

    • Shortcut when a specific amount of data points are linearly spaced (linspace())

  • Realize that creating matrices only requires combining all of the above, while respecting one crucial rule:

    • A matrix must remain rectangular at all times (i.e. no holes within the matrix)


Wrapping up2

Wrapping Up

  • Know by heart each way to create a row/column vector.

    • Hard-code each data point

      • Separate each data-point by comma or spaces for row vector

      • Separate each data-point by semicolon for a column vector

    • Shortcut when there is an addition pattern (colon)

    • Shortcut when a specific amount of data points are linearly spaced (linspace())

  • Realize that creating matrices only requires combining all of the above, while respecting one crucial rule:

    • A matrix must remain rectangular at all times (i.e. no holes within the matrix)

  • What does the apostrophe do?


Wrapping up3

Wrapping Up

  • Know by heart each way to create a row/column vector.

    • Hard-code each data point

      • Separate each data-point by comma or spaces for row vector

      • Separate each data-point by semicolon for a column vector

    • Shortcut when there is an addition pattern (colon)

    • Shortcut when a specific amount of data points are linearly spaced (linspace())

  • Realize that creating matrices only requires combining all of the above, while respecting one crucial rule:

    • A matrix must remain rectangular at all times (i.e. no holes within the matrix)

  • What does the apostrophe do?

  • Restate some examples of vector operations and matrix operations.


  • Login