Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
Fitting piecewise functions with JMP's Nonlinear platform

This is the first of a series of blog posts on how to fit piecewise continuous functions to data sets. I'll begin each post with links to all of the other accompanying posts. These series covers:

So let's get started!


Recently I was asked if JMP could do segmented analyses, i.e., where several different types of curves were parametrically fit to different regions of a data set. This involves not only finding the proper parameters for each of the fitted segments but also adjusting the break point locations along the X axis. I can envision ways in to do this in JSL, but I'd like to use the Nonlinear point-and-click feature in JMP rather than writing and debugging code. How can we do that?

A test problem

The figure below shows some sample data.

Figure 1:  Sample Data SetFigure 1: Sample Data Set


This type of data might result from any of several types of data. Your data might look like this, or it might look entirely different. The point is that we might desire to build a model out of several different polynomials that are each valid for a given region of the data.

For the purposes of this blog series, let's assume that these data come from a tensile testing machine. In that case, X might be a tensile force applied to a test specimen, and Y is a strain (or deflection, or stretch) of the test specimen. We might be interested in several features of this data, such as:

  • The initial measured Y (i.e. deflection) that the instrument reads. This might represent a measurement offset that needs to be corrected. 
  • The slope of the linear portion of the curve (representing the specimen's Elastic Modulus, for example.) 
  • The amount of force required to begin yielding the test specimen (i.e., where the straight line begins to bend, signifying the yield strength of the part.) 
  • The distance that the specimen stretches over its elastic range.

For this example, we might decide to divide the data into five zones, shown in Figure 2 below:

Figure 2Figure 2


How would you go about doing this? Join me next week for an approach using JMP’s Nonlinear solver platform!

Last Modified: Dec 19, 2023 3:17 PM