雑感等

音楽,数学,語学,その他に関するメモを記す.

プログラミング

haskellでテトレーションを計算

を求める関数. tetration x y= foldr1 (^) $ take y $ repeat x

常微分方程式の数値解法:ルンゲ=クッタ法,クッタ=シンプソンの方法(1/3法則)

文献が示すルンゲ=クッタの公式を整理する. 文献の"表 8.3 ルンゲ-クッタの公式"と"表 8.4 ルンゲ-クッタの公式(連立方程式)"をもとにする. 文献 藪忠司, 伊藤惇. “8.2 ルンゲ-クッタ法”. 数値計算法. コロナ社, 2002, p.100-101, (機械系教科書シリーズ…

Haskellプログラミングの考え方

データ変換の連鎖 理想的なHaskellのソースは, 欲しいデータの性質を記述したもの? データの変換手順だけを記述したもの? 「Emacs Lisp 脳と Haskell 脳」(http://www.mew.org/~kazu/material/2010-func.pdf) 関数型つまみ食い: 関数型とはプログラミン…

問題の解き方・考え方―Haskellプログラミングと力学の問題

Haskellプログラムを書いていて感じたことがある. それは, Haskellでプログラムを書くこと 物理の文章題を解くこと が似ていることだ. 両者の考え方の共通点として感じたのは 最も大事なことが,何の値を求めたいのか明確にすること 問題の条件を「数式」…

haskell do構文

失敗 import System.Environment main::IO() main= do args<-getArgs argsl<-length args --Couldn't match expected type ‘IO a0’ with actual type ‘Int’ (print.show) argsl 成功 import System.Environment main::IO() main= do args<-getArgs let argsl…

Haskell ポイントフリー

Prelude> (3*(4-))$ 2:38:1: error: ? Non type-variable argument in the constraint: Num (a -> a) (Use FlexibleContexts to permit this) ? When checking the inferred type it :: forall a. (Num (a -> a), Num a) => a Prelude> (3*).(4-)$ 2 6