File: ode3.dem

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 (34 lines) | stat: -rw-r--r-- 986 bytes parent folder | download | duplicates (4)
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
// Copyright INRIA
mode(-1)
xbasc();
//
titlepage(['Implicit ODE:';...
          ' ';...
        'dy1/dt=-0.04*y1 + 1d4*y2*y3';...
        'dy2/dt=0.04*y1 - 1d4*y2*y3-3d7*y2*y2';...
        '  1   = y1+y2+y3'])
mode(1)
// Equation definition
 deff('[r]=chemres(t,y,yd)',[
     'r(1)=-0.04*y(1)+1d4*y(2)*y(3)-yd(1);';
     'r(2)=0.04*y(1)-1d4*y(2)*y(3)-3d7*y(2)*y(2)-yd(2);'
     'r(3)=y(1)+y(2)+y(3)-1;'])


 deff('[p]=chemad(t,y,p)','p=p+diag([1 1 0])')

 deff('[p]=chemjac(t,y,yd)',[
     'p=[-0.04,     1.d4*y(3)      ,  1.d4*y(2);';
     '    0.04, -1d4*y(3)-6d7*y(2) , -1d4*y(2);';
     '    1   ,     1              ,  1       ]'])
// Integration
y0=[1;0;0];
yd0=[-0.04;0.04;0];
t=[1.d-5:0.02:.4 0.41:.1:4 40 400 4000 40000 4d5 4d6 4d7 4d8 4d9 4d10];
rtol = 1d-4;atol=[1.d-6;1.d-10;1.d-6];
y=impl(y0,yd0,0,t,rtol,atol,chemres,chemad,chemjac);
halt();xbasc()
// visualization 
rect=[1.d-5,-0.1,1d11,1.1];
plot2d1("oln",t',(diag([1 10000 1])*y)',(1:3),"111",'y1@10000 y2@y3',rect)