Megn 536 computational biomechanics matlab getting started
This presentation is the property of its rightful owner.
Sponsored Links
1 / 36

MEGN 536 – Computational Biomechanics MATLAB: Getting Started PowerPoint PPT Presentation


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

MEGN 536 – Computational Biomechanics MATLAB: Getting Started. Prof. Anthony J. Petrella Computational Biomechanics Group. MATLAB Window. variables in workspace and their values. Current directory contents. Workspace tab (active here). Command line. History. MATLAB Help.

Download Presentation

MEGN 536 – Computational Biomechanics MATLAB: Getting Started

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


Megn 536 computational biomechanics matlab getting started

MEGN 536 – Computational BiomechanicsMATLAB: Getting Started

Prof. Anthony J. Petrella

Computational Biomechanics Group


Matlab window

MATLAB Window

variables in workspace

and their values

Current directory contents

Workspace tab

(active here)

Command line

History


Matlab help

MATLAB Help

  • To obtain help with any known MATLAB command just type…

    >> help command_name

  • To search the help files just select MATLAB Help from the top level menu, hit the F1 key, or type…

    >> doc


Scalar arithmetic operations

Scalar Arithmetic Operations

Symbol Operation MATLAB form

^exponentiation:aba^b

*multiplication:aba*b

/right division:a/b a/b

\left division:b/a a\b

+addition:a + ba + b

-subtraction:a - ba - b


Entering commands and expressions

Entering Commands and Expressions

  • MATLAB retains your previous keystrokes.

  • Use the up-arrow key to scroll back back through the commands.

  • Press the key once to see the previous entry, and so on.

  • Use the down-arrow key to scroll forward. Edit a line using the left- and right-arrow keys the Backspace key, and the Delete key.

  • Press the Enter key to execute the command.


Special variables and constants

Special Variables and Constants

Command Description

ansTemporary variable containing the most recent answer.

epsSpecifies the accuracy of floating point precision.

i,jThe imaginary unit Ö-1.

InfInfinity.

NaNIndicates an undefined numerical result.

piThe number p.


Order of precedence

Order of Precedence

Precedence Operation

FirstParentheses, evaluated starting with the innermost pair.

SecondExponentiation, evaluated from left to right.

ThirdMultiplication and division with equal precedence, evaluated from left to right.

FourthAddition and subtraction with equal precedence, evaluated from left to right.


Examples of precedence

Examples of Precedence

>> 8 + 3*5

ans =

23

>> 8 + (3*5)

ans =

23

>>(8 + 3)*5

ans =

55

>>4^2­12­ 8/4*2

ans =

0

>>4^2­12­ 8/(4*2)

ans =

3


Examples of precedence continued

Examples of Precedence (continued)

>> 3*4^2 + 5

ans =

53

>>(3*4)^2 + 5

ans =

149

>>27^(1/3) + 32^(0.2)

ans =

5

>>27^(1/3) + 32^0.2

ans =

5

>>27^1/3 + 32^0.2

ans =

11


Commands for managing the work session

Commands for managing the work session

CommandDescription

clcClears the Command window.

clearRemoves all variables from memory.

clear v1 v2Removes the variables v1 and v2 from memory.

exist(‘var’)Determines if a file or variable exists having the name ‘var’.

quitStops MATLAB.


Commands for managing the work session continued

Commands for managing the work session (continued)

CommandDescription

whoLists the variables currently in memory.

whosLists the current variables and sizes, and indicates if they have imaginary parts.

:Colon; generates an array having regularly spaced elements.

,Comma; separates elements of an array.

;Semicolon; suppresses screen printing; also denotes a new row in an array.

...Ellipsis; continues a line.


Practice

Practice…

  • Find the circumference and area of a circleof radius = 2.5 mm

  • Find the surface area and volume of a sphereof radius 17.2 mm

  • Use help to learn the difference between the built-in MATLAB functions cos()and cosd()


Arrays

Arrays…


How to create arrays

How to Create Arrays

  • You can use the colon (:) operator together with the comma and semicolon to create arrays

  • Colon – create a sequence of numbers in a row

  • Comma – separate listed elements of a single row, can also use an empty space

  • Semicolon – separates rows

>> p = [1:3;4,5,6;7 8 9]

p =

1 2 3

4 5 6

7 8 9

>> r = [5:5:35;35:-5:5]

r =

5 10 15 20 25 30 35

35 30 25 20 15 10 5


Array functions

Array Functions

  • You can find the size of an array with the size() function

  • You can find the length of a vector with the length() function

  • Read the help entries for each of these functions

    >>p = [5:5:35;35:-5:5];

    >>size(p)

    ans =

    27

    >>r = [4,5 6];

    >>length(r)

    ans =

    3


Concatenation

Concatenation

  • You can easily create an array by concatenating two or more existing arrays

    >> p = ones(3,1)

    p =

    1

    1

    1

    >> q = zeros(3,1)

    q =

    0

    0

    0

>> s = [p q q p]

s =

1 0 0 1

1 0 0 1

1 0 0 1


Array index

Array Index

  • You may refer to a single element of an array by using the array index corresponding to the row and column where the number is located in the array

    >>w = [5:5:35;35:-5:5]

    ans =

    5 10 15 20 25 30 35

    35 30 25 20 15 10 5

    >>w(2,3)

    ans =

    25

  • If the array is a vector, you need only specify the column number since there is only a single row and the row number is assumed to be 1

    >>u = [6 7 8 9 0];

    >>u(2)

    ans =

    7


Array addressing

Array Addressing

  • You can refer to ranges of elements in an array by using the standard index format

    elements = array(rows,columns)

  • Example

    >>w = [2:2:10;10:-2:2];

    w =

    2 4 6 8 10

    10 8 6 4 2

    >>w(1:2,3:4)

    ans =

    6 8

    6 4

    try this >>w(:,5)


Array addressing1

Array Addressing

  • Other examples of how to address an arbitrary selection of rows & columns from an array

    >> r = [5:5:35;35:-5:5]

    r =

    5 10 15 20 25 30 35

    35 30 25 20 15 10 5

    >> r(:,2:5)

    ans =

    10 15 20 25

    30 25 20 15

    >> r(:,[2,5])

    ans =

    10 25

    30 15


Example linear indexing

Example – Linear Indexing

  • What happens when a single index is used to address elements of a matrix?

    >> r

    r =

    5 10 15 20 25 30 35

    35 30 25 20 15 10 5

    >> r(2)

    ans =

    35

    >> r(5)

    ans =

    15

    >> r([2 7 13])

    ans =

    35 20 35


Assignment

Assignment

  • You can store the results of a calculation in a specified location in an array

    for i = 1:10,

    s(i,1) = sqrt(5*i);

    end

    >> s =

    2.2361

    3.1623

    3.8730

    4.4721

    5.0000

    5.4772

    5.9161

    6.3246

    6.7082

    7.0711

Note: the semicolon causesscreen output to be suppressed!

Only after the loop completes is the output specifically requested by typing the variable name


More advanced topics scripts user defined functions conditionals loops files

More Advanced Topics: Scripts, User-Defined Functions, Conditionals, Loops, Files


You can execute commands in matlab in two ways

You can execute commands in MATLAB in two ways:

  • In the interactive mode, in which all commands are entered directly in the Command Window, or…

  • By running a MATLAB commands stored in a script file. This type of file contains MATLAB commands, so running it is equivalent to typing all the commands—one at a time—at the Command Window prompt. You can run the file by typing its name at the command line.


What happens when you type func name

What happens when you type func_name()

  • MATLAB first checks to see if func_name() is a variable and if so, displays its value.

  • If not, MATLAB then checks to see if func_name() is one of its own commands, and executes it if it is.

  • If not, MATLAB then looks in the current directory for a file named func_name.m and executes func_name() if it finds it.

  • If not, MATLAB then searches the directories in its search path, in order, for func_name.m and then executes it if found.


The matlab script editor debugger

The MATLAB Script Editor / Debugger

save & execute

comments

MATLAB

commands


Keep in mind when using script files

Keep in mind when using script files:

  • The name of a script file must begin with a letter, and may include digits and the underscore character, up to 31 characters

  • Do not give a script file the same name as a variable

  • Do not give a script file the same name as a MATLAB command or function; you can check to see if a command, function or file name already exists by using the exist() command


Matlab user defined functions

MATLAB User-Defined Functions

function [output variables] =

function_name (input variables)

  • Note: [output variables]is NOT an array

  • You may use multiple output variables separated by commas, but each will be output individually

  • Example:

Function Definition

function [p,q]=two_out(x,y)

p = 17*x^2/y;

q = y*x/17*x;

Working Session

>> [s,t] = two_out(3,5)

s =

30.6000

t =

2.6471


Matlab plotting

MATLAB Plotting

>> x = [0:pi/10:2*pi];

>> y = sin(x);

>> plot(x,y,'g.-','MarkerSize',15,'LineWidth',2)

>> title('Example Plot of y = sin(x)');

>> xlabel('x (units)');

>> ylabel('y = sin(x)')


Plot layout with subplot

Plot Layout with subplot()

>> x = [0:pi/10:2*pi];

>> y1 = sin(x); y2 = cos(x);

>> subplot(2,1,1)

>> plot(x,y1,'g.-','MarkerSize',15,'LineWidth',2)

>> xlabel('x (units)');

>> ylabel('y_1 = sin(x)')

>> subplot(2,1,2)

>> plot(x,y2,'g.-','MarkerSize',15,'LineWidth',2)

>> xlabel('x (units)');

>> ylabel('y_2 = cos(x)')


Conditional statements

Conditional Statements

if x < 3

color = ‘r’;

elseif x < 7

color = ‘b’;

elseif x < 11

color = ‘c’;

else

color = ‘m’;

end

if x < 3

color = ‘r’;

else

if x < 7

color = ‘b’;

else

if x < 11

color = ‘c’;

else

color = ‘m’;

end

end

end


For loops

for Loops

  • Standard structure…

    for loop variable = min:inc:max

    statements

    end

  • Basic example…

    for k = 5:10:35

    x = k^2

    end

Note: if inc is not specified,it defaults to unity

k = 5, 15, 25, 35

x = 25, 225, 625, 1225


Importing data from a text file

Importing Data from a Text File

  • Using the load command…

    >> load subject_data.dat;

    >> s = load(‘subject_data.dat’);

Reads ASCII data in columns

Creates array named subject_data.dat

Reads ASCII data in columns

Creates array named s


Importing data from a text file cont

Importing Data from a Text File (cont.)

  • Using the dlmread command…

    >> RESULT = DLMREAD(FILENAME,DELIMITER,R,C);

Reads delimited ASCII data starting at row R and column C

Creates array named RESULT


Importing data from an excel file

Importing Data from an Excel File

[num,txt] = xlsread(‘excel_filename.xls’)

  • numeric data put into num variable

  • text data put into txt variable


Saving data to ascii file

Saving Data to ASCII File

  • Using the save command…

    >> save filenamevar1 var2… –ASCII –tabs;

    For example…

    >> B = [2 6; 5 7; 8 4];

    >> save array_B.dat B –ASCII –tabs;

Saves array B in the ASCII file array_B.dat

Columns of B become tab-delimited columns of array_B.dat


Saving data to binary file

Saving Data to Binary File

  • Using the save command…

    >> save filenamevar1 var2…

    For example…

    >> B = [2 6; 5 7; 8 4];

    >> save array_B B

Saves array B in the binary file array_B.mat

Advantage: binary files load faster than ascii


  • Login