B3spline: Difference between revisions
Jump to navigation
Jump to search
imported>Jeremy |
imported>Jeremy |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
:modl = b3spline(x,y,t,''options''); | :modl = b3spline(x,y,t,''options''); | ||
:pred = b3spline(x,modl,''options''); | :pred = b3spline(x,modl,''options''); | ||
:valid = b3spline(x,y,modl,''options''); | :valid = b3spline(x,y,modl,''options''); | ||
===Description=== | ===Description=== | ||
Curve fitting using second order splines where yi = f(xi) for i=1,...,M. | Curve fitting using second order splines where | ||
:<tt>yi = f(xi) for i=1,...,M.</tt> | |||
See (options.algorithm) for more information. | See (options.algorithm) for more information. | ||
==== | ====Inputs==== | ||
* '''x''' = | * '''x''' = ''M''x1 vector of independent variable values. | ||
* '''y''' = | * '''y''' = ''M''x1 vector of corresponding dependendent variable values. | ||
* '''t''' = defines the number of knots or knot positions. | * '''t''' = defines the number of knots or knot positions. | ||
** | ** = 1x1 scalar integer defining the number of uniformly distributed INTERIOR knots. There will be t+2 knots positioned at: <tt>modl.t = linspace(min(x),max(x),t+2)';</tt> | ||
** | ** = ''K''x1 vector defining manually placed knot positions, where: <tt>modl.t = sort(t);</tt> | ||
Note that knot positions need not be uniform, and that t(1) can be | Note that knot positions need not be uniform, and that t(1) can be <min(x) and t(K) can be >max(x). | ||
Note that knot positions must be such that there are at least 3 unique data points between each knot: <tt>t<sub>k</sub>, t<sub>k+1</sub> for k = 1,...,K.</tt> | |||
==== | ====Outputs==== | ||
* '''modl''' = standard model structure containing the spline model (See | * '''modl''' = standard model structure containing the spline model (See [[Standard Model Structure]]). | ||
* '''pred''' = structure array with predictions. | * '''pred''' = structure array with predictions. | ||
Line 41: | Line 41: | ||
===Options=== | ===Options=== | ||
''options'' = a structure array with the following fields: | |||
* '''display''': [ {'on'} | 'off' ] level of display to command window. | * '''display''': [ {'on'} | 'off' ] level of display to command window. | ||
* '''plots''': [ {'final'} | 'none' ] governs level of plotting. If 'final' and calibrating a model, the plot shows plot(xi,yi) and plot(xi,f(xi),'-') with knots. | * '''plots''': [ {'final'} | 'none' ] governs level of plotting. If 'final' and calibrating a model, the plot shows plot(xi,yi) and plot(xi,f(xi),'-') with knots. | ||
* '''algorithm''': [ {'b3spline'} | 'b3_0' | 'b3_01' ] fitting algorithm | * '''algorithm''': [ {'b3spline'} | 'b3_0' | 'b3_01' ] fitting algorithm | ||
** ''''b3_0'''': is the same as 'b3spline' but also constrains the ends to 0: f{1,2}(t1) = 0 and f{K-1,K}(tK) = 0. | ** ''''b3_0'''': is the same as 'b3spline' but also constrains the ends to 0: f{1,2}(t1) = 0 and f{K-1,K}(tK) = 0. | ||
** ''''b3_01'''' is 'b3_0' but also constrains the derivatives at the ends to 0: f'{1,2}(t1) = 0 and f'{K-1,K}(tK) = 0. | ** ''''b3_01':''' is 'b3_0' but also constrains the derivatives at the ends to 0: f'{1,2}(t1) = 0 and f'{K-1,K}(tK) = 0. | ||
** ''' 'b3spline | ** ''' 'b3spline''': fits quadradic polynomials f{k,k+1} to the data between knots tk, k=1,...,K, subject to: | ||
:: | ::f{k,k+1}(tk+1) = f{k+1,k+2}(tk+1) and | ||
:: | ::f'{k,k+1}(tk+1) = f'{k+1,k+2}(tk+1) for k=1,...,K-1. | ||
The default options can be retreived using: options = baseline('options');. | The default options can be retreived using: options = baseline('options');. | ||
===See Also=== | ===See Also=== |
Latest revision as of 14:41, 9 June 2014
Purpose
Univariate spline fit and prediction.
Synopsis
- modl = b3spline(x,y,t,options);
- pred = b3spline(x,modl,options);
- valid = b3spline(x,y,modl,options);
Description
Curve fitting using second order splines where
- yi = f(xi) for i=1,...,M.
See (options.algorithm) for more information.
Inputs
- x = Mx1 vector of independent variable values.
- y = Mx1 vector of corresponding dependendent variable values.
- t = defines the number of knots or knot positions.
- = 1x1 scalar integer defining the number of uniformly distributed INTERIOR knots. There will be t+2 knots positioned at: modl.t = linspace(min(x),max(x),t+2)';
- = Kx1 vector defining manually placed knot positions, where: modl.t = sort(t);
Note that knot positions need not be uniform, and that t(1) can be <min(x) and t(K) can be >max(x).
Note that knot positions must be such that there are at least 3 unique data points between each knot: tk, tk+1 for k = 1,...,K.
Outputs
- modl = standard model structure containing the spline model (See Standard Model Structure).
- pred = structure array with predictions.
- valid = structure array with predictions.
Options
options = a structure array with the following fields:
- display: [ {'on'} | 'off' ] level of display to command window.
- plots: [ {'final'} | 'none' ] governs level of plotting. If 'final' and calibrating a model, the plot shows plot(xi,yi) and plot(xi,f(xi),'-') with knots.
- algorithm: [ {'b3spline'} | 'b3_0' | 'b3_01' ] fitting algorithm
- 'b3_0': is the same as 'b3spline' but also constrains the ends to 0: f{1,2}(t1) = 0 and f{K-1,K}(tK) = 0.
- 'b3_01': is 'b3_0' but also constrains the derivatives at the ends to 0: f'{1,2}(t1) = 0 and f'{K-1,K}(tK) = 0.
- 'b3spline: fits quadradic polynomials f{k,k+1} to the data between knots tk, k=1,...,K, subject to:
- f{k,k+1}(tk+1) = f{k+1,k+2}(tk+1) and
- f'{k,k+1}(tk+1) = f'{k+1,k+2}(tk+1) for k=1,...,K-1.
The default options can be retreived using: options = baseline('options');.