File: integrate.sci

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (33 lines) | stat: -rw-r--r-- 881 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function x=integrate(expr,var,x0,x1,ea,er)
// x=integrate(expr,v,x0,x1 [,ea [,er]])  computes
//                      /x1
//                     [
//                 x = I  f(v)dv
//                     ]
//                    /x0
//
//
//examples:
//integrate('sin(x)','x',0,%pi)
//integrate(['if x==0 then 1,';
//           'else sin(x)/x,end'],'x',0,%pi)
//
//!
// Copyright INRIA
[lhs,rhs]=argn(0)
if size(x0,'*')<>1 then error('x0 must be a real scalar number'),end
if imag(x0)<>0 then error('x0 doit etre un scalaire reel'),end
[m,n]=size(x1),x1=matrix(x1,1,m*n)
if norm(imag(x1),1)<>0 then error('x1 is not real!'),end
//
deff('[ans]=func('+var+')',expr,'n')
x=[]
select rhs
case 4 then for xk=x1,x=[x,intg(x0,xk,func)],end,
case 5 then for xk=x1,x=[x,intg(x0,xk,func,ea)],end,
case 6 then for xk=x1,x=[x,intg(x0,xk,func,ea,er)],end,
else error(39), end,
x=matrix(x,m,n)