当前位置: 首页 > 编程语言 > C#

Howtonormalizealistofintvalues分享

时间:2023-04-10 17:03:18 C#

Howtonormalizealistofintvalues我有一个int值列表:Listhistogram;我如何归一化所有值,使列表中的最大值始终为100?但是,迭代,找到最大值(称为MAXVAL),然后再次迭代并将列表中的每个值乘以(100/MAXVAL)。varratio=100.0/list.Max();varnormalizedList=list.Select(i=>i*ratio).ToList();如果你有一个严格正数的列表,那么Dav的答案对你来说很好。如果列表可以是任何数字,那么您还需要归一化到下限。假设上限为100,下限为0,你会想要这样的东西......varmax=list.Max();varmin=list.Min();var范围=(双)(最大-最小);varnormalized=list.Select(i=>100*(i-min)/range).ToList();处理min==max的情况留给读者作为练习......对一组可能包含负值的数字进行归一化,并定义归一化尺度范围:以上是C#学习教程的全部内容:如何规范化int值列表。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——Listlist=newList{-5,-4,-3,-2,-1,0,1,2,3,4,5};双刻度Min=-1;//所需的标准化最小值doublescaleMax=1;//标准化的最大期望值doublevalueMax=list.Max();双valueMin=list.Min();双valueRange=valueMax-valueMin;双scaleRange=scaleMax-scaleMin;IEnumerablenormalized=list.Select(i=>((scaleRange*(i-valueMin))/valueRange)+scaleMin);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: