XYRangeComplex::SetData
SetData
Description
Syntax
BOOL SetData( vector<complex> * pvY, vector * pvX, int nIndex = 0, DWORD dwDRSOpts = DRS_SET_COL_DESIGNATIONS )
BOOL SetData( vector * pvYReal, vector * pvYImag, vector * pvX, int nIndex = 0, DWORD dwDRSOpts = DRS_SET_COL_DESIGNATIONS )
Parameters
- pvY
- [input]Dependent data
- pvX
- [input]Independent data
- nIndex
- [input]sub range index
- dwDRSOpts
- [input]the rules for Setting data from DRS_enumeration.
- pvYReal
- [input]Real part of dependent data
- pvYImag
- [input]Image part of dependent data
- pvX
- [input]Independent data
- nIndex
- [input]sub range index
- dwDRSOpts
- [input]the rules for Setting data from DRS_enumeration.
Return
TRUE if success, FALSE if fail.
Examples
EX1
// The function first creates a worksheet for output, adds
// columns as necessary according to the total number of desired
// data (nNumData), and initializes the output XYRangeComplex object.
// Then it generates some complex data and puts them into the XYRangeComplex
// using XYRangeComplex::SetData().
void test_XYRangeComplex_SetData(int nNumData = 1)
{
Worksheet wksOut;
wksOut.Create();
// Make sure the worksheet has 2 * nNumData columns (X, Ycomplex for each data):
while ( wksOut.Columns.Count() < 2 * nNumData )
wksOut.AddCol();
/////////////////
// Initialize XYRange for setting the data into:
XYRangeComplex dr;
for (int idata = 0; idata < nNumData; idata++)
{
dr.Add("X", wksOut, 0, 2 * idata, -1, 2 * idata);
// Set the destination column for complex:
Column colObj = wksOut.Columns(2 * idata + 1);
colObj.SetFormat(OKCOLTYPE_NUMERIC);
colObj.SetInternalData(FSI_COMPLEX);
dr.Add("Y", wksOut, 0, 2 * idata + 1, -1, 2 * idata + 1);
dr.Add("S", NULL);
}
// Generate some data and set it into the XYRange:
int nNumRows = 5;
for (idata = 0; idata < nNumData; idata++)
{
vector<complex> vc;
vector vx;
vc.SetSize(nNumRows);
vx.SetSize(nNumRows);
for (int row = 0; row < nNumRows; row++)
{
double rX = (idata + 1) * (row + 1);
double rReal = pow(10, idata) + (row + 1);
double rImag = 2 * pow(10, idata) + (row + 1) * (row + 1);
complex cc(rReal, rImag);
vc[row] = cc;
vx[row] = rX;
}
if ( !dr.SetData(&vc, &vx, idata) )
{
out_str("Failed to set data.");
}
}
}
EX2
// The function first creates a worksheet for output, adds
// columns as necessary according to the total number of desired
// data (nNumData), and initializes the output XYRangeComplex object.
// Then it generates some complex data and puts them into the XYRangeComplex
// using XYRangeComplex::SetData().
void test_XYRange_SetComplexData_2(int nNumData = 1)
{
Worksheet wksOut;
wksOut.Create();
// Make sure the worksheet has 2 * nNumData columns (X, Ycomplex for each data):
while( wksOut.Columns.Count() < 2 * nNumData )
wksOut.AddCol();
/////////////////
// Initialize XYRange for setting the data into:
XYRangeComplex dr;
for( int idata = 0; idata < nNumData; idata++ )
{
dr.Add("X", wksOut, 0, 2 * idata, -1, 2 * idata);
// Set the destination column for complex:
Column colObj = wksOut.Columns(2 * idata + 1);
colObj.SetFormat(OKCOLTYPE_NUMERIC);
colObj.SetInternalData(FSI_COMPLEX);
dr.Add("Y", wksOut, 0, 2 * idata + 1, -1, 2 * idata + 1);
dr.Add("S", NULL);
}
// Generate some data and set it into the XYRange:
int nNumRows = 5;
for (idata = 0; idata < nNumData; idata++)
{
vector vReal;
vector vImag;
vector vx;
vReal.SetSize(nNumRows);
vImag.SetSize(nNumRows);
vx.SetSize(nNumRows);
for (int row = 0; row < nNumRows; row++)
{
double rX = (idata + 1) * (row + 1);
double rReal = pow(10, idata) + (row + 1);
double rImag = 2 * pow(10, idata) + (row + 1) * (row + 1);
vReal[row] = rReal;
vImag[row] = rImag;
vx[row] = rX;
}
if ( !dr.SetData(&vReal, &vImag, &vx, idata) )
{
out_str("Failed to set data.");
}
}
}
Remark
See Also
XYRangeComplex::GetData, DataRange::GetData, DataRange::SetData
header to Include
origin.h
|