【发布时间】:2015-07-20 18:02:03
【问题描述】:
假设我生成一个均值为 50,标准差为 1 的正态分布。
boost::normal_distribution<> normal(50, 1);
然后我想将此正态分布乘以由下式给出的支付函数:
f(x) = 100 - x
然后求解最大 x \in [0, 100]。
特别想解决:
((最大 x /in [0,100]) 正常(x) * (100 - x)
有人可以帮我编写代码,或者引导我朝着正确的方向前进吗?
【问题讨论】:
-
你能再解释一下这个问题吗?您是否正在寻找
x(100-x)的最大值,其中x具有正态分布?您想从正态分布中选择几个xs 并为x的这些值找到x(100-x)的最大值还是想知道理论上的最大值? -
@triple_r 请注意,正态分布 normal(x) 和 ,f(x) = 100 - x 都具有相同的自变量。我只是希望将每个 x 的两个函数相乘,然后在所有 x \in [0, 100] 上最大化。清楚吗?
-
哦,那么
normal(x)是指x处正态分布的概率密度函数吗?类似this? -
@triple_r 是的。 x 是沿 x 轴变化的自变量。
-
@triple_r 通过将 normal(x) 乘以支付函数(对于每个 x),我将生成预期的支付函数。
标签: c++ optimization normal-distribution