|
setup diary |
Rで数値積分をする方法を聞かれたので、ついでにここにも書いておくことにする。数値積分をするためには、基本的にはy*dxを足していけば良い。dxを求めるには、diff(x)とすれば良いが、数が一つ減ってしまうので、そのままではyをかけられない。そこで、最初の要素を除いてy[-1]*diff(x)として、それを足し上げていくと数値積分となる。つまり、cumsum(y[-1]*diff(x))とすれば良い。
この方法では少し誤差が大きいので、せめて台形積分にしてみよう。yのところは、隣り合ったyの値の平均にするために、(head(y,-1)+tail(y,-1))/2として、cumsum((head(y,-1)+tail(y,-1))/2*diff(x))とすれば良い。この最初に0を加えるために、diffinv((head(y,-1)+tail(y,-1))/2*diff(x))とすると、xと数が同じになって良いだろう。
CPU: amd64-microcode editor: emacs emacs-mozc programming: ruby r-base r-cran-rgl r-cran-gsl r-cran-misc3d maxima tex: texlive-lang-japanese texlive-latex-extra texlive-publishers graphics: imagemagick gimp inkscape mail: thunderbird-l10n-ja tools: aptitude rsync printer: cups japanese: ibus-mozc
MateriAppsのsource listもhttps://sourceforge.net/projects/materiappslive/files/Debian/sources/から入れた.しかし,VESTAはまだ対応していないようなので,しばらく待たないといけない.あと,aptはcontribとnon-freeは追加しておいた. あとは,必要になったときに設定すれば良いかな.