CLsqFit:SetPtX
The SetPtX method sets the value of the independent variable for an existing data point. If the point has more than 1 independent variable, you must either pass all values in a lua table or specify the target dimension.
CLsqFit:SetPtX( nIndex, nX, nDimension* ) CLsqFit:SetPtX( nIndex, tableX ) |
This method can set the value for 1 dimension or all dimension up to the dimension of the basis (that is, the number of independent variables being fit which has a maximum of 10). To change one specific dimension, or if the basis has only one dimension of independent variable, you can pass either the number nX or the table tableX . If targeting a particular dimension, specify the nDimension argument. To change the values for all dimensions, place the values into the table tableX, and ignore the nDimension argument. Passing a table of coordinates is consistent with the value returned by the GetPtX method.
The SetPtX method uses the index of the target point. The value of nIndex must either be known from the order that points were added to the sample, or by matching the target point's values using FindPt.
The following example illustrates how to change the x coordinate of an existing point. The target point's index is found by matching its values:
L = CLsqFit:new() |
-- create a CLsqFit object |
L:SetNumCoefs( 2 ) |
-- set 2 coefficients |
|
-- add a point for x = 3.5, y = 5.15, weight = 1 |
|
-- add more points |
L:Fit() |
-- Fit the line |
|
-- do something with the fit results |
n = L:FindPt( 3.5, 5.15 ) |
-- find the point (if we don't know it was index 1) |
|
-- coordinate(s) returned in table t |
|
-- add 0.1 to the first index of the table (x coordinate) |
|
-- send the table to replace the 1st coordinate value |
L:Fit() |
-- get a new fit result using the new value |