GSL Shell 学習:ヒストグラム(改)

2017-07-03 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
Python プログラムの“GSL Shell”への移植を行っている。
その作業中に、昨年7月(2016-07-02)の記事「GSL Shell 学習:ヒストグラム
で書いたコードのミス(誤解)を見つけた。

つまり、
レンジ”の定義が2種類混在していた。


そこで、正しいものに書き換えた。

(1)3区間で、等間隔 { 4, 6.7, 9.3, 12 } とする場合:
----- test_Histo.gsl 改-1 -----
gsl = require'gsl'
v = ffi.new( 'double[10]',
{ 4, 5, 6, 7, 8, 9, 10, 11, 12, 4.5 } ) -- 元の値(テスト用)

h = gsl.gsl_histogram_alloc( 3 ) -- 区間数
gsl.gsl_histogram_set_ranges_uniform( h, 4, 12 ) -- 3区間で、等間隔 { 4, 6.7, 9.3, 12 }

for i=0,9 do
gsl.gsl_histogram_increment( h, v[i] ) -- 振り分け
end
for j=0,2 do print( h.bin[j] ) end -- 結果: 4, 3, 2  合計 9件でOK

gsl.gsl_histogram_free( h ) -- 後始末

(2)3区間で、指定間隔 { 4, 5, 8, 12 } とする場合:
----- test_Histo.gsl 改-2 -----
gsl = require'gsl'
v = ffi.new( 'double[10]',
{ 4, 5, 6, 7, 8, 9, 10, 11, 12, 4.5 } ) -- 元の値(テスト用)

h = gsl.gsl_histogram_alloc( 3 ) -- 区間数
bT = ffi.new('double[4]', 4, 5, 8, 12 ) -- 区間テーブル 各々 [ ~ )
gsl.gsl_histogram_set_ranges( h, bT, 4 ) -- 設定

for i=0,9 do
gsl.gsl_histogram_increment( h, v[i] ) -- 振り分け
end
for j=0,2 do print( h.bin[j] ) end -- 結果: 2, 3, 4  合計 9件でOK

gsl.gsl_histogram_free( h ) -- 後始末


要は、振り分けのための“ビン”の設定方法の違い。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170530
スポンサーサイト
おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク