【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
2.1.17.8.19 ocmath_us_stretch
Contents
Description
Stretch (or squeeze) data in a vector or a matrix of type double by scaling all the data within a given range.
Syntax
int ocmath_us_stretch( USHORT * pX, uint nSize, USHORT low1, USHORT high1, USHORT low2, USHORT high2 )
Parameters
- pX
- [modify] pointer to vector or matrix data
- nSize
- [input] size of vector, or nRows * nCols of a matrix
- low1
- [input] low value of the range of data to be scaled, for data < low1, they will become low2
- high1
- [input] high value of the range of data to be scaled, for data > high1, they will become high2
- low2
- [input] new low value of the data after the scaling
- high2
- [input] new high value of the data after the scaling
Return
FALSE if low1 == high1 which renders the operation impossible, otherwise returns TURE
Examples
EX1
// Create two identical matrices, use ocmath_d_stretch on one and plot both void ocmath_us_stretch_Ex1() { MatrixPage mp1; mp1.Create("origin", CREATE_VISIBLE); MatrixObject mo1(mp1.GetName(), 0); LT_execute("matrix -v 50-abs(16.5-i)-abs(16.5-j);"); MatrixPage mp2; mp2.Create("origin", CREATE_VISIBLE); MatrixObject mo2(mp2.GetName(), 0); LT_execute("matrix -v 50-abs(16.5-i)-abs(16.5-j);"); matrix mat; mat = mo1.GetDataObject(); int nRows, nCols; mat.GetSourceDim(nRows, nCols); // Values in the range 25 to 35 will be squeezed into a range from 0 to 10 // Values less than 25 become 0 and values greater than 35 become 10 ocmath_d_stretch(mat, nRows * nCols, 25, 35, 0, 10); GraphPage gp1; gp1.Create("cmap", CREATE_VISIBLE); GraphLayer gl1(gp1.GetName()); gl1.AddPlot(mo1, IDM_PLOT_SURFACE_COLORMAP); gl1.Rescale(); GraphPage gp2; gp2.Create("cmap", CREATE_VISIBLE); GraphLayer gl2(gp2.GetName()); gl2.AddPlot(mo2, IDM_PLOT_SURFACE_COLORMAP); gl2.Rescale(); }
Remark
Stretch (or squeeze) data in a vector or a matrix of type double by scaling all the data within a given range.
Values outside the given range are truncated.
Data types supported
double: ocmath_d_stretch
float: ocmath_f_stretch
unsigned short: ocmath_us_stretch
See Also
Header to Include
origin.h