File: ext9c.c

package info (click to toggle)
scilab 4.0-12
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 100,640 kB
  • ctags: 57,333
  • sloc: ansic: 377,889; fortran: 242,862; xml: 179,819; tcl: 42,062; sh: 10,593; ml: 9,441; makefile: 4,377; cpp: 1,354; java: 621; csh: 260; yacc: 247; perl: 130; lex: 126; asm: 72; lisp: 30
file content (37 lines) | stat: -rw-r--r-- 997 bytes parent folder | download | duplicates (2)
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
34
35
36
37
/* Copyright Inria/Enpc */

/*********************************************
 *     argument function for ode 
 *     input variables n, t, y 
 *     n = dimension of state vector y 
 *     t = time 
 *     y = state variable 
 *     output variable = ydot 
 *     ================================
 *     external routine must 
 *     load ydot[0] with d/dt ( y(1)(t) ) 
 *          ydot[1] with d/dt ( y(2)(t) ) 
 *          ... 
 *     i.e. ydot vector of derivative of state y 
 *     ================================
 *     Example: 
 *     call this ext5 routine: 
 *     ode([1;0;0],0,[0.4,4],'ext9c') 
 *     ================================
 *     With dynamic link: 
 *     -->link('ext9c.o','ext9c','C') 
 *     -->ode([1;0;0],0,[0.4,4],'ext9c') 
 *********************************************/

int ext9c(n, t, y, ydot)
     int *n;
     double *t, *y, *ydot;
{
  ydot[0] = y[0] * -.04 + y[1] * 1e4 * y[2];
  ydot[2] = y[1] * 3e7 * y[1];
  ydot[1] = -ydot[0] - ydot[2];
  return(0);
}