CLsqFit:SetPtObs


The SetPtObs method alters the observed value of an existing sample point. The point must have been previously added to the sample using AddPt or AddPtWt.

Syntax

CLsqFit:SetPtObs( nIndex, nV )

CLsqFit:SetPtObs( nIndex, nV, nChannel )

bullet.gif    nIndex is the index of the point in the sample, beginning at index 1.

bullet.gif    nChannel is the optional channel to select for multi-channel data.

bullet.gif    nV is the new value to assign the point.

Remarks

If the point uses multi-channel data, then the nY argument may be a number or a string. In that case, to set all channels together, pass nY as a multi-channel string and ignore the nChannel parameter. To set one channel, pass a number for nY. If working with multi-channel data and you are targeting a particular channel, set the nChannel argument to the target channel.

The SetPtObs method uses the index of the target point. The index must either be known from the order that points were added to the sample, or determined by matching the target point's values using FindPt or a more complicated procedure such as using GetResid to identify the indices of points having high residuals from the fit. You also may fetch the weight currently assigned to a point using GetPtObs.

Example

The following example illustrates how to change the weight of an existing point. In this case, the target point's index is found by matching its values:

L = new_lsqfit()

-- create a CLsqFit object

L:SetNumCoefs( 2 )

-- set 2 coefficients to fit a line

L:AddPt( 3.5, 5.15 )

-- add a point for x = 3.5, y = 5.15, weight = 1

-- add more points to the fit

 

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 has index 1)

y = L:GetPtObs(n)

-- get the point's y value

L:SetPtObs( n, y + 0.05 )

-- add 0.05 to the point value

L:Fit()

-- get a new fit result using different weights

Related Topics

CLsqFit class, GetPtObs, AddPt, FindPt, GetObs


Mira Pro x64 Script User's Guide, Copyright Ⓒ 2023 Mirametrics, Inc. All Rights Reserved.