想起了我当年的自己写得一个成绩变换程序,那也是用C来玩的,主要是练手。 [RL9>n8f
K'xV;r7Nt
都知道开方乘以10的变换,是一个不改变顺序的线性单调但非比例变换。 5s
XXM
O<I-
那年代卷子不存档,老师只要交上分数就行了。 W/ \g~=vo
(BM47D=v
如果学生考得不好,就变换一下,类似于标准化或正规化数值变换。 5N]"~w*
s*4dxnS_8
我用一个C程序,实现了把一个数值范围,如40-86的一组离散量,投射到60-96的范围中,这个范围是任意指定的。但不论如何变,变换后的点排列顺序不变。 HsWk*L `y
UBs4K*h|
只是不用开方乘以10,但是我不知道这种变换的数学名字叫啥,如果没有名字,我可以叫老伍变换了。 +_`7G^U?%
$:6!H:ty
i@q&5;%%
============== Y@v>FlqI{
设一个顺序排列的集合 S{V1,V2,...Vn}, 其中 Vi+1>=Vi (i>=1, i<=n-1) 将所有集合元素从V1~Vn变换为U1~Un #z(]xI)"
=%7
-ZH9
则 对任意元素, Ni=U1+ (Vi-V1)*(Un-U1)/(Vn-V1) Fcx&hj1gQ