У меня есть некоторые входы, скажем, х1, х2, х3. Я должен умножить каждый вход с некоторым весом и добавить их. Как альфа * х1 + бета * х2 + гамма * х3.
Диапазон значений x1, x2, x3 составляет от 0 до 1.
Диапазон веса также от 0 до 1.
Я хочу, чтобы какой-то алгоритм придавал больший вес более высоким значениям и меньший вес - более низким значениям.
Например, если x1 имеет более высокое значение среди трех, тогда 60-процентный возраст может быть присвоен x1.
x2 имеет второе по величине значение 30% и 20% до последнего значения, составляющее 100%.
То, что я пробовал до сих пор, дано ниже, но значения являются статическими, я даю весу 0,6, наибольшему значению - 0,3 и 0,2 соответственно. Есть ли способ динамически определять вес в соответствии со значением ввода?
if (x1>x2 and x1>x3 ) {
if (x2>x3) {
sum= 0.6*x1 + 0.3*x2 + 0.2*x3;
}
if (x3>x2) {
sum= 0.6*x1 + 0.2*x2 + 0.3*x3;
}
}
if (x2>x3 and x2>x1 ) {
if (x1>x3) {
sum= 0.3*x1 + 0.6*x2 + 0.2*x3;
}
if (x3>x1) {
sum= 0.2*x1 + 0.6*x2 + 0.3*x3;
}
}
if (x3>x2 and x3>x1 ) {
if (x2>x1) {
sum= 0.2*x1 + 0.3*x2 + 0.6*x3;
}
if (x1>x2) {
sum= 0.3*x1 + 0.2*x2 + 0.6*x3;
}
}