- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++实现的归一化和反归一化处理函数
///////////////////////////////////////////////////////////////////////////////////////////////////
void __fastcall TModelManage::TranslateData(TModel* pModel,int Id,double *Value,int Flag)
{
//转换函数类型
int iChgFunc;
//节点对应的最大、最小值
double dMaxValue,dMinValue;
//取节点配置信息:转换函数类型,最大值,最小值
GetNodeConfValue(pModel->ConfTable,Id,&iChgFunc,&dMaxValue,&dMinValue);
if(Flag==1) //仿真时不取边界值,以避免仿真结果误差太大
{
if(*Value<=(dMinValue*1.005))
*Value=dMinValue*1.005;
if(*Value>=(dMaxValue*0.995))
*Value=dMaxValue*0.995;
}
else
{
if(*Value<=dMinValue)
*Value=dMinValue;
if(*Value>=dMaxValue)
*Value=dMaxValue;
}
//线性函数转换,转换在0-1之内
if(iChgFunc==0)
{
*Value=(*Value-dMinValue)/(dMaxValue-dMinValue);
}
//用atan函数转换在0-1之内
else if(iChgFunc==2)
{
*Value=atan(*Value)*2/M_PI;
}
//用log函数转换
else if(iChgFunc==1)
{
if(*Value<=1)
*Value=0;
else
*Value=log10(*Value); //用log10函数转换(缩小)
if(dMaxValue>1)
*Value=*Value/log10(dMaxValue); //转换为0-1之间
}
//不用转换
else if(iChgFunc==3)
{
*Value=*Value;
}
*Value=((0.5-0.001)/0.5)*(*Value)+0.001; //用线性函数把数据转换为0.001-0.0.9995之间
}
///////////////////////////////////////////////////////////////////////////////////////////////////
//反数据转换,主要是针对仿真结果要反算回实际预测的值
void __fastcall TModelManage::UnTranslateData(TModel* pModel,int Id,double *Value,int Flag)
{
//转换函数类型
int iChgFunc;
//节点对应的最大、最小值
double dMaxValue,dMinValue;
//取节点配置信息:转换函数类型,最大值,最小值
GetNodeConfValue(pModel->ConfTable,Id,&iChgFunc,&dMaxValue,&dMinValue);
*Value=(((*Value)-0.001)*0.5)/(0.5-0.001); //对应于---->用线性函数把数据转换为0.001-0.0.9995之间
//反线性函数转换
if(iChgFunc==0)
{
*Value=(*Value)*(dMaxValue-dMinValue)+dMinValue;
}
//用tan函数转换
else if(iChgFunc==2)
{
*Value=tan(*Value)*M_PI/2;
}
//用反log函数转换
else if(iChgFunc==1)
{
*Value=pow(10,(*Value)); //用反对数方式函数转换(放大)
}
else if(iChgFunc==3)
{
您可能关注的文档
- 《广西合山市东矿井田采矿权评估报告书》.doc
- (区域)空间外溢与区域经济增长趋同——基于长江三角洲的案例分析.doc
- 云南省非煤地下矿山安全生产现状调查表.doc
- 《2012北京市建设工程预算定额培训教材》修订表.doc
- 《工程施工承包商考核管理办法》.doc
- 《模拟电子技术》试题(A卷).doc
- 《企业财产损失所得税前扣除管理办法》执行指引.doc
- 《轻型钢结构住宅技术规程》JGJ209介绍.doc
- 《水利工程前期工作成果质量评价管理办法》实施细则.doc
- 《应用电子技术应用专业调研分析报告》之调研的目标.doc
- 2021-2022年山西省忻州市社会工作者职业资格社会工作综合能力(初级)模拟考试(含答案).docx
- 2021-2022年广东省汕尾市社会工作者职业资格社会工作综合能力(初级).docx
- 山西省临汾市社会工作者职业资格社会工作综合能力(初级)专项练习(含答案).docx
- 2022-2023年安徽省宿州市社会工作者职业资格社会工作综合能力(初级)预测试题(含答案).docx
- 2021-2022年河北省唐山市社会工作者职业资格社会工作综合能力(初级)专项练习(含答案).docx
- 2022-2023年安徽省黄山市社会工作者职业资格社会工作综合能力(初级)模拟考试(含答案).docx
- 江西省新余市社会工作者职业资格社会工作综合能力(初级)预测试题(含答案).docx
- 山西省长治市社会工作者职业资格社会工作综合能力(初级)模拟考试(含答案).docx
- 2021-2022年湖北省黄石市注册会计财务成本管理.docx
- 2021-2022年广东省湛江市社会工作者职业资格社会工作综合能力(初级)知识点汇总(含答案).docx
文档评论(0)