All pastes #262311 Raw Edit

Stuff

public text v1 · immutable
#262311 ·published 2006-11-30 11:53 UTC
rendered paste body
> with(student):
> trapezoid (exp(x),x=1..2,n);

                            /n - 1             \
                            |-----             |
                            | \                |
                 exp(1) + 2 |  )   exp(1 + i/n)| + exp(2)
                            | /                |
                            |-----             |
                            \i = 1             /
             1/2 ----------------------------------------
                                    n

> simpson (exp(x),x=1..2,n);

      /                    /1/2 n                 \
      |                    |-----                 |
      |                    | \            2 i - 1 |
  1/3 |exp(1) + exp(2) + 4 |  )   exp(1 + -------)|
      |                    | /               n    |
      |                    |-----                 |
      \                    \i = 1                 /

             /1/2 n - 1             \\
             |  -----               ||
             |   \              2 i ||
         + 2 |    )     exp(1 + ---)||/n
             |   /               n  ||
             |  -----               ||
             \  i = 1               //

> Iex:=int(exp(x),x=1..2);

                        Iex := exp(2) - exp(1)

> errortrap:=n->evalf(abs(Iex-trapezoid(exp(x),x=1..2,n)));

 errortrap := n -> evalf(| Iex - trapezoid(exp(x), x = 1 .. 2, n) |)

> errortrap(10);

                              .003891662

> errortrap(4);
> 

                              .024301644

> errorsimp:=n->evalf(abs(Iex-simpson(exp(x),x=1..2,n)));

  errorsimp := n -> evalf(| Iex - simpson(exp(x), x = 1 .. 2, n) |)

> errorsimp(4);

                             .0001006115

> traplist:=[seq([2*n,errortrap(2*n)],n=1..10)];

  traplist := [[2, .096904746], [4, .024301644], [6, .010806975],

        [8, .006080153], [10, .003891662], [12, .002702682],

        [14, .001985706], [16, .001520335], [18, .001201269],

        [20, .000973037]]

> plot(traplist);

> simpslist:=[seq([2*n,errorsimp(2*n)],n=1..10)];

  simpslist := [[2, .001574764], [4, .0001006115], [6, .000019955],

                    -5                -5                -5
        [8, .6325 10  ], [10, .2590 10  ], [12, .1250 10  ],

                    -6               -6               -6
        [14, .675 10  ], [16, .395 10  ], [18, .248 10  ],

                    -6
        [20, .163 10  ]]

> plot(simpslist);


>  plot({traplist,simpslist},x=0..20,y=0..0.02);


> traplistlog:=[seq([2*n,-log(errortrap(2*n))],n=1..10)];

  traplistlog := [[2, 2.334026783], [4, 3.717211277],

        [6, 4.527563520], [8, 5.102725419], [10, 5.548918963],

        [12, 5.913510666], [14, 6.221780761], [16, 6.488824574],

        [18, 6.724376781], [20, 6.935088450]]

> simpslistlog:=[seq([2*n,-log(errorsimp(2*n))],n=1..10)];

  simpslistlog := [[2, 6.453649859], [4, 9.204243993],

        [6, 10.82203082], [8, 11.97100052], [10, 12.86385268],

        [12, 13.59236701], [14, 14.20855315], [16, 14.74438007],

        [18, 15.21387750], [20, 15.62951564]]

> plot({traplistlog,simpslistlog});

> Iexa:=int(2+3*x,x=1..2);

                             Iexa := 13/2

> errortrap:=n->value(abs(Iexa-trapezoid(2+3*x,x=1..2,n)));

  errortrap :=

        n -> value(| Iexa - trapezoid(2 + 3 x, x = 1 .. 2, n) |)

> errortrap(4);

                                  0

> Iexb:=int(x^2,x=1..2);

                             Iexb := 7/3

> errortrap:=n->value(abs(Iexb-trapezoid(x^2,x=1..2,n)));

                                               2
   errortrap := n -> value(| Iexb - trapezoid(x , x = 1 .. 2, n) |)

> errortrap(4);

                                 1/96

>