33 lines
603 B
Plaintext
33 lines
603 B
Plaintext
(scl 6)
|
|
|
|
(de leftRect (Fun X)
|
|
(Fun X) )
|
|
|
|
(de rightRect (Fun X H)
|
|
(Fun (+ X H)) )
|
|
|
|
(de midRect (Fun X H)
|
|
(Fun (+ X (/ H 2))) )
|
|
|
|
(de trapezium (Fun X H)
|
|
(/ (+ (Fun X) (Fun (+ X H))) 2) )
|
|
|
|
(de simpson (Fun X H)
|
|
(*/
|
|
(+
|
|
(Fun X)
|
|
(* 4 (Fun (+ X (/ H 2))))
|
|
(Fun (+ X H)) )
|
|
6 ) )
|
|
|
|
(de square (X)
|
|
(*/ X X 1.0) )
|
|
|
|
(de integrate (Fun From To Steps Meth)
|
|
(let (H (/ (- To From) Steps) Sum 0)
|
|
(for (X From (>= (- To H) X) (+ X H))
|
|
(inc 'Sum (Meth Fun X H)) )
|
|
(*/ H Sum 1.0) ) )
|
|
|
|
(prinl (round (integrate square 3.0 7.0 30 simpson)))
|