2011年9月7日

Octave--poisson distribution

在觀察poisson distribution的時候,無意間發現了一個bug,然而這個bug不是我第一個發現的,在octave 3.1.x就已經有人發現,感覺好像到了3.2.4還沒解決,還是我有誤解
octave的code如下

x=[0:15]';y1=[];y2=[];lamda=[1,2,5,10];
for i=1:length(lamda)
y1=[y1,poisspdf(x,lamda(i))];y2=[y2,poisscdf(x,lamda(i))];
end 
stem(x,y1),line(x,y1),figure;plot(x,y2)


最後一行,line(x,y1)會出錯,如果單單執行plot(x,y2)結果如下


輸出的錯誤主要由line function所引發的
error: invalid value for array property "ydata"
error: called from:
error:   /usr/share/octave/3.2.4/m/plot/__line__.m at line 65, column 5
error:   /usr/share/octave/3.2.4/m/plot/line.m at line 38, column 5
error: number of rows must match (2 != 16) near line 519, column 33
error: called from:
error:   /usr/share/octave/3.2.4/m/plot/__go_draw_axes__.m at line 519, column 24
error:   /usr/share/octave/3.2.4/m/plot/__go_draw_figure__.m at line 92, column 3
error:   /usr/share/octave/3.2.4/m/plot/gnuplot_drawnow.m at line 99, column 5
在底下這個連結有提到
http://octave.1599824.n4.nabble.com/error-plotting-quot-single-quot-values-td1672697.html
解決的patch file如下面連結
http://hg.savannah.gnu.org/hgweb/octave/rev/86ae7e50dc5d
似乎要作重新編譯的動作,我很懶惰,所以就把他放這了

沒有留言: