全体で100%のものがあるとします。
1%のときは8をかけて8%
6%のときは4をかけて24%
50%のときは1.5をかけて75%
100%のときは1をかけて100%
となるような感じで「a%のときは x をかけてy%にする」という式を作ってほしいです。
「a%のときは bx をかけてy%にする」となるのかもしれません。
画像のように反比例のグラフになるかと思います。
とりあえず、例示された数値のように計算する例です。
実装方法も示されていませんでしたので、とりあえず HTML での例です。
<html>
<head>
<script language="JavaScript">
function calc() {
var inNum = document.myForm.indata.value;
var res;
if ( inNum >= 100 ) {
res = inNum;
} else if ( inNum >=50 ) {
res = inNum * 1.5;
} else if ( inNum >=4 ) {
res = inNum * 6;
} else {
res = inNum * 8;
}
document.myForm.anser.value = res;
}
</script>
<title>myFunction</title>
</head>
<body>
<form name="myForm">
数値入力してください <br>
<input type="text" name="indata">%
⇒ <input type="text" name="anser">%<br>
<input type="button" value="計算" onclick="calc();">
</form>
</body>
</html>
仕様が異なる場合は、コメントください。
基本的には赤い部分の変更だけで対応可能なはずです。
コメントにて対応いたします。
1.必ずこの4条件を満たさなければいけないのか。
2.式はどの程度複雑でいいのか。
辺りが良く解らないんで、ちゃんとした回答になってるか今ひとつ自信がありませんが……
その4条件を満たすのは、単純な反比例のグラフなどでは無理だと思います。
単純な式で、比較的条件に近いものとしては、y = √a × 10 とかかな、と思うんですが。
1%ならば10%、6%ならば約24.5%、50%ならば約70.7%、100%ならば100%になります。
ありがとうございます。示した条件そのものが不明確で検討させていただきます。申し訳ありません。
a のときは (10×√a)/a をかけて 10×√a
でどうでしょうか。
a=1 のとき 10
a=6 のとき 約24.5
a=50 のとき 約70.7
a=100 のとき 100となります
ありがとうございます。示した条件そのものが不明確でこちらの言いたかったことが的確に伝わっていないと感じました。再度検討させていただきます。申し訳ありません。
統計学の検定を使えばきちんと計算できます。
仮りに全商品が同じ売行きだと仮定します。A1が売れる確率は仕入れた割合と同じa%。
何個か売れて在庫がN個になったとすると、統計理論から商品A1の割合はだいたい a±2*ルート(a*(100-a)/N) の範囲にあるはずで、この範囲をはみ出した場合は偏りがあると分かります。
したがって式は です。在庫数によって変わります。
です。この割合を越えると偏りがあると言えます。
ありがとうございます。示した条件そのものが不明確でこちらの言いたかったことが的確に伝わっていないと感じました。再度検討させていただきます。申し訳ありません。
プログラムを書いて計算したところ,以下のような式が出てきました.
-0.000148170809229096*a*a*a*a + 0.0236127120055562*a*a*a -0.958917639260811*a*a + 8.93545309799829*a
この式の値は
となり,四捨五入すればそれぞれ 8%,24%,75%,100%となります.
いかがでしょうか?
ありがとうございます。示した条件そのものが不明確でこちらの言いたかったことが的確に伝わっていないと感じました。再度検討させていただきます。申し訳ありません。
近似してみましたが、どうでしょうか。
x = 8.98223 * ((a + 0.029) ^ -0.337613) - 0.89721
a=100 のとき、y=ax=100.00011
a=50 のとき、y=ax=74.99964501
a=6 のとき、y=ax=24.00098056
a=1 のとき、y=ax=7.998745044
ありがとうございます。示した条件そのものが不明確でこちらの言いたかったことが的確に伝わっていないと感じました。再度検討させていただきます。申し訳ありません。
ありがとうございます。
私どもの考えている事よりももっと上の案です。
参考にさせていただきます。