You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Step 6: Plot σx vs. ri , Take 4: Functions

Let's create a function to calculate the bending stress that outputs σx given (M, ri, ro ). Functions are really useful to break down your code into modules.

Let's first pick MATLAB's brain on how to create functions in MATLAB. Bring up the following page in the Help navigator:

Help > Contents > MATLAB > Programming > M-File Programming > M-File Scripts and Functions > M-File Functions.

This page has a simple example: a function called average that calculates the average of the elements in a vector. Take a minute to peruse this example. MATLAB has extensive documentation on the use of functions; however, one has to poke around a bit before finding the most useful information. I personally go for the examples first.

The correct syntax for creating a function is:

function return_value = function_name(parameter_1, parameter_2,...)

%function description - MUST  be in a comment

code...

return_value = value

A few noteworthy points to ponder:

  1.  {{return_value }}is the only data that gets passed back to the main code.
  2. You do not need to have a function description but it is good programming practice to add a comment on each function that describes what the function does. Also, if you add a description of the function, MATLAB will be able to index it and return a description of your function if you type help function_name in the Command Window.
  3. Once you have created a function you MUST name the .m file with the same name the function has. Otherwise MATLAB will not be able to access your function when you call it.

We will start by creating the bending stress function that outputs σx given (M, ri, ro ). Create a new page in the editor. Type in the following statements into the new page (yeah, yeah, yeah ... go ahead and copy-and-paste):


Save this as bending_stress.m, which is the name that MATLAB automatically assigns the file. Notice is the same name as the function name.  Make a copy of beam4.m using Save As ...  and call the new file beam5.m

In this file comment out the lines below


 

Now we will need to call the function bending_press we just created to obtain the value for σx that is needed to create the plot. Do this by typing:


Run  the file beam4.m and check the output  You should get the same plot you got in the file beam3.m

Before we part, let's remind ourselves of some important programming guidelines that we have followed in this tour:

  • Develop code incrementally, testing obsessively at each stage. Develop a plan for how you are going to build your code before you sit at the computer.
  • Dig through the MATLAB help diligently to figure out how to use specific functions etc. Usually, the examples are the best place to start. This is a better strategy than desperately hunting for the TA every time you need help with your code.
  • Comment your program liberally.
  • No labels