Skip to content Skip to navigation Skip to collection information

OpenStax-CNX

You are here: Home » Content » A Brief Introduction to Engineering Computation with MATLAB » Regression Analysis

Navigation

Table of Contents

Recently Viewed

This feature requires Javascript to be enabled.
 

Regression Analysis

Module by: Serhat Beyenir. E-mail the author

Summary: Basic curve fitting and linear regression.

RegressionAnalysis

What is Regression Analysis?

Suppose we calculate some variable of interest, y, as a function of some other variable x. We call y the dependent variable and x the independent variable. For example, consider the data set below, taken from a simple experiment involving a vehicle, its velocity versus time is tabulated. In this case, velocity is a function of time, thus velocity is the dependent variable and the time is the independent variable.

Table 1: Vehicle velocity versus time.
Time [s] Velocity [m/s]
0 20
10 39
20 67
30 89
40 111
50 134
60 164
70 180
80 200

In its simplest form regression analysis involves fitting the best straight line relationship to explain how the variation in a dependent variable, y, depends on the variation in an independent variable, x. In our example above, once the relationship (in this case a linear relationship) has been estimated we can produce a linear equation in the following form:

y=mx+n y m x n
(1)

And once an analytic equation such as the one above has been determined, dependent variables at intermediate independent values can be computed.

Performing Linear Regression

Regression analysis with MATLAB is easy. The MATLAB Basic Fitting GUI allows us to interactively to do "curve fitting" which is a method to arrive at the best "straight line" fit for linear equations or the best curve fit for a polynomial up to the tenth degree. The procedure to perform a curve fitting with MATLAB is as follows:

  1. Input the variables,
  2. Plot the data,
  3. Initialize the Basic Fitting GUI,
  4. Select the desired regression analysis parameters.

Example 1

Using the data set above, determine the relationship between velocity and time.

First, let us input the variables (Workspace > New variable) as shown in the following figures.

Figure 1: A new variable is created in the Workspace.
NewVariable

Figure 2: New variables are entered in the Variable Editor.
NewVariable

Second, we will plot the data by typing in plot(time,velocity) at the MATLAB prompt. The following plot is generated, select Tools > Basic Fitting:

Figure 3: A plot is generated in Figure 1. The Basic Fitting tool can be initialized from Tools > Basic Fitting.
NewVariable

In the "Basic Fitting" window, select "linear" and "Show equations". The best fitting linear line along with the corresponding equation are displayed on the plot:

Figure 4: Basic Fitting window is used to select the desired regression analysis parameters.
NewVariable

Now let us do another curve fitting and obtain an equation for the function. Using that equation, we can evaluate the function at a desired value with polyval.

Example 2

The following is a collection of data for an iron-constantan thermocouple (data available for download). 1

Table 2: Temperature [C] vs Voltage [mV]
Temperature [C] Voltage [mV]
50 2.6
100 6.7
150 8.8
200 11.2
300 17.0
400 22.5
500 26
600 32.5
700 37.7
800 41
900 48
1000 55.2
  1. Plot a graph with Temperature as the independent variable.
  2. Determine the equation of the relationship using the Basic Fitting tools.
  3. Estimate the Voltage that corresponds to a Temperature of 650 C and 1150 C.

We will input the variables first:

Temp=[50;100;150;200;300;400;500;600;700;800;900;1000]
Voltage=[2.6;6.7;8.8;11.2;17;22.5;36;32.5;37.7;41;48;55.2]

To plot the graph, type in:

plot(Temp,Voltage)

We can now use the Plot Tools and Basic Fitting settings and determine the equation:

Figure 5: Basic Fitting window is used to select the desired regression analysis parameters.
NewVariable

By clicking the right arrow twice at the bottom right corner on the Basic Fitting window, we can evaluate the function at a desired value. See the figure below which illustrates this process for the temperature value 1150 C.

Figure 6: Estimating the Voltage that corresponds to a Temperature of 1150 C.
Evalu

Now let us check our answer with a technique we learned earlier. As displayed on the plot, we have obtained the following equation: y=0.053x+1.4 y 0.053 x 1.4 This equation can be entered as polynomial and evaluated at 650 and 1150 as follows:

>> p=[0.053,1.4]

p =

    0.0530    1.4000

>> polyval(p,650)

ans =

   35.8500

>> polyval(p,1150)

ans =

   62.3500

Summary of Key Points

  1. Linear regression involves fitting the best straight line relationship to explain how the variation in a dependent variable, y, depends on the variation in an independent variable, x,
  2. Basic Fitting GUI allows us to interactively perform curve fitting,
  3. Some of the plot fits available are linear, quadratic and cubic functions,
  4. Basic Fitting GUI can evaluate functions at given points.

Footnotes

  1. Engineering Fundamentals and Problem Solving by Arvid R. Eide, Roland Jenison, Larry L. Northup, Steven K. Mikelson , McGraw-Hill Higher Education. © 2007 p.114

Collection Navigation

Content actions

Download:

Collection as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Module as:

PDF | More downloads ...

Add:

Collection to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

Module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks