Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

分佈算法

查找正態分佈和相似分佈(similar distributions)的位置(location)和尺度(scale)

有兩個函數用於幫助查找概率為p的隨機變量z的位置和尺度(給定一個尺度或位置)。僅應用於正態分佈,對數正態分佈,極值分佈,柯西分佈以及對稱三角形分佈,這些分佈具有尺度和位置屬性。

這些函數可以用來預測滿足一個指定的極小量(minimum weight)或極大量(maximum dose)的均值和/或標準差。

同樣也提供了具有明確的(explicit)和隱藏的(缺省的)策略的補充版本(Complement version)。

using boost::math::policies::policy; // 當用戶定義自己的策略時可能需要這個using 聲明。
using boost::math::complement; //當用戶想要使用分佈的補充版本需要這個using 聲明。
函數find_location

#include <boost/math/distributions/find_location.hpp>

namespace boost{ namespace math{

template <class Dist, class Policy> // 明確的錯誤處理策略。
  typename Dist::value_type find_location( // 例如,正態均值(normal mean)。
  typename Dist::value_type z, // 概率為p的隨機變量z的位置, P(X > z) == p。  
	// 例如,一個象徵性的(nominal)最低容許值(minimum acceptable),使得 p * 100 % > z。
  typename Dist::value_type p, // 在x處的概率值,比如說,0.95 使得95% > z。
  typename Dist::value_type scale, // 尺度參數, 例如, 正態標準差。
  const Policy& pol);

template <class Dist>  // 使用缺省策略。
  typename Dist::value_type find_location( // 例如,正態均值(normal mean)。
  typename Dist::value_type z, // 概率為p的隨機變量z的位置, P(X > z) == p。
  //例如,一個象徵性的(nominal)最低容許值(minimum acceptable),使得 p * 100 % > z。
  typename Dist::value_type p, // 在x處的概率值,比如說,0.95 使得95% > z。
  typename Dist::value_type scale); // 尺度參數, 例如, 正態標準差。
  }} // namespaces
函數find_scale

#include <boost/math/distributions/find_scale.hpp>

namespace boost{ namespace math{ 

template <class Dist, class Policy> // 明確的錯誤處理策略。
  typename Dist::value_type find_scale( // 例如,正態均值(normal mean)。
  typename Dist::value_type z, // 概率為p的隨機變量z的位置, P(X > z) == p。
  // 例如,一個象徵性的(nominal)最低容許值(minimum acceptable),使得 p * 100 % > z。  typename Dist::value_type p, // probability value desired at x, say 0.95 for 95% > z.
  typename Dist::value_type location, // 尺度參數, 例如, 正態標準差。
  const Policy& pol);

 template <class Dist> // 使用缺省策略。
   typename Dist::value_type find_scale( // 例如,正態均值(normal mean)。
   typename Dist::value_type z, // 概率為p的隨機變量z的位置, P(X > z) == p。
   // 例如,一個象徵性的(nominal)最低容許值(minimum acceptable),使得 p * 100 % > z。   typename Dist::value_type p, // probability value desired at x, say 0.95 for 95% > z.
   typename Dist::value_type location) // 尺度參數, 例如, 正態標準差。
}} // namespaces

所有的參數必須是有限數值,否則調用定義域錯誤

概率參數必須在區間 [0, 1]中,否則調用定義域錯誤

如果選擇的參數將會產生一個負的圖度,當負的圖度值被返回,除非策略被忽略,否則會調用定義域錯誤

查找均值和標準差實例 經出了一個使用函數find_scale 和函數 find_location的簡單例子,以及一個大一些的例子,這個例子查找一個滿足規範的正態分佈權重(normally distributed weights)的均值和標準差。


PrevUpHomeNext