File: integrate.sci

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (33 lines) | stat: -rw-r--r-- 893 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]=function('+var+')',expr)
x=[]
select rhs
case 4 then for xk=x1,x=[x,intg(x0,xk,function)],end,
case 5 then for xk=x1,x=[x,intg(x0,xk,function,ea)],end,
case 6 then for xk=x1,x=[x,intg(x0,xk,function,ea,er)],end,
else error(39), end,
x=matrix(x,m,n)