【发布时间】:2009-10-05 21:36:00
【问题描述】:
使用 Mathematica,我需要优化一个根据 BinCounts 定义的函数;
我想要最大化的参数定义了 bin 切点。
我认为问题在于 Mathematica 扩展了目标函数
在给定数值之前的论点
值,所以 BinCounts 抱怨 bin 规范不是“a
包含实数值、Infinity 和 -Infinity 的列表”。
我认为以下是我的这种事情的一个最小示例 试图做和正在发生的事情。我将非常感谢您的建议 如何解决这个问题。
In[1]:= data = RandomReal[1, 30]; (* Make some test data. *)
In[2]:= f[a_, b_, c_] := BinCounts[data, {{0, a, b, c, 1}}] (* Shorthand to use below… *)
In[12]:= g[a_, b_, c_] := Max[f[a, b, c]] - Min[f[a, b, c]] (* Objective function. *)
In[13]:= NMaximize[{g[a, b, c], 0 < a < b < c < 1}, {a, b, c}] (* Try to oprimize. *)
During evaluation of In[13]:= BinCounts::cvals: The bin specification {{0,a,b,c,1}} is not a list containing real values, Infinity, and -Infinity. >>
During evaluation of In[13]:= BinCounts::cvals: The bin specification {{0,a,b,c,1}} is not a list containing real values, Infinity, and -Infinity. >>
During evaluation of In[13]:= BinCounts::cvals: The bin specification {{0,a,b,c,1}} is not a list containing real values, Infinity, and -Infinity. >>
During evaluation of In[13]:= General::stop: Further output of BinCounts::cvals will be suppressed during this calculation. >>
Out[13]= {0., {a -> 0., b -> 0., c -> 1.}}
【问题讨论】:
标签: wolfram-mathematica mathematical-optimization