プロが教えるわが家の防犯対策術!

ロジスティック曲線作成 vb6サンプルプログラム

お世話になります

vb6でロジスティック曲線の値を求めるサンプルソースを探しております。

サンプルを元に作成したい処理は以下となります

右上がり(右増分)の曲線

サンプルの計算式があれば、以下の様に改造を考えております

引数は
YMax : 縦軸の最大値
XMax : 横軸の最大値
T_Val : 閾値
Table(XMax) : 戻り値

言葉で説明すると
YMaxが100ならば、求める値の増分幅は0~100で
XMaxが200ならば、Table(200)に100が入る
T_Valが小さければ、比例に近く
T_Valが大きければ、曲線がきつくなる
T_Valの範囲はサンプルソース依存で構いません

A 回答 (1件)

ロジスティック曲線の性質上、



>XMaxが200ならば、Table(200)に100が入る
>T_Valが小さければ、比例に近く
>T_Valが大きければ、曲線がきつくなる

とするのは難しいと思います。

蛇足ですが、
ベジェ曲線ですと、上記のようなものができそうです。
ただし、xとyの関係が媒介変数(t)を介しての記述となるため、xが○のときyは●、という計算が簡単にはできません。

以下サンプルです。
エクセルVBAです。
B1セルにXMax、B2セルにYMax、B3セルにT-Val(ゼロ以上1以下)を入力してください。
マクロ実行すると、A7セル以下にxの値、B7セル以下にyの値が表示されます。

----------------

Sub test()

x1 = 0
y1 = 0
x4 = Cells(1, 2)
y4 = Cells(2, 2)

x2 = (x4 - x1) * Cells(3, 2)
y2 = y1
x3 = (x4 - x1) * (1 - Cells(3, 2))
y3 = y4

div = x4

For i = 0 To div
t = i / div
tp = 1 - t

x = t * t * t * x4 + 3 * t * t * tp * x3 + 3 * t * tp * tp * x2 + tp * tp * tp * x1
y = t * t * t * y4 + 3 * t * t * tp * y3 + 3 * t * tp * tp * y2 + tp * tp * tp * y1

Cells(7 + i, 1) = x
Cells(7 + i, 2) = y
Next

End Sub
    • good
    • 0
この回答へのお礼

お礼が遅れてすみませんでした。
さっそく試してみますね

お礼日時:2013/09/09 19:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!