summaryrefslogtreecommitdiffstats
path: root/scilab
diff options
context:
space:
mode:
authorSamuel GOUGEON <sgougeon@free.fr>2021-04-18 16:44:52 +0200
committerClément David <clement.david@esi-group.com>2021-04-29 17:05:50 +0200
commitea43ac558e60c0e032b218b3b2db59e1ebcb0174 (patch)
treeb4d3ec54390a412af5e6f5bcdcd43106f932472b /scilab
parent1dd7bd3cd6eda59db710af5251bd44eca2318a43 (diff)
downloadscilab-ea43ac558e60c0e032b218b3b2db59e1ebcb0174.zip
scilab-ea43ac558e60c0e032b218b3b2db59e1ebcb0174.tar.gz
[doc][equadif + polynomials] Unfold synopses + fix + improvements
+ some <screen> added + examples code style improved + non en_US sometimes desynchronized: fixed + some erroneous or missing required info added: detr() is first applicable to rationals, not only to polynomials. determ() is NOT restricted to real polynomials. polfact() is restricted to real polynomials. roots(): default="f" not "e" sfact() accepts only square matrices. + some missing headers added (in fr versions) Change-Id: Ia7713236af0734dc800f7f6ba7c29dbbe141962e
Diffstat (limited to 'scilab')
-rw-r--r--scilab/modules/differential_equations/help/en_US/bvode.xml503
-rw-r--r--scilab/modules/differential_equations/help/en_US/dae.xml38
-rw-r--r--scilab/modules/differential_equations/help/en_US/daeoptions.xml8
-rw-r--r--scilab/modules/differential_equations/help/en_US/daskr.xml88
-rw-r--r--scilab/modules/differential_equations/help/en_US/dasrt.xml82
-rw-r--r--scilab/modules/differential_equations/help/en_US/dassl.xml84
-rw-r--r--scilab/modules/differential_equations/help/en_US/diff.xml19
-rw-r--r--scilab/modules/differential_equations/help/en_US/impl.xml20
-rw-r--r--scilab/modules/differential_equations/help/en_US/int3d.xml38
-rw-r--r--scilab/modules/differential_equations/help/en_US/integrate.xml2
-rw-r--r--scilab/modules/differential_equations/help/en_US/intg.xml6
-rw-r--r--scilab/modules/differential_equations/help/en_US/intl.xml6
-rw-r--r--scilab/modules/differential_equations/help/en_US/inttrap.xml7
-rw-r--r--scilab/modules/differential_equations/help/en_US/ode_discrete.xml15
-rw-r--r--scilab/modules/differential_equations/help/en_US/ode_root.xml16
-rw-r--r--scilab/modules/differential_equations/help/en_US/odedc.xml70
-rw-r--r--scilab/modules/differential_equations/help/en_US/odeoptions.xml8
-rw-r--r--scilab/modules/differential_equations/help/fr_FR/dae.xml38
-rw-r--r--scilab/modules/differential_equations/help/fr_FR/daskr.xml88
-rw-r--r--scilab/modules/differential_equations/help/fr_FR/intg.xml2
-rw-r--r--scilab/modules/differential_equations/help/fr_FR/inttrap.xml7
-rw-r--r--scilab/modules/differential_equations/help/fr_FR/ode.xml24
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/dae.xml78
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/daeoptions.xml248
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/daskr.xml667
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/dasrt.xml443
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/dassl.xml432
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/diff.xml118
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/impl.xml186
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/int2d.xml173
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/int3d.xml230
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/intl.xml74
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/intsplin.xml73
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/inttrap.xml89
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/ode.xml150
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/ode_discrete.xml94
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/ode_root.xml18
-rw-r--r--scilab/modules/differential_equations/help/ja_JP/odeoptions.xml171
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/dae.xml86
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/daeoptions.xml8
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/dasrt.xml72
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/dassl.xml96
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/diff.xml18
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/impl.xml20
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/int3d.xml24
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/intl.xml2
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/inttrap.xml7
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/ode.xml74
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/ode_discrete.xml12
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/ode_root.xml22
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/odedc.xml39
-rw-r--r--scilab/modules/differential_equations/help/pt_BR/odeoptions.xml12
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/bvode.xml527
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/dae.xml30
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/daeoptions.xml21
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/dasrt.xml82
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/dassl.xml80
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/diff.xml17
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/impl.xml20
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/int2d.xml2
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/int3d.xml32
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/intc.xml2
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/intg.xml2
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/intl.xml4
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/inttrap.xml9
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/ode.xml135
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/ode_discrete.xml15
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/ode_root.xml24
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/odedc.xml46
-rw-r--r--scilab/modules/differential_equations/help/ru_RU/odeoptions.xml10
-rw-r--r--scilab/modules/polynomials/help/en_US/chepol.xml30
-rw-r--r--scilab/modules/polynomials/help/en_US/cmndred.xml2
-rw-r--r--scilab/modules/polynomials/help/en_US/coeff.xml24
-rw-r--r--scilab/modules/polynomials/help/en_US/colcompr.xml33
-rw-r--r--scilab/modules/polynomials/help/en_US/derivat.xml18
-rw-r--r--scilab/modules/polynomials/help/en_US/determ.xml41
-rw-r--r--scilab/modules/polynomials/help/en_US/detr.xml32
-rw-r--r--scilab/modules/polynomials/help/en_US/factors.xml82
-rw-r--r--scilab/modules/polynomials/help/en_US/hermit.xml26
-rw-r--r--scilab/modules/polynomials/help/en_US/horner.xml116
-rw-r--r--scilab/modules/polynomials/help/en_US/hrmt.xml33
-rw-r--r--scilab/modules/polynomials/help/en_US/htrianr.xml14
-rw-r--r--scilab/modules/polynomials/help/en_US/inv_coeff.xml14
-rw-r--r--scilab/modules/polynomials/help/en_US/invr.xml59
-rw-r--r--scilab/modules/polynomials/help/en_US/lcmdiag.xml18
-rw-r--r--scilab/modules/polynomials/help/en_US/ldiv.xml2
-rw-r--r--scilab/modules/polynomials/help/en_US/pol2str.xml17
-rw-r--r--scilab/modules/polynomials/help/en_US/polfact.xml96
-rw-r--r--scilab/modules/polynomials/help/en_US/residu.xml2
-rw-r--r--scilab/modules/polynomials/help/en_US/roots.xml80
-rw-r--r--scilab/modules/polynomials/help/en_US/rowcompr.xml2
-rw-r--r--scilab/modules/polynomials/help/en_US/sfact.xml8
-rw-r--r--scilab/modules/polynomials/help/en_US/simp.xml62
-rw-r--r--scilab/modules/polynomials/help/en_US/simp_mode.xml30
-rw-r--r--scilab/modules/polynomials/help/fr_FR/cmndred.xml2
-rw-r--r--scilab/modules/polynomials/help/fr_FR/coeff.xml21
-rw-r--r--scilab/modules/polynomials/help/fr_FR/colcompr.xml33
-rw-r--r--scilab/modules/polynomials/help/fr_FR/derivat.xml32
-rw-r--r--scilab/modules/polynomials/help/fr_FR/determ.xml54
-rw-r--r--scilab/modules/polynomials/help/fr_FR/detr.xml30
-rw-r--r--scilab/modules/polynomials/help/fr_FR/factors.xml113
-rw-r--r--scilab/modules/polynomials/help/fr_FR/hermit.xml26
-rw-r--r--scilab/modules/polynomials/help/fr_FR/horner.xml130
-rw-r--r--scilab/modules/polynomials/help/fr_FR/hrmt.xml30
-rw-r--r--scilab/modules/polynomials/help/fr_FR/htrianr.xml14
-rw-r--r--scilab/modules/polynomials/help/fr_FR/inv_coeff.xml17
-rw-r--r--scilab/modules/polynomials/help/fr_FR/invr.xml79
-rw-r--r--scilab/modules/polynomials/help/fr_FR/pol2str.xml15
-rw-r--r--scilab/modules/polynomials/help/fr_FR/polfact.xml117
-rw-r--r--scilab/modules/polynomials/help/fr_FR/residu.xml2
-rw-r--r--scilab/modules/polynomials/help/fr_FR/roots.xml48
-rw-r--r--scilab/modules/polynomials/help/fr_FR/rowcompr.xml4
-rw-r--r--scilab/modules/polynomials/help/fr_FR/sfact.xml35
-rw-r--r--scilab/modules/polynomials/help/fr_FR/simp.xml84
-rw-r--r--scilab/modules/polynomials/help/fr_FR/simp_mode.xml29
-rw-r--r--scilab/modules/polynomials/help/ja_JP/chepol.xml28
-rw-r--r--scilab/modules/polynomials/help/ja_JP/cmndred.xml2
-rw-r--r--scilab/modules/polynomials/help/ja_JP/coeff.xml24
-rw-r--r--scilab/modules/polynomials/help/ja_JP/coffg.xml2
-rw-r--r--scilab/modules/polynomials/help/ja_JP/colcompr.xml33
-rw-r--r--scilab/modules/polynomials/help/ja_JP/derivat.xml14
-rw-r--r--scilab/modules/polynomials/help/ja_JP/determ.xml31
-rw-r--r--scilab/modules/polynomials/help/ja_JP/detr.xml56
-rw-r--r--scilab/modules/polynomials/help/ja_JP/factors.xml66
-rw-r--r--scilab/modules/polynomials/help/ja_JP/hermit.xml26
-rw-r--r--scilab/modules/polynomials/help/ja_JP/horner.xml115
-rw-r--r--scilab/modules/polynomials/help/ja_JP/hrmt.xml30
-rw-r--r--scilab/modules/polynomials/help/ja_JP/htrianr.xml14
-rw-r--r--scilab/modules/polynomials/help/ja_JP/inv_coeff.xml17
-rw-r--r--scilab/modules/polynomials/help/ja_JP/invr.xml59
-rw-r--r--scilab/modules/polynomials/help/ja_JP/pol2str.xml12
-rw-r--r--scilab/modules/polynomials/help/ja_JP/polfact.xml94
-rw-r--r--scilab/modules/polynomials/help/ja_JP/residu.xml2
-rw-r--r--scilab/modules/polynomials/help/ja_JP/roots.xml120
-rw-r--r--scilab/modules/polynomials/help/ja_JP/rowcompr.xml2
-rw-r--r--scilab/modules/polynomials/help/ja_JP/sfact.xml4
-rw-r--r--scilab/modules/polynomials/help/ja_JP/simp.xml65
-rw-r--r--scilab/modules/polynomials/help/ja_JP/simp_mode.xml30
-rw-r--r--scilab/modules/polynomials/help/pt_BR/cmndred.xml2
-rw-r--r--scilab/modules/polynomials/help/pt_BR/coeff.xml26
-rw-r--r--scilab/modules/polynomials/help/pt_BR/coffg.xml2
-rw-r--r--scilab/modules/polynomials/help/pt_BR/colcompr.xml33
-rw-r--r--scilab/modules/polynomials/help/pt_BR/derivat.xml16
-rw-r--r--scilab/modules/polynomials/help/pt_BR/determ.xml34
-rw-r--r--scilab/modules/polynomials/help/pt_BR/detr.xml42
-rw-r--r--scilab/modules/polynomials/help/pt_BR/factors.xml86
-rw-r--r--scilab/modules/polynomials/help/pt_BR/hermit.xml26
-rw-r--r--scilab/modules/polynomials/help/pt_BR/horner.xml116
-rw-r--r--scilab/modules/polynomials/help/pt_BR/hrmt.xml35
-rw-r--r--scilab/modules/polynomials/help/pt_BR/htrianr.xml20
-rw-r--r--scilab/modules/polynomials/help/pt_BR/inv_coeff.xml16
-rw-r--r--scilab/modules/polynomials/help/pt_BR/invr.xml46
-rw-r--r--scilab/modules/polynomials/help/pt_BR/pol2str.xml24
-rw-r--r--scilab/modules/polynomials/help/pt_BR/polfact.xml94
-rw-r--r--scilab/modules/polynomials/help/pt_BR/residu.xml2
-rw-r--r--scilab/modules/polynomials/help/pt_BR/roots.xml119
-rw-r--r--scilab/modules/polynomials/help/pt_BR/rowcompr.xml8
-rw-r--r--scilab/modules/polynomials/help/pt_BR/sfact.xml2
-rw-r--r--scilab/modules/polynomials/help/pt_BR/simp.xml66
-rw-r--r--scilab/modules/polynomials/help/pt_BR/simp_mode.xml30
-rw-r--r--scilab/modules/polynomials/help/ru_RU/inv_coeff.xml20
161 files changed, 4137 insertions, 5293 deletions
diff --git a/scilab/modules/differential_equations/help/en_US/bvode.xml b/scilab/modules/differential_equations/help/en_US/bvode.xml
index 5f8c975..6086771 100644
--- a/scilab/modules/differential_equations/help/en_US/bvode.xml
+++ b/scilab/modules/differential_equations/help/en_US/bvode.xml
@@ -636,22 +636,22 @@
636 <itemizedlist> 636 <itemizedlist>
637 <listitem> 637 <listitem>
638 <para>In Fortran the calling sequence must be:</para> 638 <para>In Fortran the calling sequence must be:</para>
639 <programlisting role="no-scilab-exec"><![CDATA[ 639 <screen><![CDATA[
640subroutine fsub(x,zu,f) 640subroutine fsub(x,zu,f)
641double precision zu(*), f(*),x 641double precision zu(*), f(*),x
642 ]]></programlisting> 642]]></screen>
643 </listitem> 643 </listitem>
644 <listitem> 644 <listitem>
645 <para>In C the function prototype must be:</para> 645 <para>In C the function prototype must be:</para>
646 <programlisting role="no-scilab-exec"><![CDATA[ 646 <screen><![CDATA[
647void fsub(double *x, double *zu, double *f) 647void fsub(double *x, double *zu, double *f)
648 ]]></programlisting> 648]]></screen>
649 </listitem> 649 </listitem>
650 <listitem> 650 <listitem>
651 <para>And in Scilab:</para> 651 <para>And in Scilab:</para>
652 <programlisting role="no-scilab-exec"><![CDATA[ 652 <screen><![CDATA[
653function f=fsub(x,zu,parameters) 653function f = fsub(x,zu,parameters)
654 ]]></programlisting> 654]]></screen>
655 </listitem> 655 </listitem>
656 </itemizedlist> 656 </itemizedlist>
657 </listitem> 657 </listitem>
@@ -746,22 +746,22 @@ function f=fsub(x,zu,parameters)
746 <itemizedlist> 746 <itemizedlist>
747 <listitem> 747 <listitem>
748 <para>In Fortran the calling sequence must be:</para> 748 <para>In Fortran the calling sequence must be:</para>
749 <programlisting role="no-scilab-exec"><![CDATA[ 749 <screen><![CDATA[
750subroutine dfsub(x,zu,df) 750subroutine dfsub(x,zu,df)
751double precision zu(*), df(*),x 751double precision zu(*), df(*),x
752 ]]></programlisting> 752]]></screen>
753 </listitem> 753 </listitem>
754 <listitem> 754 <listitem>
755 <para>In C the function prototype must be:</para> 755 <para>In C the function prototype must be:</para>
756 <programlisting role="no-scilab-exec"><![CDATA[ 756 <screen><![CDATA[
757void dfsub(double *x, double *zu, double *df) 757void dfsub(double *x, double *zu, double *df)
758 ]]></programlisting> 758]]></screen>
759 </listitem> 759 </listitem>
760 <listitem> 760 <listitem>
761 <para>And in Scilab:</para> 761 <para>And in Scilab:</para>
762 <programlisting role="no-scilab-exec"><![CDATA[ 762 <screen><![CDATA[
763function df=dfsub(x,zu,parameters) 763function df = dfsub(x,zu,parameters)
764 ]]></programlisting> 764]]></screen>
765 </listitem> 765 </listitem>
766 </itemizedlist> 766 </itemizedlist>
767 </listitem> 767 </listitem>
@@ -847,23 +847,23 @@ function df=dfsub(x,zu,parameters)
847 <itemizedlist> 847 <itemizedlist>
848 <listitem> 848 <listitem>
849 <para>In Fortran the calling sequence must be:</para> 849 <para>In Fortran the calling sequence must be:</para>
850 <programlisting role="no-scilab-exec"><![CDATA[ 850 <screen><![CDATA[
851subroutine gsub(i,zu,g) 851subroutine gsub(i,zu,g)
852double precision zu(*), g(*) 852double precision zu(*), g(*)
853integer i 853integer i
854 ]]></programlisting> 854]]></screen>
855 </listitem> 855 </listitem>
856 <listitem> 856 <listitem>
857 <para>In C the function prototype must be:</para> 857 <para>In C the function prototype must be:</para>
858 <programlisting role="no-scilab-exec"><![CDATA[ 858 <screen><![CDATA[
859void gsub(int *i, double *zu, double *g) 859void gsub(int *i, double *zu, double *g)
860 ]]></programlisting> 860]]></screen>
861 </listitem> 861 </listitem>
862 <listitem> 862 <listitem>
863 <para>And in Scilab:</para> 863 <para>And in Scilab:</para>
864 <programlisting role="no-scilab-exec"><![CDATA[ 864 <screen><![CDATA[
865function g=gsub(i,zu,parameters) 865function g = gsub(i,zu,parameters)
866 ]]></programlisting> 866]]></screen>
867 <para> 867 <para>
868 Note that in contrast to <literal>f</literal> in <literal>fsub</literal>, here only one value per call is returned in <literal>g</literal>. 868 Note that in contrast to <literal>f</literal> in <literal>fsub</literal>, here only one value per call is returned in <literal>g</literal>.
869 </para> 869 </para>
@@ -962,22 +962,22 @@ function g=gsub(i,zu,parameters)
962 <itemizedlist> 962 <itemizedlist>
963 <listitem> 963 <listitem>
964 <para>In Fortran the calling sequence must be:</para> 964 <para>In Fortran the calling sequence must be:</para>
965 <programlisting role="no-scilab-exec"><![CDATA[ 965 <screen><![CDATA[
966subroutine dgsub(i,zu,dg) 966subroutine dgsub(i,zu,dg)
967double precision zu(*), dg(*) 967double precision zu(*), dg(*)
968 ]]></programlisting> 968]]></screen>
969 </listitem> 969 </listitem>
970 <listitem> 970 <listitem>
971 <para>In C the function prototype must be</para> 971 <para>In C the function prototype must be</para>
972 <programlisting role="no-scilab-exec"><![CDATA[ 972 <screen><![CDATA[
973void dgsub(int *i, double *zu, double *dg) 973void dgsub(int *i, double *zu, double *dg)
974 ]]></programlisting> 974]]></screen>
975 </listitem> 975 </listitem>
976 <listitem> 976 <listitem>
977 <para>And in Scilab </para> 977 <para>And in Scilab </para>
978 <programlisting role="no-scilab-exec"><![CDATA[ 978 <screen><![CDATA[
979function dg=dgsub(i,zu,parameters) 979function dg = dgsub(i,zu,parameters)
980 ]]></programlisting> 980]]></screen>
981 </listitem> 981 </listitem>
982 </itemizedlist> 982 </itemizedlist>
983 </listitem> 983 </listitem>
@@ -998,22 +998,22 @@ function dg=dgsub(i,zu,parameters)
998 <itemizedlist> 998 <itemizedlist>
999 <listitem> 999 <listitem>
1000 <para>In Fortran the calling sequence must be:</para> 1000 <para>In Fortran the calling sequence must be:</para>
1001 <programlisting role="no-scilab-exec"><![CDATA[ 1001 <screen><![CDATA[
1002subroutine guess(x,zu,dmval) 1002subroutine guess(x,zu,dmval)
1003double precision x,z(*), dmval(*) 1003double precision x,z(*), dmval(*)
1004 ]]></programlisting> 1004]]></screen>
1005 </listitem> 1005 </listitem>
1006 <listitem> 1006 <listitem>
1007 <para>In C the function prototype must be</para> 1007 <para>In C the function prototype must be</para>
1008 <programlisting role="no-scilab-exec"><![CDATA[ 1008 <screen><![CDATA[
1009void fsub(double *x, double *zu, double *dmval) 1009void fsub(double *x, double *zu, double *dmval)
1010 ]]></programlisting> 1010]]></screen>
1011 </listitem> 1011 </listitem>
1012 <listitem> 1012 <listitem>
1013 <para>And in Scilab </para> 1013 <para>And in Scilab </para>
1014 <programlisting role="no-scilab-exec"><![CDATA[ 1014 <screen><![CDATA[
1015function [dmval,zu]=fsub(x,parameters) 1015function [dmval,zu] = fsub(x,parameters)
1016 ]]></programlisting> 1016]]></screen>
1017 </listitem> 1017 </listitem>
1018 </itemizedlist> 1018 </itemizedlist>
1019 </listitem> 1019 </listitem>
@@ -1762,101 +1762,101 @@ function [dmval,zu]=fsub(x,parameters)
1762 </imageobject> 1762 </imageobject>
1763 </mediaobject> 1763 </mediaobject>
1764 <programlisting role="example"><![CDATA[ 1764 <programlisting role="example"><![CDATA[
1765N=1;// just one differential equation 1765N = 1; // just one differential equation
1766m=4;//a fourth order differential equation 1766m = 4; // a fourth order differential equation
1767M=sum(m); 1767M = sum(m);
1768 1768
1769x_low=1; 1769x_low = 1;
1770x_up=2; // the x limits 1770x_up = 2; // the x limits
1771zeta=[x_low,x_low,x_up,x_up]; //two constraints (on the value of u and its second derivative) on each bound. 1771zeta = [x_low,x_low,x_up,x_up]; // two constraints (on the value of u and its second derivative) on each bound.
1772 1772
1773//The external functions 1773// The external functions
1774//These functions are called by the solver with zu=[u(x);u'(x);u''(x);u'''(x)] 1774// These functions are called by the solver with zu=[u(x);u'(x);u''(x);u'''(x)]
1775 1775
1776// - The function which computes the right hand side of the differential equation 1776// - The function which computes the right hand side of the differential equation
1777function f=fsub(x,zu) 1777function f = fsub(x,zu)
1778 f=(1-6*x^2*zu(4)-6*x*zu(3))/x^3 1778 f = (1-6*x^2*zu(4)-6*x*zu(3))/x^3
1779endfunction 1779endfunction
1780 1780
1781// - The function which computes the derivative of fsub with respect to zu 1781// - The function which computes the derivative of fsub with respect to zu
1782function df=dfsub(x,zu) 1782function df = dfsub(x,zu)
1783 df=[0,0,-6/x^2,-6/x] 1783 df = [0,0,-6/x^2,-6/x]
1784endfunction 1784endfunction
1785 1785
1786// - The function which computes the ith constraint for a given i 1786// - The function which computes the ith constraint for a given i
1787function g=gsub(i,zu), 1787function g = gsub(i,zu),
1788 select i 1788 select i
1789 case 1 then //x=zeta(1)=1 1789 case 1 then // x = zeta(1) = 1
1790 g=zu(1) //u(1)=0 1790 g = zu(1) // u(1) = 0
1791 case 2 then //x=zeta(2)=1 1791 case 2 then // x = zeta(2) = 1
1792 g=zu(3) //u''(1)=0 1792 g = zu(3) // u''(1) = 0
1793 case 3 then //x=zeta(3)=2 1793 case 3 then // x = zeta(3) = 2
1794 g=zu(1) //u(2)=0 1794 g = zu(1) // u(2) = 0
1795 case 4 then //x=zeta(4)=2 1795 case 4 then // x = zeta(4) = 2
1796 g=zu(3) //u''(2)=0 1796 g = zu(3) // u''(2) = 0
1797 end 1797 end
1798endfunction 1798endfunction
1799 1799
1800// - The function which computes the derivative of gsub with respect to z 1800// - The function which computes the derivative of gsub with respect to z
1801function dg=dgsub(i,z) 1801function dg = dgsub(i,z)
1802 select i 1802 select i
1803 case 1 then //x=zeta(1)=1 1803 case 1 then // x = zeta(1) = 1
1804 dg=[1,0,0,0] 1804 dg = [1,0,0,0]
1805 case 2 then //x=zeta(2)=1 1805 case 2 then // x = zeta(2) = 1
1806 dg=[0,0,1,0] 1806 dg = [0,0,1,0]
1807 case 3 then //x=zeta(3)=2 1807 case 3 then // x = zeta(3) = 2
1808 dg=[1,0,0,0] 1808 dg = [1,0,0,0]
1809 case 4 then //x=zeta(4)=2 1809 case 4 then // x = zeta(4) = 2
1810 dg=[0,0,1,0] 1810 dg = [0,0,1,0]
1811 end 1811 end
1812endfunction 1812endfunction
1813 1813
1814// - The function which computes the initial guess, unused here 1814// - The function which computes the initial guess, unused here
1815function [zu,mpar]=guess(x) 1815function [zu,mpar] = guess(x)
1816 zu=0; 1816 zu = 0;
1817 mpar=0; 1817 mpar = 0;
1818endfunction 1818endfunction
1819 1819
1820//define the function which computes the exact value of u for a given x ( for testing purposes) 1820// define the function which computes the exact value of u for a given x ( for testing purposes)
1821function zu=trusol(x) 1821function zu = trusol(x)
1822 zu=0*ones(4,1) 1822 zu = 0*ones(4,1)
1823 zu(1) = 0.25*(10*log(2)-3)*(1-x) + 0.5 *( 1/x + (3+x)*log(x) - x) 1823 zu(1) = 0.25*(10*log(2)-3)*(1-x) + 0.5 *( 1/x + (3+x)*log(x) - x)
1824 zu(2) = -0.25*(10*log(2)-3) + 0.5 *(-1/x^2 + (3+x)/x + log(x) - 1) 1824 zu(2) = -0.25*(10*log(2)-3) + 0.5 *(-1/x^2 + (3+x)/x + log(x) - 1)
1825 zu(3) = 0.5*( 2/x^3 + 1/x - 3/x^2) 1825 zu(3) = 0.5*( 2/x^3 + 1/x - 3/x^2)
1826 zu(4) = 0.5*(-6/x^4 - 1/x/x + 6/x^3) 1826 zu(4) = 0.5*(-6/x^4 - 1/x/x + 6/x^3)
1827endfunction 1827endfunction
1828 1828
1829fixpnt=[ ];//All boundary conditions are located at x_low and x_up 1829fixpnt = []; // All boundary conditions are located at x_low and x_up
1830 1830
1831// nonlin collpnt n ntol ndimf ndimi iprint iread iguess rstart nfxpnt 1831// nonlin collpnt n ntol ndimf ndimi iprint iread iguess rstart nfxpnt
1832ipar=[0 0 1 2 2000 200 1 0 0 0 0 ] 1832ipar = [0 0 1 2 2000 200 1 0 0 0 0 ]
1833 1833
1834ltol=[1,3];//set tolerance control on zu(1) and zu(3) 1834ltol = [1,3]; // set tolerance control on zu(1) and zu(3)
1835tol=[1.e-11,1.e-11];//set tolerance values for these two controls 1835tol = [1.e-11,1.e-11]; // set tolerance values for these two controls
1836xpoints=x_low:0.01:x_up; 1836xpoints = x_low:0.01:x_up;
1837 1837
1838zu=bvode(xpoints,N,m,x_low,x_up,zeta,ipar,ltol,tol,fixpnt,... 1838zu = bvode(xpoints,N,m,x_low,x_up,zeta,ipar,ltol,tol,fixpnt,...
1839 fsub,dfsub,gsub,dgsub,guess) 1839 fsub,dfsub,gsub,dgsub,guess)
1840//check the constraints 1840// check the constraints
1841zu([1,3],[1 $]) //should be zero 1841zu([1,3],[1 $]) // should be zero
1842plot(xpoints,zu(1,:)) // the evolution of the solution u 1842plot(xpoints,zu(1,:)) // the evolution of the solution u
1843zu1=[]; 1843zu1 = [];
1844for x=xpoints 1844for x = xpoints
1845 zu1=[zu1,trusol(x)]; 1845 zu1 = [zu1,trusol(x)];
1846end; 1846end
1847norm(zu-zu1) 1847norm(zu-zu1)
1848 ]]></programlisting> 1848 ]]></programlisting>
1849 </listitem> 1849 </listitem>
1850 <listitem> 1850 <listitem>
1851 <para> 1851 <para>
1852 Same problem using <literal>bvodeS</literal> and an initial guess. 1852 Same problem using <literal>bvodeS</literal> and an initial guess.
1853 </para> 1853 </para>
1854 <programlisting role="no-scilab-exec"><![CDATA[ 1854 <programlisting role="no-scilab-exec"><![CDATA[
1855function [z,lhS]=zstart(x) 1855function [z,lhS] = zstart(x)
1856 z=zeros(5,1);z(5)=1; 1856 z = zeros(5,1); z(5) = 1;
1857 lhS=[0;1]; 1857 lhS = [0;1];
1858endfunction 1858endfunction
1859zu=bvode(xpoints,N,m,x_low,x_up,zeta,ltol=ltol,tol=tol,guess=zstart) 1859zu = bvode(xpoints, N, m, x_low,x_up, zeta, ltol=ltol,tol=tol, guess=zstart)
1860 ]]></programlisting> 1860 ]]></programlisting>
1861 </listitem> 1861 </listitem>
1862 <listitem> 1862 <listitem>
@@ -1866,7 +1866,7 @@ zu=bvode(xpoints,N,m,x_low,x_up,zeta,ltol=ltol,tol=tol,guess=zstart)
1866 thickness subject to a quadratically varying axisymmetric external pressure 1866 thickness subject to a quadratically varying axisymmetric external pressure
1867 distribution. Here <emphasis>φ</emphasis> is the meridian angle change of the 1867 distribution. Here <emphasis>φ</emphasis> is the meridian angle change of the
1868 deformed shell and <emphasis>ψ</emphasis> is a stress function. 1868 deformed shell and <emphasis>ψ</emphasis> is a stress function.
1869 For <emphasis>ε = μ = 10<superscript>-3</superscript></emphasis>, two 1869 For <emphasis>ε = μ = 10<superscript>-3</superscript></emphasis>, two
1870 different solutions may found depending on the starting point 1870 different solutions may found depending on the starting point
1871 </para> 1871 </para>
1872 <mediaobject> 1872 <mediaobject>
@@ -2092,100 +2092,98 @@ zu=bvode(xpoints,N,m,x_low,x_up,zeta,ltol=ltol,tol=tol,guess=zstart)
2092 for <literal>x=0</literal> and <literal>x=1</literal> 2092 for <literal>x=0</literal> and <literal>x=1</literal>
2093 </para> 2093 </para>
2094 <programlisting role="example"><![CDATA[ 2094 <programlisting role="example"><![CDATA[
2095N=2;// two differential equations 2095N = 2; // two differential equations
2096m=[2 2];//each differential equation is of second order 2096m = [2 2]; // each differential equation is of second order
2097M=sum(m); 2097M = sum(m);
2098 2098
2099x_low=0;x_up=1; // the x limits 2099x_low = 0;x_up=1; // the x limits
2100zeta=[x_low,x_low, x_up x_up]; //two constraints on each bound. 2100zeta = [x_low,x_low, x_up x_up]; // two constraints on each bound.
2101 2101
2102//The external functions 2102// The external functions
2103//These functions are called by the solver with zu=[u1(x);u1'(x);u2(x);u2'(x)] 2103// These functions are called by the solver with zu=[u1(x);u1'(x);u2(x);u2'(x)]
2104 2104
2105// - The function which computes the right hand side of the differential equation 2105// - The function which computes the right hand side of the differential equation
2106function f=fsub2(x,zu,eps,dmu,eps4mu,gam,xt), 2106function f = fsub2(x,zu,eps,dmu,eps4mu,gam,xt),
2107 f=[zu(1)/x^2-zu(2)/x+(zu(1)-zu(3)*(1-zu(1)/x)-gam*x*(1-x^2/2))/eps4mu //phi'' 2107 f = [zu(1)/x^2-zu(2)/x+(zu(1)-zu(3)*(1-zu(1)/x)-gam*x*(1-x^2/2))/eps4mu //phi''
2108 zu(3)/x^2-zu(4)/x+zu(1)*(1-zu(1)/(2*x))/dmu];//psi'' 2108 zu(3)/x^2-zu(4)/x+zu(1)*(1-zu(1)/(2*x))/dmu];//psi''
2109endfunction 2109endfunction
2110 2110
2111// - The function which computes the derivative of fsub with respect to zu 2111// - The function which computes the derivative of fsub with respect to zu
2112function df=dfsub2(x,zu,eps,dmu,eps4mu,gam,xt), 2112function df = dfsub2(x,zu,eps,dmu,eps4mu,gam,xt),
2113 df=[1/x^2+(1+zu(3)/x)/eps4mu, -1/x, -(1-zu(1)/x)/eps4mu, 0 2113 df = [1/x^2+(1+zu(3)/x)/eps4mu, -1/x, -(1-zu(1)/x)/eps4mu, 0
2114 (1-zu(1)/x)/dmu 0 1/x^2 -1/x]; 2114 (1-zu(1)/x)/dmu 0 1/x^2 -1/x];
2115endfunction 2115endfunction
2116 2116
2117// - The function which computes the ith constraint for a given i 2117// - The function which computes the ith constraint for a given i
2118function g=gsub2(i,zu), 2118function g = gsub2(i,zu),
2119 select i 2119 select i
2120 case 1 then //x=zeta(1)=0 2120 case 1 then // x = zeta(1) = 0
2121 g=zu(1) //u(0)=0 2121 g = zu(1) // u(0) = 0
2122 case 2 then //x=zeta(2)=0 2122 case 2 then // x = zeta(2) = 0
2123 g=-0.3*zu(3) //x*psi'-0.3*psi+0.7x=0 2123 g = -0.3*zu(3) // x*psi'-0.3*psi+0.7x = 0
2124 case 3 then //x=zeta(3)=1 2124 case 3 then // x = zeta(3) = 1
2125 g=zu(1) //u(1)=0 2125 g = zu(1) // u(1) = 0
2126 case 4 then //x=zeta(4)=1 2126 case 4 then // x = zeta(4) = 1
2127 g=1*zu(4)-0.3*zu(3)+0.7*1 //x*psi'-0.3*psi+0.7x=0 2127 g = 1*zu(4)-0.3*zu(3)+0.7*1 // x*psi'-0.3*psi+0.7x = 0
2128 end 2128 end
2129endfunction 2129endfunction
2130 2130
2131// - The function which computes the derivative of gsub with respect to z 2131// - The function which computes the derivative of gsub with respect to z
2132function dg=dgsub2(i,z) 2132function dg = dgsub2(i,z)
2133 select i 2133 select i
2134 case 1 then //x=zeta(1)=1 2134 case 1 then // x = zeta(1) = 1
2135 dg=[1,0,0,0] 2135 dg = [1,0,0,0]
2136 case 2 then //x=zeta(2)=1 2136 case 2 then // x = zeta(2) = 1
2137 dg=[0,0,-0.3,0] 2137 dg = [0,0,-0.3,0]
2138 case 3 then //x=zeta(3)=2 2138 case 3 then // x = zeta(3) = 2
2139 dg=[1,0,0,0] 2139 dg = [1,0,0,0]
2140 case 4 then //x=zeta(4)=2 2140 case 4 then // x = zeta(4) = 2
2141 dg=[0,0,-0.3,1] 2141 dg = [0,0,-0.3,1]
2142 end 2142 end
2143endfunction 2143endfunction
2144 2144
2145gam=1.1 2145[gam, eps, dmu] = (1.1, 1d-3, 1d-3);
2146eps=1d-3 2146eps4mu = eps^4/dmu
2147dmu=eps 2147xt = sqrt(2*(gam-1)/gam)
2148eps4mu=eps^4/dmu
2149xt=sqrt(2*(gam-1)/gam)
2150 2148
2151fixpnt=[ ];//All boundary conditions are located at x_low and x_up 2149fixpnt = []; // All boundary conditions are located at x_low and x_up
2152collpnt=4; 2150collpnt = 4;
2153nsizef=4+3*M+(5+collpnt*N)*(collpnt*N+M)+(2*M-2)*2*M ; 2151nsizef = 4 + 3*M + (5+collpnt*N)*(collpnt*N+M)+(2*M-2)*2*M ;
2154nsizei=3 + collpnt*N+M; 2152nsizei = 3 + collpnt*N+M;
2155nmax=200; 2153nmax = 200;
2156// nonlin collpnt n ntol ndimf ndimi iprint iread iguess rstart nfxpnt 2154// nonlin collpnt n ntol ndimf ndimi iprint iread iguess rstart nfxpnt
2157ipar=[1 collpnt 10 4 nmax*nsizef nmax*nsizei -1 0 0 0 0 ] 2155ipar = [1 collpnt 10 4 nmax*nsizef nmax*nsizei -1 0 0 0 0 ];
2158 2156
2159ltol=1:4;//set tolerance control on zu(1), zu(2), zu(3) and zu(4) 2157ltol = 1:4; // set tolerance control on zu(1), zu(2), zu(3) and zu(4)
2160tol=[1.e-5,1.e-5,1.e-5,1.e-5];//set tolreance values for these four controls 2158tol = [1.e-5,1.e-5,1.e-5,1.e-5]; // set tolreance values for these four controls
2161xpoints=x_low:0.01:x_up; 2159xpoints = x_low:0.01:x_up;
2162 2160
2163// - The function which computes the initial guess, unused here 2161// - The function which computes the initial guess, unused here
2164function [zu,dmval]=guess2(x,gam), 2162function [zu,dmval] = guess2(x,gam),
2165 cons=gam*x*(1-x^2/2) 2163 cons = gam*x*(1-x^2/2)
2166 dcons=gam*(1-3*x^2/2) 2164 dcons = gam*(1-3*x^2/2)
2167 d2cons=-3*gam*x 2165 d2cons = -3*gam*x
2168 dmval=zeros(2,1) 2166 dmval = zeros(2,1)
2169 if x>xt then 2167 if x>xt then
2170 zu=[0 0 -cons -dcons] 2168 zu = [0 0 -cons -dcons]
2171 dmval(2)=-d2cons 2169 dmval(2) = -d2cons
2172 else 2170 else
2173 zu=[2*x;2;-2*x+cons;-2*dcons] 2171 zu = [2*x;2; -2*x+cons; -2*dcons]
2174 dmval(2)=d2cons 2172 dmval(2) = d2cons
2175 end 2173 end
2176endfunction 2174endfunction
2177 2175
2178zu=bvode(xpoints,N,m,x_low,x_up,zeta,ipar,ltol,tol,fixpnt,... 2176zu = bvode(xpoints,N,m,x_low,x_up,zeta,ipar,ltol,tol,fixpnt,...
2179 fsub2,dfsub2,gsub2,dgsub2,guess2); 2177 fsub2,dfsub2,gsub2,dgsub2,guess2);
2180scf(1);clf();plot(xpoints,zu([1 3],:)) // the evolution of the solution phi and psi 2178scf(1); clf(); plot(xpoints,zu([1 3],:)) // the evolution of the solution phi and psi
2181 2179
2182//using an initial guess 2180// using an initial guess
2183ipar(9)=1;//iguess 2181ipar(9) = 1; // iguess
2184 2182
2185zu2=bvode(xpoints,N,m,x_low,x_up,zeta,ipar,ltol,tol,fixpnt,... 2183zu2 = bvode(xpoints,N,m,x_low,x_up,zeta,ipar,ltol,tol,fixpnt,...
2186 fsub2,dfsub2,gsub2,dgsub2,guess2); 2184 fsub2,dfsub2,gsub2,dgsub2,guess2);
2187scf(2);clf();plot(xpoints,zu2([1 3],:)) // the evolution of the solution phi and psi 2185scf(2); clf(); plot(xpoints,zu2([1 3],:)) // the evolution of the solution phi and psi
2188 ]]></programlisting> 2186 ]]></programlisting>
2189 </listitem> 2187 </listitem>
2190 <listitem> 2188 <listitem>
2191 <para> 2189 <para>
@@ -2204,43 +2202,41 @@ scf(2);clf();plot(xpoints,zu2([1 3],:)) // the evolution of the solution phi and
2204// BV: y(0)=y'(0), y(0)=1; y(1)=0 2202// BV: y(0)=y'(0), y(0)=1; y(1)=0
2205// z=[y(x) ; y'(x) ; la] 2203// z=[y(x) ; y'(x) ; la]
2206 2204
2207function rhs=fsub(x,z) 2205function rhs = fsub(x,z)
2208 rhs=[-z(3)*z(1);0] 2206 rhs = [-z(3)*z(1);0]
2209endfunction 2207endfunction
2210 2208
2211function g=gsub(i,z) 2209function g = gsub(i,z)
2212 g=[z(1)-z(2) z(1)-1 z(1)] 2210 g = [z(1)-z(2) z(1)-1 z(1)]
2213 g=g(i) 2211 g = g(i)
2214endfunction 2212endfunction
2215 2213
2216// The following start function is good for the first 8 eigenfunctions. 2214// The following start function is good for the first 8 eigenfunctions.
2217function [z,lhs]=ystart(x,z,la0) 2215function [z,lhs] = ystart(x,z,la0)
2218 z=[1;0;la0] 2216 z = [1;0;la0]
2219 lhs=[0;0] 2217 lhs = [0;0]
2220endfunction 2218endfunction
2221 2219
2222a=0;b=1; 2220[a, b, m, n] =(0, 1, [2;1], 2);
2223m=[2;1]; 2221zeta = [a a b];
2224n=2; 2222N = 101;
2225zeta=[a a b]; 2223x = linspace(a,b,N)';
2226N=101;
2227x=linspace(a,b,N)';
2228 2224
2229// We have s(n)-(n+1/2)*pi -> 0 for n to infinity. 2225// We have s(n)-(n+1/2)*pi -> 0 for n to infinity.
2230la0=evstr(x_dialog('n-th eigenvalue: n= ?','10')); 2226la0 = evstr(x_dialog('n-th eigenvalue: n= ?','10'));
2231la0=(%pi/2+la0*%pi)^2; 2227la0 = (%pi/2+la0*%pi)^2;
2232 2228
2233z=bvodeS(x,m,n,a,b,fsub,gsub,zeta,ystart=list(ystart,la0)); 2229z = bvodeS(x,m,n,a,b,fsub,gsub,zeta,ystart=list(ystart,la0));
2234// The same call without any display 2230// The same call without any display
2235z=bvodeS(x,m,n,a,b,fsub,gsub,zeta,ystart=list(ystart,la0),iprint=1); 2231z = bvodeS(x,m,n,a,b,fsub,gsub,zeta,ystart=list(ystart,la0),iprint=1);
2236// The same with a lot of display 2232// The same with a lot of display
2237z=bvodeS(x,m,n,a,b,fsub,gsub,zeta,ystart=list(ystart,la0),iprint=-1); 2233z = bvodeS(x,m,n,a,b,fsub,gsub,zeta,ystart=list(ystart,la0),iprint=-1);
2238 2234
2239clf() 2235clf()
2240plot(x,[z(1,:)' z(2,:)']) 2236plot(x,[z(1,:)' z(2,:)'])
2241xtitle(['Startvalue = '+string(la0);'Eigenvalue = '+string(z(3,1))],'x',' ') 2237xtitle(['Startvalue = '+string(la0);'Eigenvalue = '+string(z(3,1))],'x',' ')
2242legend(['y(x)';'y''(x)']); 2238legend(['y(x)';'y''(x)']);
2243 ]]></programlisting> 2239 ]]></programlisting>
2244 <scilab:image localized="true"> 2240 <scilab:image localized="true">
2245 function rhs=fsub(x,z) 2241 function rhs=fsub(x,z)
2246 rhs=[-z(3)*z(1);0] 2242 rhs=[-z(3)*z(1);0]
@@ -2279,62 +2275,59 @@ legend(['y(x)';'y''(x)']);
2279 <emphasis role="bold">A boundary value problem with more than one solution.</emphasis> 2275 <emphasis role="bold">A boundary value problem with more than one solution.</emphasis>
2280 </para> 2276 </para>
2281 <programlisting role="example"><![CDATA[ 2277 <programlisting role="example"><![CDATA[
2282// DE: y''(x)=-exp(y(x)) 2278// DE: y''(x) = -exp(y(x))
2283// BV: y(0)=0; y(1)=0 2279// BV: y(0)=0; y(1)=0
2284// This boundary value problem has more than one solution. 2280// This boundary value problem has more than one solution.
2285// It is demonstrated how to find two of them with the help of 2281// It is demonstrated how to find two of them with the help of
2286// some preinformation of the solutions y(x) to build the function ystart. 2282// some preinformation of the solutions y(x) to build the function ystart.
2287// z=[y(x);y'(x)] 2283// z = [y(x);y'(x)]
2288 2284
2289a=0; 2285[a, b, m, n] = (0, 1, 2, 1);
2290b=1; 2286zeta = [a b];
2291m=2; 2287N = 101;
2292n=1; 2288tol = 1e-8*[1 1];
2293zeta=[a b]; 2289x = linspace(a,b,N);
2294N=101; 2290
2295tol=1e-8*[1 1]; 2291function rhs = fsub(x,z)
2296x=linspace(a,b,N); 2292 rhs = -exp(z(1))
2297
2298function rhs=fsub(x,z)
2299 rhs=-exp(z(1));
2300endfunction 2293endfunction
2301 2294
2302function g=gsub(i,z) 2295function g = gsub(i,z)
2303 g=[z(1) z(1)] 2296 g = [z(1) z(1)]
2304 g=g(i) 2297 g = g(i)
2305endfunction 2298endfunction
2306 2299
2307function [z,lhs]=ystart(x,z,M) 2300function [z,lhs] = ystart(x,z,M)
2308 //z=[4*x*(1-x)*M ; 4*(1-2*x)*M] 2301 // z = [4*x*(1-x)*M ; 4*(1-2*x)*M]
2309 z=[M;0] 2302 z = [M;0]
2310 //lhs=[-exp(4*x*(1-x)*M)] 2303 //lhs = [-exp(4*x*(1-x)*M)]
2311 lhs=0 2304 lhs = 0
2312endfunction 2305endfunction
2313 2306
2314for M=[1 4] 2307for M = [1 4]
2315 if M==1 2308 if M==1
2316 z=bvodeS(x,m,n,a,b,fsub,gsub,zeta,ystart=list(ystart,M),tol=tol); 2309 z = bvodeS(x,m,n,a,b,fsub,gsub,zeta,ystart=list(ystart,M),tol=tol);
2317 else 2310 else
2318 z1=bvodeS(x,m,n,a,b,fsub,gsub,zeta,ystart=list(ystart,M),tol=tol); 2311 z1 = bvodeS(x,m,n,a,b,fsub,gsub,zeta,ystart=list(ystart,M),tol=tol);
2319 end 2312 end
2320end 2313end
2321 2314
2322// Integrating the ode yield e.g. the two solutions yex and yex1. 2315// Integrating the ode yield e.g. the two solutions yex and yex1.
2323 2316
2324function y=f(c) 2317function y = f(c)
2325 y=c.*(1-tanh(sqrt(c)/4).^2)-2; 2318 y = c.*(1-tanh(sqrt(c)/4).^2)-2;
2326endfunction 2319endfunction
2327c=fsolve(2,f); 2320c = fsolve(2,f);
2328 2321
2329function y=yex(x,c) 2322function y = yex(x,c)
2330 y=log(c/2*(1-tanh(sqrt(c)*(1/4-x/2)).^2)) 2323 y = log(c/2*(1-tanh(sqrt(c)*(1/4-x/2)).^2))
2331endfunction 2324endfunction
2332 2325
2333function y=f1(c1), y=2*c1^2+tanh(1/4/c1)^2-1;endfunction 2326function y = f1(c1), y=2*c1^2+tanh(1/4/c1)^2-1; endfunction
2334c1=fsolve(0.1,f1); 2327c1 = fsolve(0.1,f1);
2335 2328
2336function y=yex1(x,c1) 2329function y = yex1(x,c1)
2337 y=log((1-tanh((2*x-1)/4/c1).^2)/2/c1/c1) 2330 y = log((1-tanh((2*x-1)/4/c1).^2)/2/c1/c1)
2338endfunction 2331endfunction
2339 2332
2340disp('norm(yex(x)-z(1,:))= ', norm(z(1,:)-yex(x))) 2333disp('norm(yex(x)-z(1,:))= ', norm(z(1,:)-yex(x)))
@@ -2346,7 +2339,7 @@ xtitle('Two different solutions','x',' ')
2346subplot(2,1,2) 2339subplot(2,1,2)
2347plot2d(x,z1(1,:),style=[5]) 2340plot2d(x,z1(1,:),style=[5])
2348xtitle(' ','x',' ') 2341xtitle(' ','x',' ')
2349 ]]></programlisting> 2342 ]]></programlisting>
2350 <scilab:image localized="true"> 2343 <scilab:image localized="true">
2351 a=0; 2344 a=0;
2352 b=1; 2345 b=1;
@@ -2413,36 +2406,36 @@ xtitle(' ','x',' ')
2413 </para> 2406 </para>
2414 <programlisting role="example"><![CDATA[ 2407 <programlisting role="example"><![CDATA[
2415// DE y'''(x)=1 2408// DE y'''(x)=1
2416// z=[y(x);y'(x);y''(x)] 2409// z = [y(x);y'(x);y''(x)]
2417// BV: y(-1)=2 y(1)=2 2410// BV: y(-1)=2 y(1)=2
2418// Side condition: y(0)=1 2411// Side condition: y(0)=1
2419 2412
2420a=-1;b=1;c=0; 2413a = -1; b = 1; c = 0;
2421// The side condition point c must be included in the array fixpnt. 2414// The side condition point c must be included in the array fixpnt.
2422n=1; 2415n = 1;
2423m=[3]; 2416m = 3;
2424 2417
2425function rhs=fsub(x,z) 2418function rhs = fsub(x,z)
2426 rhs=1 2419 rhs = 1
2427endfunction 2420endfunction
2428 2421
2429function g=gsub(i,z) 2422function g = gsub(i,z)
2430 g=[z(1)-2 z(1)-1 z(1)-2] 2423 g = [z(1)-2 z(1)-1 z(1)-2]
2431 g=g(i) 2424 g = g(i)
2432endfunction 2425endfunction
2433 2426
2434N=10; 2427N = 10;
2435zeta=[a c b]; 2428zeta = [a c b];
2436x=linspace(a,b,N); 2429x = linspace(a,b,N);
2437 2430
2438z=bvodeS(x,m,n,a,b,fsub,gsub,zeta,fixpnt=c); 2431z = bvodeS(x,m,n,a,b,fsub,gsub,zeta,fixpnt=c);
2439 2432
2440function y=yex(x) 2433function y = yex(x)
2441y=x.^3/6+x.^2-x./6+1 2434 y = x.^3/6 + x.^2 - x/6 + 1
2442endfunction 2435endfunction
2443 2436
2444disp(norm(yex(x)-z(1,:)),'norm(yex(x)-z(1,:))= ') 2437disp(norm(yex(x)-z(1,:)),'norm(yex(x)-z(1,:))= ')
2445 ]]></programlisting> 2438 ]]></programlisting>
2446 </listitem> 2439 </listitem>
2447 <listitem> 2440 <listitem>
2448 <para> 2441 <para>
@@ -2467,8 +2460,8 @@ disp(norm(yex(x)-z(1,:)),'norm(yex(x)-z(1,:))= ')
2467// the differential equation at 1.0 and y, z_3=1, z_4=1/(2*y-1) 2460// the differential equation at 1.0 and y, z_3=1, z_4=1/(2*y-1)
2468// Ref: http://arxiv.org/pdf/hep-th/0407005 2461// Ref: http://arxiv.org/pdf/hep-th/0407005
2469 2462
2470y= 1.9d0; 2463y = 1.9d0;
2471eigens=zeros(3,40); // To store the results 2464eigens = zeros(3,40); // To store the results
2472 2465
2473// General setup for bvode 2466// General setup for bvode
2474 2467
@@ -2561,21 +2554,21 @@ res = [linspace(0,.99,100) linspace(1,y,101)];
2561// f(x)=2*x-1 and constant c_2, c_3, so dmval=0. Notice that the z-vector 2554// f(x)=2*x-1 and constant c_2, c_3, so dmval=0. Notice that the z-vector
2562// has mstar = 4 components, while dmval has ncomp = 3 components. 2555// has mstar = 4 components, while dmval has ncomp = 3 components.
2563 2556
2564function [z,dmval]=guess(x) 2557function [z,dmval] = guess(x)
2565 z=[2*x-1, 2., 1., 1/(2*y-1)] 2558 z = [2*x-1, 2., 1., 1/(2*y-1)]
2566 dmval=[0,0,0] 2559 dmval = [0,0,0]
2567endfunction 2560endfunction
2568 2561
2569// First execution has ipar(9)=1 and uses the guess 2562// First execution has ipar(9)=1 and uses the guess
2570// Subsequent executions have ipar(9)=3 and use continuation. This is 2563// Subsequent executions have ipar(9)=3 and use continuation. This is
2571// run in tight closed loop to not disturb the stack 2564// run in tight closed loop to not disturb the stack
2572 2565
2573for i=1:40 2566for i = 1:40
2574v=valv(i); 2567 v = valv(i);
2575sol=bvode(res,ncomp,m,aleft,aright,zeta,ipar,ltol,tol,fixpnt,... 2568 sol = bvode(res,ncomp,m,aleft,aright,zeta,ipar,ltol,tol,fixpnt,...
2576 fsub,dfsub,gsub,dgsub,guess); 2569 fsub,dfsub,gsub,dgsub,guess);
2577eigens(:,i)=[v;sol(3,101);sol(4,101)]; // c_2 and c_3 are constant! 2570 eigens(:,i) = [v;sol(3,101);sol(4,101)]; // c_2 and c_3 are constant!
2578ipar(9)=3; 2571 ipar(9) = 3;
2579end 2572end
2580 2573
2581// To see the evolution of the eigenvalues with v, disp(eigens) 2574// To see the evolution of the eigenvalues with v, disp(eigens)
@@ -2586,27 +2579,10 @@ end
2586// This is markedly different from the case at small v. 2579// This is markedly different from the case at small v.
2587// The continuation procedure allows to explore these exponential behaviours 2580// The continuation procedure allows to explore these exponential behaviours
2588// without skipping to other eigenstates. 2581// without skipping to other eigenstates.
2589 ]]></programlisting> 2582 ]]></programlisting>
2590 </listitem> 2583 </listitem>
2591 </itemizedlist> 2584 </itemizedlist>
2592 </refsection> 2585 </refsection>
2593 <refsection role="see also">
2594 <title>See also</title>
2595 <simplelist type="inline">
2596 <member>
2597 <link linkend="link">link</link>
2598 </member>
2599 <member>
2600 <link linkend="external">external</link>
2601 </member>
2602 <member>
2603 <link linkend="ode">ode</link>
2604 </member>
2605 <member>
2606 <link linkend="dassl">dassl</link>
2607 </member>
2608 </simplelist>
2609 </refsection>
2610 <refsection> 2586 <refsection>
2611 <title>Used Functions</title> 2587 <title>Used Functions</title>
2612 <para>This function is based on the Fortran routine 2588 <para>This function is based on the Fortran routine
@@ -2655,4 +2631,21 @@ end
2655 </listitem> 2631 </listitem>
2656 </orderedlist> 2632 </orderedlist>
2657 </refsection> 2633 </refsection>
2634 <refsection role="see also">
2635 <title>See also</title>
2636 <simplelist type="inline">
2637 <member>
2638 <link linkend="link">link</link>
2639 </member>
2640 <member>
2641 <link linkend="external">external</link>
2642 </member>
2643 <member>
2644 <link linkend="ode">ode</link>
2645 </member>
2646 <member>
2647 <link linkend="dassl">dassl</link>
2648 </member>
2649 </simplelist>
2650 </refsection>
2658</refentry> 2651</refentry>
diff --git a/scilab/modules/differential_equations/help/en_US/dae.xml b/scilab/modules/differential_equations/help/en_US/dae.xml
index 326a6ac..d27d268 100644
--- a/scilab/modules/differential_equations/help/en_US/dae.xml
+++ b/scilab/modules/differential_equations/help/en_US/dae.xml
@@ -123,15 +123,15 @@
123 <para>This form of external is used to pass parameters to the 123 <para>This form of external is used to pass parameters to the
124 function. It must be as follows: 124 function. It must be as follows:
125 </para> 125 </para>
126 <programlisting role="no-scilab-exec"><![CDATA[ 126 <screen><![CDATA[
127list(res,p1,p2,...) 127list(res,p1,p2,...)
128 ]]></programlisting> 128]]></screen>
129 <para>where the syntax of the function 129 <para>where the syntax of the function
130 <literal>res</literal> is now 130 <literal>res</literal> is now
131 </para> 131 </para>
132 <programlisting role="no-scilab-exec"><![CDATA[ 132 <screen><![CDATA[
133r=res(t,y,ydot,p1,p2,...) 133r=res(t,y,ydot,p1,p2,...)
134 ]]></programlisting> 134]]></screen>
135 <para> 135 <para>
136 <literal>res</literal> still returns the residual value 136 <literal>res</literal> still returns the residual value
137 as a function of <literal>(t,x,xdot,x1,x2,...)</literal>, and 137 as a function of <literal>(t,x,xdot,x1,x2,...)</literal>, and
@@ -251,15 +251,15 @@ r=res(t,y,ydot,p1,p2,...)
251 <para>This form of external is used to pass parameters to the 251 <para>This form of external is used to pass parameters to the
252 function. It must be as follows: 252 function. It must be as follows:
253 </para> 253 </para>
254 <programlisting role="no-scilab-exec"><![CDATA[ 254 <screen><![CDATA[
255list(jac,p1,p2,...) 255list(jac,p1,p2,...)
256 ]]></programlisting> 256]]></screen>
257 <para>where the syntax of the function 257 <para>where the syntax of the function
258 <literal>jac</literal> is now 258 <literal>jac</literal> is now
259 </para> 259 </para>
260 <programlisting role="no-scilab-exec"><![CDATA[ 260 <screen><![CDATA[
261r=jac(t,x,xdot,p1,p2,...) 261r = jac(t,x,xdot,p1,p2,...)
262 ]]></programlisting> 262]]></screen>
263 <para> 263 <para>
264 <literal>jac</literal> still returns 264 <literal>jac</literal> still returns
265 <literal>dg/dx+cj*dg/dxdot</literal> as a function of 265 <literal>dg/dx+cj*dg/dxdot</literal> as a function of
@@ -338,15 +338,15 @@ r=jac(t,x,xdot,p1,p2,...)
338 This form of <link linkend="external">external</link> is used to pass parameters to the 338 This form of <link linkend="external">external</link> is used to pass parameters to the
339 function. It must be as follows: 339 function. It must be as follows:
340 </para> 340 </para>
341 <programlisting role="no-scilab-exec"><![CDATA[ 341 <screen><![CDATA[
342list(surface,p1,p2,...) 342list(surface,p1,p2,...)
343 ]]></programlisting> 343]]></screen>
344 <para>where the syntax of the function 344 <para>where the syntax of the function
345 <literal>surface</literal> is now 345 <literal>surface</literal> is now
346 </para> 346 </para>
347 <programlisting role="no-scilab-exec"><![CDATA[ 347 <screen><![CDATA[
348r=surface(t,x,p1,p2,...) 348r = surface(t,x,p1,p2,...)
349 ]]></programlisting> 349]]></screen>
350 </listitem> 350 </listitem>
351 </varlistentry> 351 </varlistentry>
352 <varlistentry> 352 <varlistentry>
@@ -462,10 +462,10 @@ r=surface(t,x,p1,p2,...)
462 Option <literal>"root"</literal> calls the <link linkend="dasrt">dasrt</link> routine, 462 Option <literal>"root"</literal> calls the <link linkend="dasrt">dasrt</link> routine,
463 and <literal>"root2"</literal> calls <link linkend="dasrt">daskr</link>. 463 and <literal>"root2"</literal> calls <link linkend="dasrt">daskr</link>.
464 </para> 464 </para>
465 <programlisting role="no-scilab-exec"><![CDATA[ 465 <screen><![CDATA[
466g(t, x, xdot) = 0 466g(t, x, xdot) = 0
467x(t0) = x0 and xdot(t0) = xdot0 467x(t0) = x0 and xdot(t0) = xdot0
468 ]]></programlisting> 468]]></screen>
469 <para> 469 <para>
470 If <literal>xdot0</literal> is not given in the <emphasis>initial</emphasis> 470 If <literal>xdot0</literal> is not given in the <emphasis>initial</emphasis>
471 argument, the <literal>dae</literal> function tries to compute it solving 471 argument, the <literal>dae</literal> function tries to compute it solving
@@ -512,7 +512,7 @@ y = dae([x0, xd0], 0, t, chemres); // Returns requested observation time points
512%DAEOPTIONS = list([], 1, [], [], [], 0, 0); // Ask dae mesh points to be returned 512%DAEOPTIONS = list([], 1, [], [], [], 0, 0); // Ask dae mesh points to be returned
513y = dae([x0, xd0], 0, 4d10, chemres); // Without jacobian 513y = dae([x0, xd0], 0, 4d10, chemres); // Without jacobian
514y = dae([x0, xd0], 0, 4d10, chemres, chemjac); // With jacobian 514y = dae([x0, xd0], 0, 4d10, chemres, chemjac); // With jacobian
515 ]]></programlisting> 515 ]]></programlisting>
516 <para> 516 <para>
517 Example #2: dasrt ("root") 517 Example #2: dasrt ("root")
518 </para> 518 </para>
@@ -571,7 +571,7 @@ y01 = yy(2:3, qq); y0d1 = yy(3:4, qq);
571plot(yy(1, 1), yy(2, 1), 'r+') 571plot(yy(1, 1), yy(2, 1), 'r+')
572xstring(yy(1, 1)+0.1, yy(2, 1), string(nn(1))); 572xstring(yy(1, 1)+0.1, yy(2, 1), string(nn(1)));
573cd(previous_dir); 573cd(previous_dir);
574 ]]></programlisting> 574 ]]></programlisting>
575 <scilab:image localized="false"><![CDATA[ 575 <scilab:image localized="false"><![CDATA[
576code = ['#include <math.h>' 576code = ['#include <math.h>'
577 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)' 577 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)'
@@ -670,7 +670,7 @@ y01 = yy(2:3, qq); y0d1 = yy(3:4, qq);
670plot(yy(1, 1), yy(2, 1), 'r+') 670plot(yy(1, 1), yy(2, 1), 'r+')
671xstring(yy(1, 1)+0.1, yy(2, 1), string(nn(1))); 671xstring(yy(1, 1)+0.1, yy(2, 1), string(nn(1)));
672cd(previous_dir); 672cd(previous_dir);
673 ]]></programlisting> 673 ]]></programlisting>
674 <scilab:image><![CDATA[ 674 <scilab:image><![CDATA[
675code = ['#include <math.h>' 675code = ['#include <math.h>'
676 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)' 676 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)'
diff --git a/scilab/modules/differential_equations/help/en_US/daeoptions.xml b/scilab/modules/differential_equations/help/en_US/daeoptions.xml
index 6fd6c94..cab7379 100644
--- a/scilab/modules/differential_equations/help/en_US/daeoptions.xml
+++ b/scilab/modules/differential_equations/help/en_US/daeoptions.xml
@@ -45,13 +45,13 @@
45 <para> 45 <para>
46 The variable <literal>%DAEOPTIONS</literal> is a <link linkend="list">list</link> with the following elements: 46 The variable <literal>%DAEOPTIONS</literal> is a <link linkend="list">list</link> with the following elements:
47 </para> 47 </para>
48 <programlisting role="no-scilab-exec"><![CDATA[ 48 <screen><![CDATA[
49list(tstop,imode,band,maxstep,stepin,nonneg,isest) 49list(tstop,imode,band,maxstep,stepin,nonneg,isest)
50 ]]></programlisting> 50]]></screen>
51 <para>The default value is:</para> 51 <para>The default value is:</para>
52 <programlisting role="no-scilab-exec"><![CDATA[ 52 <screen><![CDATA[
53list([],0,[],[],[],0,0) 53list([],0,[],[],[],0,0)
54 ]]></programlisting> 54]]></screen>
55 <para>The meaning of the elements is described below.</para> 55 <para>The meaning of the elements is described below.</para>
56 <variablelist> 56 <variablelist>
57 <varlistentry> 57 <varlistentry>
diff --git a/scilab/modules/differential_equations/help/en_US/daskr.xml b/scilab/modules/differential_equations/help/en_US/daskr.xml
index 460c82c..8447864 100644
--- a/scilab/modules/differential_equations/help/en_US/daskr.xml
+++ b/scilab/modules/differential_equations/help/en_US/daskr.xml
@@ -105,15 +105,15 @@
105 <para>This form allows to pass parameters other than t, y, ydot to the function. 105 <para>This form allows to pass parameters other than t, y, ydot to the function.
106 It must be as follows: 106 It must be as follows:
107 </para> 107 </para>
108 <programlisting role="no-scilab-exec"><![CDATA[ 108 <screen><![CDATA[
109list(res, x1, x2, ...) 109list(res, x1, x2, ...)
110 ]]></programlisting> 110]]></screen>
111 <para>where the syntax of the function 111 <para>where the syntax of the function
112 <literal>res</literal> is now 112 <literal>res</literal> is now
113 </para> 113 </para>
114 <programlisting role="no-scilab-exec"><![CDATA[ 114 <screen><![CDATA[
115r = res(t, y, ydot, x1, x2, ...) 115r = res(t, y, ydot, x1, x2, ...)
116 ]]></programlisting> 116]]></screen>
117 <para> 117 <para>
118 <literal>res</literal> still returns 118 <literal>res</literal> still returns
119 <literal>r = g(t, y, ydot)</literal> as a function of 119 <literal>r = g(t, y, ydot)</literal> as a function of
@@ -129,16 +129,16 @@ r = res(t, y, ydot, x1, x2, ...)
129 linked with Scilab. 129 linked with Scilab.
130 </para> 130 </para>
131 <para>In C, the syntax must be:</para> 131 <para>In C, the syntax must be:</para>
132 <programlisting role="no-scilab-exec"><![CDATA[ 132 <screen><![CDATA[
133void res(double *t, double y[], double yd[], double r[], 133void res(double *t, double y[], double yd[], double r[],
134 int *ires, double rpar[], int ipar[]) 134 int *ires, double rpar[], int ipar[])
135 ]]></programlisting> 135]]></screen>
136 <para>In Fortran, it must be:</para> 136 <para>In Fortran, it must be:</para>
137 <programlisting role="no-scilab-exec"><![CDATA[ 137 <screen><![CDATA[
138subroutine res(t, y, yd, r, ires, rpar, ipar) 138subroutine res(t, y, yd, r, ires, rpar, ipar)
139double precision t, y(*), yd(*),r(*),rpar(*) 139double precision t, y(*), yd(*),r(*),rpar(*)
140integer ires, ipar(*) 140integer ires, ipar(*)
141 ]]></programlisting> 141]]></screen>
142 <para> 142 <para>
143 The <literal>rpar</literal> and <literal>ipar</literal> 143 The <literal>rpar</literal> and <literal>ipar</literal>
144 arrays must be present but cannot be used. 144 arrays must be present but cannot be used.
@@ -167,15 +167,15 @@ integer ires, ipar(*)
167 <listitem> 167 <listitem>
168 <para>A list.</para> 168 <para>A list.</para>
169 <para>It must be as follows</para> 169 <para>It must be as follows</para>
170 <programlisting role="no-scilab-exec"><![CDATA[ 170 <screen><![CDATA[
171list(jac, x1, x2, ...) 171list(jac, x1, x2, ...)
172 ]]></programlisting> 172]]></screen>
173 <para>where the syntax of the function 173 <para>where the syntax of the function
174 <literal>jac</literal> is now 174 <literal>jac</literal> is now
175 </para> 175 </para>
176 <programlisting role="no-scilab-exec"><![CDATA[ 176 <screen><![CDATA[
177r=jac(t, y, ydot, cj, x1, x2,...) 177r = jac(t, y, ydot, cj, x1, x2,...)
178 ]]></programlisting> 178]]></screen>
179 <para> 179 <para>
180 <literal>jac</literal> still returns 180 <literal>jac</literal> still returns
181 <literal>dg/dy + cj*dg/dydot</literal> as a function of 181 <literal>dg/dy + cj*dg/dydot</literal> as a function of
@@ -187,16 +187,16 @@ r=jac(t, y, ydot, cj, x1, x2,...)
187 <para>It must refer to the name of a C function or a Fortran subroutine linked with Scilab 187 <para>It must refer to the name of a C function or a Fortran subroutine linked with Scilab
188 </para> 188 </para>
189 <para>In C, the syntax must be:</para> 189 <para>In C, the syntax must be:</para>
190 <programlisting role="no-scilab-exec"><![CDATA[ 190 <screen><![CDATA[
191void jac(double *t, double y[], double yd[], double pd[], 191void jac(double *t, double y[], double yd[], double pd[],
192 double *cj, double rpar[], int ipar[]) 192 double *cj, double rpar[], int ipar[])
193 ]]></programlisting> 193]]></screen>
194 <para>In Fortran, it must be:</para> 194 <para>In Fortran, it must be:</para>
195 <programlisting role="no-scilab-exec"><![CDATA[ 195 <screen><![CDATA[
196subroutine jac(t, y, yd, pd, cj, rpar, ipar) 196subroutine jac(t, y, yd, pd, cj, rpar, ipar)
197double precision t, y(*), yd(*), pd(*), cj, rpar(*) 197double precision t, y(*), yd(*), pd(*), cj, rpar(*)
198integer ipar(*) 198integer ipar(*)
199 ]]></programlisting> 199]]></screen>
200 </listitem> 200 </listitem>
201 </itemizedlist> 201 </itemizedlist>
202 </listitem> 202 </listitem>
@@ -220,30 +220,30 @@ integer ipar(*)
220 <listitem> 220 <listitem>
221 <para>A list.</para> 221 <para>A list.</para>
222 <para>It must be as follows</para> 222 <para>It must be as follows</para>
223 <programlisting role="no-scilab-exec"><![CDATA[ 223 <screen><![CDATA[
224list(surf, x1, x2, ...) 224list(surf, x1, x2, ...)
225 ]]></programlisting> 225]]></screen>
226 <para>where the syntax of the function 226 <para>where the syntax of the function
227 <literal>surf</literal> is now 227 <literal>surf</literal> is now
228 </para> 228 </para>
229 <programlisting role="no-scilab-exec"><![CDATA[ 229 <screen><![CDATA[
230r = surf(t, y, x1, x2, ...) 230r = surf(t, y, x1, x2, ...)
231 ]]></programlisting> 231]]></screen>
232 </listitem> 232 </listitem>
233 <listitem> 233 <listitem>
234 <para>A character string.</para> 234 <para>A character string.</para>
235 <para>It must refer to the name of a C function or a Fortran subroutine linked with Scilab. 235 <para>It must refer to the name of a C function or a Fortran subroutine linked with Scilab.
236 </para> 236 </para>
237 <para>In C, the syntax must be:</para> 237 <para>In C, the syntax must be:</para>
238 <programlisting role="no-scilab-exec"><![CDATA[ 238 <screen><![CDATA[
239void surf(int *ny, double *t, double y[], int *ng, double gout[]) 239void surf(int *ny, double *t, double y[], int *ng, double gout[])
240 ]]></programlisting> 240]]></screen>
241 <para>In Fortran, it must be:</para> 241 <para>In Fortran, it must be:</para>
242 <programlisting role="no-scilab-exec"><![CDATA[ 242 <screen><![CDATA[
243subroutine surf(ny, t, y, ng, gout) 243subroutine surf(ny, t, y, ng, gout)
244double precision t, y(*), gout(*) 244double precision t, y(*), gout(*)
245integer ny, ng 245integer ny, ng
246 ]]></programlisting> 246]]></screen>
247 </listitem> 247 </listitem>
248 </itemizedlist> 248 </itemizedlist>
249 </listitem> 249 </listitem>
@@ -469,15 +469,15 @@ integer ny, ng
469 <listitem> 469 <listitem>
470 <para>A list.</para> 470 <para>A list.</para>
471 <para>It must be as follows:</para> 471 <para>It must be as follows:</para>
472 <programlisting role="no-scilab-exec"><![CDATA[ 472 <screen><![CDATA[
473list(psol, x1, x2, ...) 473list(psol, x1, x2, ...)
474 ]]></programlisting> 474]]></screen>
475 <para> 475 <para>
476 where the syntax of <literal>psol</literal> is now 476 where the syntax of <literal>psol</literal> is now
477 </para> 477 </para>
478 <programlisting role="no-scilab-exec"><![CDATA[ 478 <screen><![CDATA[
479psol(wp, iwp, b, x1, x2, ...) 479psol(wp, iwp, b, x1, x2, ...)
480 ]]></programlisting> 480]]></screen>
481 <para> 481 <para>
482 <literal>psol</literal> still returns the solution in <literal>r</literal>. 482 <literal>psol</literal> still returns the solution in <literal>r</literal>.
483 </para> 483 </para>
@@ -487,21 +487,21 @@ psol(wp, iwp, b, x1, x2, ...)
487 <para>It must refer to the name of a C function or a Fortran subroutine linked with Scilab 487 <para>It must refer to the name of a C function or a Fortran subroutine linked with Scilab
488 </para> 488 </para>
489 <para>In C, the syntax must be:</para> 489 <para>In C, the syntax must be:</para>
490 <programlisting role="no-scilab-exec"><![CDATA[ 490 <screen><![CDATA[
491void psol (int*neq, double*t, double*y, double*ydot, double*savr, 491void psol (int*neq, double*t, double*y, double*ydot, double*savr,
492 double*wk, double*cj, double*wght, double*wp, int*iwp, double*b, double*eplin, int*ier, double*rpar, int*ipar) 492 double*wk, double*cj, double*wght, double*wp, int*iwp, double*b, double*eplin, int*ier, double*rpar, int*ipar)
493 ]]></programlisting> 493]]></screen>
494 where the arrays <literal>wp</literal> and <literal>iwp</literal> contain matrix elements of LU-factored preconditioner 494 where the arrays <literal>wp</literal> and <literal>iwp</literal> contain matrix elements of LU-factored preconditioner
495 <literal>P</literal>, <literal>wp</literal> being the values and 495 <literal>P</literal>, <literal>wp</literal> being the values and
496 <literal>iwp</literal> the pivots used in the factorization. 496 <literal>iwp</literal> the pivots used in the factorization.
497 <para>In Fortran, it must be:</para> 497 <para>In Fortran, it must be:</para>
498 <programlisting role="no-scilab-exec"><![CDATA[ 498 <screen><![CDATA[
499subroutine psol (neq, t, y, ydot, savr, wk, cj, wght, 499subroutine psol (neq, t, y, ydot, savr, wk, cj, wght,
500 wp, iwp, b, eplin, ier, rpar, ipar) 500 wp, iwp, b, eplin, ier, rpar, ipar)
501double precision t,y(*), ydot(*), savr(*), wk(*), cj, wght(*), wp(*), 501double precision t,y(*), ydot(*), savr(*), wk(*), cj, wght(*), wp(*),
502 b(*), eplin, rpar(*) 502 b(*), eplin, rpar(*)
503integer neq, iwp(*), ier, ipar(*) 503integer neq, iwp(*), ier, ipar(*)
504 ]]></programlisting> 504]]></screen>
505 </listitem> 505 </listitem>
506 </itemizedlist> 506 </itemizedlist>
507 </listitem> 507 </listitem>
@@ -525,15 +525,15 @@ integer neq, iwp(*), ier, ipar(*)
525 <listitem> 525 <listitem>
526 <para>A list.</para> 526 <para>A list.</para>
527 <para>It must be as follows</para> 527 <para>It must be as follows</para>
528 <programlisting role="no-scilab-exec"><![CDATA[ 528 <screen><![CDATA[
529list(pjac, x1, x2, ...) 529list(pjac, x1, x2, ...)
530 ]]></programlisting> 530]]></screen>
531 <para> 531 <para>
532 where the syntax of <literal>pjac</literal> is 532 where the syntax of <literal>pjac</literal> is
533 </para> 533 </para>
534 <programlisting role="no-scilab-exec"><![CDATA[ 534 <screen><![CDATA[
535pjac(neq, t, y, ydot, h, cj, rewt, savr, x1, x2,...) 535pjac(neq, t, y, ydot, h, cj, rewt, savr, x1, x2,...)
536 ]]></programlisting> 536]]></screen>
537 <para> 537 <para>
538 <literal>pjac</literal> still returns factorized 538 <literal>pjac</literal> still returns factorized
539 <literal>dg/dy + cj*dg/dydot</literal> as a function of 539 <literal>dg/dy + cj*dg/dydot</literal> as a function of
@@ -545,18 +545,18 @@ pjac(neq, t, y, ydot, h, cj, rewt, savr, x1, x2,...)
545 <para>It must refer to the name of a C function or a Fortran subroutine linked with Scilab 545 <para>It must refer to the name of a C function or a Fortran subroutine linked with Scilab
546 </para> 546 </para>
547 <para>In C, the syntax must be:</para> 547 <para>In C, the syntax must be:</para>
548 <programlisting role="no-scilab-exec"><![CDATA[ 548 <screen><![CDATA[
549void pjac (double*res, int*ires, int*neq, double*t, double*y, double*ydot, double*rewt, double*savr, 549void pjac (double*res, int*ires, int*neq, double*t, double*y, double*ydot, double*rewt, double*savr,
550double*wk, double*h, double*cj, double*wp, int*iwp, int*ier, double*rpar, int*ipar) 550double*wk, double*h, double*cj, double*wp, int*iwp, int*ier, double*rpar, int*ipar)
551 ]]></programlisting> 551]]></screen>
552 <para>In Fortran, it must be:</para> 552 <para>In Fortran, it must be:</para>
553 <programlisting role="no-scilab-exec"><![CDATA[ 553 <screen><![CDATA[
554subroutine pjac (res, ires, neq, t, y, ydot, rewt, savr, 554subroutine pjac (res, ires, neq, t, y, ydot, rewt, savr,
555 wk, h, cj, wp, iwp, ier, rpar, ipar) 555 wk, h, cj, wp, iwp, ier, rpar, ipar)
556double precision res(*), t, y(*), ydot(*), rewt(*), savr(*), 556double precision res(*), t, y(*), ydot(*), rewt(*), savr(*),
557 wk(*), h, cj, wp(*), rpar(*) 557 wk(*), h, cj, wp(*), rpar(*)
558integer ires, neq, iwp(*), ier, ipar(*) 558integer ires, neq, iwp(*), ier, ipar(*)
559 ]]></programlisting> 559]]></screen>
560 </listitem> 560 </listitem>
561 </itemizedlist> 561 </itemizedlist>
562 </listitem> 562 </listitem>
@@ -596,10 +596,10 @@ integer ires, neq, iwp(*), ier, ipar(*)
596 <refsection> 596 <refsection>
597 <title>Description</title> 597 <title>Description</title>
598 <para>Solution of the implicit differential equation:</para> 598 <para>Solution of the implicit differential equation:</para>
599 <programlisting role="no-scilab-exec"><![CDATA[ 599 <screen><![CDATA[
600g(t, y, ydot) = 0 600g(t, y, ydot) = 0
601y(t0) = y0 and ydot(t0) = ydot0 601y(t0) = y0 and ydot(t0) = ydot0
602 ]]></programlisting> 602]]></screen>
603 <para>Returns the surface crossing instants and the number of the surface 603 <para>Returns the surface crossing instants and the number of the surface
604 reached in <literal>nn</literal>. 604 reached in <literal>nn</literal>.
605 </para> 605 </para>
@@ -621,7 +621,7 @@ deff('[rts] = gr1(t, y)', 'rts = [((2*log(y)+8)/t-5)*y; log(y)-2.2491]')
621nn 621nn
622 622
623// Should return nn = [2.4698972 2] 623// Should return nn = [2.4698972 2]
624 ]]></programlisting> 624 ]]></programlisting>
625 </refsection> 625 </refsection>
626 <refsection role="see also"> 626 <refsection role="see also">
627 <title>See also</title> 627 <title>See also</title>
diff --git a/scilab/modules/differential_equations/help/en_US/dasrt.xml b/scilab/modules/differential_equations/help/en_US/dasrt.xml
index 612ffcc..c349f04 100644
--- a/scilab/modules/differential_equations/help/en_US/dasrt.xml
+++ b/scilab/modules/differential_equations/help/en_US/dasrt.xml
@@ -21,7 +21,7 @@
21 </refnamediv> 21 </refnamediv>
22 <refsynopsisdiv> 22 <refsynopsisdiv>
23 <title>Syntax</title> 23 <title>Syntax</title>
24 <synopsis>[r,nn,[,hd]]=dasrt(x0,t0,t [,atol,[rtol]],res [,jac],ng, surf [,info] [,hd])</synopsis> 24 <synopsis>[r,nn,[,hd]] = dasrt(x0,t0,t [,atol,[rtol]],res [,jac],ng, surf [,info] [,hd])</synopsis>
25 </refsynopsisdiv> 25 </refsynopsisdiv>
26 <refsection> 26 <refsection>
27 <title>Arguments</title> 27 <title>Arguments</title>
@@ -119,15 +119,15 @@
119 <para>This form allows to pass parameters other than t,y,ydot to 119 <para>This form allows to pass parameters other than t,y,ydot to
120 the function. It must be as follows: 120 the function. It must be as follows:
121 </para> 121 </para>
122 <programlisting role="no-scilab-exec"><![CDATA[ 122 <screen><![CDATA[
123list(res,x1,x2,...) 123list(res,x1,x2,...)
124 ]]></programlisting> 124]]></screen>
125 <para>where the syntax of the function 125 <para>where the syntax of the function
126 <literal>res</literal> is now 126 <literal>res</literal> is now
127 </para> 127 </para>
128 <programlisting role="no-scilab-exec"><![CDATA[ 128 <screen><![CDATA[
129r=res(t,y,ydot,x1,x2,...) 129r = res(t,y,ydot,x1,x2,...)
130 ]]></programlisting> 130]]></screen>
131 <para> 131 <para>
132 <literal>res</literal> still returns 132 <literal>res</literal> still returns
133 <literal>r=g(t,y,ydot)</literal> as a function of 133 <literal>r=g(t,y,ydot)</literal> as a function of
@@ -146,16 +146,16 @@ r=res(t,y,ydot,x1,x2,...)
146 linked with Scilab. 146 linked with Scilab.
147 </para> 147 </para>
148 <para>In C The syntax must be:</para> 148 <para>In C The syntax must be:</para>
149 <programlisting role="no-scilab-exec"><![CDATA[ 149 <screen><![CDATA[
150void res(double *t, double y[], double yd[], double r[], 150void res(double *t, double y[], double yd[], double r[],
151 int *ires, double rpar[], int ipar[]) 151 int *ires, double rpar[], int ipar[])
152 ]]></programlisting> 152]]></screen>
153 <para>In Fortran it must be:</para> 153 <para>In Fortran it must be:</para>
154 <programlisting role="no-scilab-exec"><![CDATA[ 154 <screen><![CDATA[
155subroutine res(t,y,yd,r,ires,rpar,ipar) 155subroutine res(t,y,yd,r,ires,rpar,ipar)
156double precision t, y(*),yd(*),r(*),rpar(*) 156double precision t, y(*),yd(*),r(*),rpar(*)
157integer ires,ipar(*) 157integer ires,ipar(*)
158 ]]></programlisting> 158]]></screen>
159 <para> 159 <para>
160 The <literal>rpar</literal> and <literal>ipar</literal> arrays must be present but cannot be 160 The <literal>rpar</literal> and <literal>ipar</literal> arrays must be present but cannot be
161 used. 161 used.
@@ -185,15 +185,15 @@ integer ires,ipar(*)
185 <listitem> 185 <listitem>
186 <para>A list.</para> 186 <para>A list.</para>
187 <para>It must be as follows</para> 187 <para>It must be as follows</para>
188 <programlisting role="no-scilab-exec"><![CDATA[ 188 <screen><![CDATA[
189list(jac,x1,x2,...) 189list(jac,x1,x2,...)
190 ]]></programlisting> 190]]></screen>
191 <para>where the syntax of the function 191 <para>where the syntax of the function
192 <literal>jac</literal> is now 192 <literal>jac</literal> is now
193 </para> 193 </para>
194 <programlisting role="no-scilab-exec"><![CDATA[ 194 <screen><![CDATA[
195r=jac(t,y,ydot,cj,x1,x2,...) 195r = jac(t,y,ydot,cj,x1,x2,...)
196 ]]></programlisting> 196]]></screen>
197 <para> 197 <para>
198 <literal>jac</literal> still returns 198 <literal>jac</literal> still returns
199 <literal>dg/dy + cj*dg/dydot</literal> as a function of 199 <literal>dg/dy + cj*dg/dydot</literal> as a function of
@@ -206,16 +206,16 @@ r=jac(t,y,ydot,cj,x1,x2,...)
206 with scilab 206 with scilab
207 </para> 207 </para>
208 <para>In C The syntax must be:</para> 208 <para>In C The syntax must be:</para>
209 <programlisting role="no-scilab-exec"><![CDATA[ 209 <screen><![CDATA[
210void jac(double *t, double y[], double yd[], double pd[], 210void jac(double *t, double y[], double yd[], double pd[],
211 double *cj, double rpar[], int ipar[]) 211 double *cj, double rpar[], int ipar[])
212 ]]></programlisting> 212]]></screen>
213 <para>In Fortran it must be:</para> 213 <para>In Fortran it must be:</para>
214 <programlisting role="no-scilab-exec"><![CDATA[ 214 <screen><![CDATA[
215subroutine jac(t,y,yd,pd,cj,rpar,ipar) 215subroutine jac(t,y,yd,pd,cj,rpar,ipar)
216double precision t, y(*),yd(*),pd(*),cj,rpar(*) 216double precision t, y(*),yd(*),pd(*),cj,rpar(*)
217integer ipar(*) 217integer ipar(*)
218 ]]></programlisting> 218]]></screen>
219 </listitem> 219 </listitem>
220 </itemizedlist> 220 </itemizedlist>
221 </listitem> 221 </listitem>
@@ -239,15 +239,15 @@ integer ipar(*)
239 <listitem> 239 <listitem>
240 <para>A list.</para> 240 <para>A list.</para>
241 <para>It must be as follows</para> 241 <para>It must be as follows</para>
242 <programlisting role="no-scilab-exec"><![CDATA[ 242 <screen><![CDATA[
243list(surf,x1,x2,...) 243list(surf,x1,x2,...)
244 ]]></programlisting> 244]]></screen>
245 <para>where the syntax of the function 245 <para>where the syntax of the function
246 <literal>surf</literal> is now 246 <literal>surf</literal> is now
247 </para> 247 </para>
248 <programlisting role="no-scilab-exec"><![CDATA[ 248 <screen><![CDATA[
249r=surf(t,y,x1,x2,...) 249r = surf(t,y,x1,x2,...)
250 ]]></programlisting> 250]]></screen>
251 </listitem> 251 </listitem>
252 <listitem> 252 <listitem>
253 <para>A character string.</para> 253 <para>A character string.</para>
@@ -255,15 +255,15 @@ r=surf(t,y,x1,x2,...)
255 with scilab. 255 with scilab.
256 </para> 256 </para>
257 <para>In C the syntax must be:</para> 257 <para>In C the syntax must be:</para>
258 <programlisting role="no-scilab-exec"><![CDATA[ 258 <screen><![CDATA[
259void surf(int *ny, double *t, double y[], int *ng, double gout[]) 259void surf(int *ny, double *t, double y[], int *ng, double gout[])
260 ]]></programlisting> 260]]></screen>
261 <para>In Fortran it must be:</para> 261 <para>In Fortran it must be:</para>
262 <programlisting role="no-scilab-exec"><![CDATA[ 262 <screen><![CDATA[
263subroutine surf(ny,t,y,ng,gout) 263subroutine surf(ny,t,y,ng,gout)
264double precision t, y(*),gout(*) 264double precision t, y(*),gout(*)
265integer ny,ng 265integer ny,ng
266 ]]></programlisting> 266]]></screen>
267 </listitem> 267 </listitem>
268 </itemizedlist> 268 </itemizedlist>
269 </listitem> 269 </listitem>
@@ -374,10 +374,10 @@ integer ny,ng
374 <refsection> 374 <refsection>
375 <title>Description</title> 375 <title>Description</title>
376 <para>Solution of the implicit differential equation.</para> 376 <para>Solution of the implicit differential equation.</para>
377 <programlisting role="no-scilab-exec"><![CDATA[ 377 <screen><![CDATA[
378g(t,y,ydot)=0 378g(t,y,ydot) = 0
379y(t0)=y0 and ydot(t0)=ydot0 379y(t0) = y0 and ydot(t0) = ydot0
380 ]]></programlisting> 380]]></screen>
381 <para>Returns the surface crossing instants and the number of the surface 381 <para>Returns the surface crossing instants and the number of the surface
382 reached in <literal>nn</literal>. 382 reached in <literal>nn</literal>.
383 </para> 383 </para>
@@ -386,18 +386,18 @@ y(t0)=y0 and ydot(t0)=ydot0
386 <refsection> 386 <refsection>
387 <title>Examples</title> 387 <title>Examples</title>
388 <programlisting role="example"><![CDATA[ 388 <programlisting role="example"><![CDATA[
389//dy/dt = ((2*log(y)+8)/t -5)*y, y(1) = 1, 1<=t<=6 389// dy/dt = ((2*log(y)+8)/t -5)*y, y(1) = 1, 1<=t<=6
390//g1 = ((2*log(y)+8)/t - 5)*y 390// g1 = ((2*log(y)+8)/t - 5)*y
391//g2 = log(y) - 2.2491 391// g2 = log(y) - 2.2491
392y0=1;t=2:6;t0=1;y0d=3; 392y0 = 1; t = 2:6; t0 = 1; y0d = 3;
393atol=1.d-6;rtol=0;ng=2; 393atol = 1.d-6; rtol = 0; ng = 2;
394 394
395deff('[delta,ires]=res1(t,y,ydot)','ires=0;delta=ydot-((2*log(y)+8)/t-5)*y') 395deff('[delta,ires] = res1(t,y,ydot)', 'ires=0; delta=ydot-((2*log(y)+8)/t-5)*y')
396deff('[rts]=gr1(t,y)','rts=[((2*log(y)+8)/t-5)*y;log(y)-2.2491]') 396deff('rts = gr1(t,y)', 'rts=[((2*log(y)+8)/t-5)*y;log(y)-2.2491]')
397 397
398[yy,nn]=dasrt([y0,y0d],t0,t,atol,rtol,res1,ng,gr1); 398[yy,nn] = dasrt([y0,y0d],t0,t,atol,rtol,res1,ng,gr1);
399//(Should return nn=[2.4698972 2]) 399//(Should return nn=[2.4698972 2])
400 ]]></programlisting> 400 ]]></programlisting>
401 </refsection> 401 </refsection>
402 <refsection role="see also"> 402 <refsection role="see also">
403 <title>See also</title> 403 <title>See also</title>
diff --git a/scilab/modules/differential_equations/help/en_US/dassl.xml b/scilab/modules/differential_equations/help/en_US/dassl.xml
index 1f0dba9..f6005aa 100644
--- a/scilab/modules/differential_equations/help/en_US/dassl.xml
+++ b/scilab/modules/differential_equations/help/en_US/dassl.xml
@@ -21,7 +21,7 @@
21 </refnamediv> 21 </refnamediv>
22 <refsynopsisdiv> 22 <refsynopsisdiv>
23 <title>Syntax</title> 23 <title>Syntax</title>
24 <synopsis>[r [,hd]]=dassl(x0,t0,t [,atol,[rtol]],res [,jac] [,info] [,hd])</synopsis> 24 <synopsis>[r [,hd]] = dassl(x0,t0,t [,atol,[rtol]],res [,jac] [,info] [,hd])</synopsis>
25 </refsynopsisdiv> 25 </refsynopsisdiv>
26 <refsection> 26 <refsection>
27 <title>Arguments</title> 27 <title>Arguments</title>
@@ -110,15 +110,15 @@
110 <literal>y</literal>, <literal>ydot</literal> to 110 <literal>y</literal>, <literal>ydot</literal> to
111 the function. It must be as follows: 111 the function. It must be as follows:
112 </para> 112 </para>
113 <programlisting role="no-scilab-exec"><![CDATA[ 113 <screen><![CDATA[
114list(res,x1,x2,...) 114list(res,x1,x2,...)
115 ]]></programlisting> 115]]></screen>
116 <para>where the syntax of the function 116 <para>where the syntax of the function
117 <literal>res</literal> is now 117 <literal>res</literal> is now
118 </para> 118 </para>
119 <programlisting role="no-scilab-exec"><![CDATA[ 119 <screen><![CDATA[
120r=res(t,y,ydot,x1,x2,...) 120r = res(t,y,ydot,x1,x2,...)
121 ]]></programlisting> 121]]></screen>
122 <para> 122 <para>
123 <literal>res</literal> still returns 123 <literal>res</literal> still returns
124 <literal>r=g(t,y,ydot)</literal> as a function of 124 <literal>r=g(t,y,ydot)</literal> as a function of
@@ -131,16 +131,16 @@ r=res(t,y,ydot,x1,x2,...)
131 linked with Scilab. 131 linked with Scilab.
132 </para> 132 </para>
133 <para>In C the syntax must be:</para> 133 <para>In C the syntax must be:</para>
134 <programlisting role="no-scilab-exec"><![CDATA[ 134 <screen><![CDATA[
135void res(double *t, double y[], double yd[], double r[], 135void res(double *t, double y[], double yd[], double r[],
136 int *ires, double rpar[], int ipar[]) 136 int *ires, double rpar[], int ipar[])
137 ]]></programlisting> 137]]></screen>
138 <para>In Fortran it must be:</para> 138 <para>In Fortran it must be:</para>
139 <programlisting role="no-scilab-exec"><![CDATA[ 139 <screen><![CDATA[
140subroutine res(t,y,yd,r,ires,rpar,ipar) 140subroutine res(t,y,yd,r,ires,rpar,ipar)
141double precision t, y(*),yd(*),r(*),rpar(*) 141double precision t, y(*),yd(*),r(*),rpar(*)
142integer ires,ipar(*) 142integer ires,ipar(*)
143 ]]></programlisting> 143]]></screen>
144 <para> 144 <para>
145 The <literal>rpar</literal> and <literal>ipar</literal> arrays must be present but cannot be 145 The <literal>rpar</literal> and <literal>ipar</literal> arrays must be present but cannot be
146 used. 146 used.
@@ -170,15 +170,15 @@ integer ires,ipar(*)
170 <listitem> 170 <listitem>
171 <para>A list.</para> 171 <para>A list.</para>
172 <para>It must be as follows</para> 172 <para>It must be as follows</para>
173 <programlisting role="no-scilab-exec"><![CDATA[ 173 <screen><![CDATA[
174list(jac,x1,x2,...) 174list(jac,x1,x2,...)
175 ]]></programlisting> 175]]></screen>
176 <para>where the syntax of the function 176 <para>where the syntax of the function
177 <literal>jac</literal> is now 177 <literal>jac</literal> is now
178 </para> 178 </para>
179 <programlisting role="no-scilab-exec"><![CDATA[ 179 <screen><![CDATA[
180r=jac(t,y,ydot,cj,x1,x2,...) 180r = jac(t,y,ydot,cj,x1,x2,...)
181 ]]></programlisting> 181]]></screen>
182 <para> 182 <para>
183 <literal>jac</literal> still returns 183 <literal>jac</literal> still returns
184 <literal>dg/dy+cj*dg/dydot</literal> as a function of 184 <literal>dg/dy+cj*dg/dydot</literal> as a function of
@@ -191,16 +191,16 @@ r=jac(t,y,ydot,cj,x1,x2,...)
191 with Scilab. 191 with Scilab.
192 </para> 192 </para>
193 <para>In C the syntax must be:</para> 193 <para>In C the syntax must be:</para>
194 <programlisting role="no-scilab-exec"><![CDATA[ 194 <screen><![CDATA[
195void jac(double *t, double y[], double yd[], double pd[], 195void jac(double *t, double y[], double yd[], double pd[],
196 double *cj, double rpar[], int ipar[]) 196 double *cj, double rpar[], int ipar[])
197 ]]></programlisting> 197]]></screen>
198 <para>In Fortran it must be:</para> 198 <para>In Fortran it must be:</para>
199 <programlisting role="no-scilab-exec"><![CDATA[ 199 <screen><![CDATA[
200subroutine jac(t,y,yd,pd,cj,rpar,ipar) 200subroutine jac(t,y,yd,pd,cj,rpar,ipar)
201double precision t, y(*),yd(*),pd(*),cj,rpar(*) 201double precision t, y(*),yd(*),pd(*),cj,rpar(*)
202integer ipar(*) 202integer ipar(*)
203 ]]></programlisting> 203]]></screen>
204 </listitem> 204 </listitem>
205 </itemizedlist> 205 </itemizedlist>
206 </listitem> 206 </listitem>
@@ -314,57 +314,57 @@ integer ipar(*)
314 The <literal>dassl</literal> function integrate the differential algebraic equation and 314 The <literal>dassl</literal> function integrate the differential algebraic equation and
315 returns the evolution of <literal>y</literal> a given time points 315 returns the evolution of <literal>y</literal> a given time points
316 </para> 316 </para>
317 <programlisting role="no-scilab-exec"><![CDATA[ 317 <screen><![CDATA[
318g(t,y,ydot)=0 318g(t,y,ydot) = 0
319y(t0)=y0 and ydot(t0)=ydot0 319y(t0) = y0 and ydot(t0) = ydot0
320 ]]></programlisting> 320 ]]></screen>
321 </refsection> 321 </refsection>
322 <refsection> 322 <refsection>
323 <title>Examples</title> 323 <title>Examples</title>
324 <programlisting role="example"><![CDATA[ 324 <programlisting role="example"><![CDATA[
325function [r,ires]=chemres(t,y,yd) 325function [r,ires] = chemres(t,y,yd)
326 r=[-0.04*y(1)+1d4*y(2)*y(3)-yd(1) 326 r=[-0.04*y(1)+1d4*y(2)*y(3)-yd(1)
327 0.04*y(1)-1d4*y(2)*y(3)-3d7*y(2)*y(2)-yd(2) 327 0.04*y(1)-1d4*y(2)*y(3)-3d7*y(2)*y(2)-yd(2)
328 y(1)+y(2)+y(3)-1]; 328 y(1)+y(2)+y(3)-1];
329 ires=0 329 ires=0
330endfunction 330endfunction
331 331
332function pd=chemjac(x,y,yd,cj) 332function pd = chemjac(x,y,yd,cj)
333 pd=[-0.04-cj , 1d4*y(3) , 1d4*y(2); 333 pd=[-0.04-cj , 1d4*y(3) , 1d4*y(2);
334 0.04 ,-1d4*y(3)-2*3d7*y(2)-cj ,-1d4*y(2); 334 0.04 ,-1d4*y(3)-2*3d7*y(2)-cj ,-1d4*y(2);
335 1 , 1 , 1 ] 335 1 , 1 , 1 ]
336endfunction 336endfunction
337 337
338y0=[1;0;0]; 338y0 = [1;0;0];
339yd0=[-0.04;0.04;0]; 339yd0 = [-0.04;0.04;0];
340t=[1.d-5:0.02:.4,0.41:.1:4,40,400,4000,40000,4d5,4d6,4d7,4d8,4d9,4d10]; 340t = [1.d-5:0.02:.4,0.41:.1:4,40,400,4000,40000,4d5,4d6,4d7,4d8,4d9,4d10];
341 341
342y=dassl([y0,yd0],0,t,chemres); 342y = dassl([y0,yd0],0,t,chemres);
343 343
344info=list([],0,[],[],[],0,0); 344info = list([],0,[],[],[],0,0);
345info(2)=1; 345info(2) = 1;
346y1=dassl([y0,yd0],0,4d10,chemres,info); 346y1 = dassl([y0,yd0],0,4d10,chemres,info);
347y2=dassl([y0,yd0],0,4d10,chemres,chemjac,info); 347y2 = dassl([y0,yd0],0,4d10,chemres,chemjac,info);
348 348
349//Using extra argument for parameters 349//Using extra argument for parameters
350//----------------------------------- 350//-----------------------------------
351function [r,ires]=chemres(t,y,yd ,a,b,c) 351function [r,ires] = chemres(t,y,yd ,a,b,c)
352 r=[-a*y(1)+b*y(2)*y(3)-yd(1) 352 r=[-a*y(1)+b*y(2)*y(3)-yd(1)
353 a*y(1)-b*y(2)*y(3)-c*y(2)*y(2)-yd(2) 353 a*y(1)-b*y(2)*y(3)-c*y(2)*y(2)-yd(2)
354 y(1)+y(2)+y(3)-1]; 354 y(1)+y(2)+y(3)-1];
355 ires=0 355 ires = 0
356endfunction 356endfunction
357 357
358function pd=chemjac(x,y,yd,cj, a,b,c) 358function pd = chemjac(x,y,yd,cj, a,b,c)
359 pd=[-a-cj , b*y(3) , b*y(2); 359 pd=[-a-cj , b*y(3) , b*y(2);
360 a ,-b*y(3)-2*c*y(2)-cj ,-b*y(2); 360 a ,-b*y(3)-2*c*y(2)-cj ,-b*y(2);
361 1 , 1 , 1 ] 361 1 , 1 , 1 ]
362endfunction 362endfunction
363 363
364y3=dassl([y0,yd0],0,t,list(chemres,0.04,1d4,3d7),list(chemjac,0.04,1d4,3d7)); 364y3 = dassl([y0,yd0], 0, t, list(chemres,0.04,1d4,3d7),list(chemjac,0.04,1d4,3d7));
365 365
366//using C code 366// using C code
367//------------ 367// ------------
368// - create the C code 368// - create the C code
369cd TMPDIR 369cd TMPDIR
370rescode=['void chemres(double *t, double y[], double yd[], double r[], int *ires, double rpar[], int ipar[])' 370rescode=['void chemres(double *t, double y[], double yd[], double r[], int *ires, double rpar[], int ipar[])'
@@ -390,7 +390,7 @@ jaccode=['void chemjac(double *t, double y[], double yd[], double pd[], double *
390 ' pd[7] = -1.0e4*y[1];' 390 ' pd[7] = -1.0e4*y[1];'
391 ' pd[8] = 1.0;' 391 ' pd[8] = 1.0;'
392 ' }']; 392 ' }'];
393mputl([rescode;jaccode],'mycode.c') //create the C file 393mputl([rescode;jaccode], 'mycode.c') //create the C file
394 394
395// - compile it 395// - compile it
396ilib_for_link(['chemres','chemjac'],'mycode.c',[],'c','','loader.sce');//compile 396ilib_for_link(['chemres','chemjac'],'mycode.c',[],'c','','loader.sce');//compile
@@ -399,8 +399,8 @@ ilib_for_link(['chemres','chemjac'],'mycode.c',[],'c','','loader.sce');//compile
399exec('loader.sce') //incremental linking 399exec('loader.sce') //incremental linking
400 400
401// - call dassl 401// - call dassl
402y4=dassl([y0,yd0],0,t,'chemres','chemjac'); 402y4 = dassl([y0,yd0], 0, t, 'chemres', 'chemjac');
403 ]]></programlisting> 403 ]]></programlisting>
404 </refsection> 404 </refsection>
405 <refsection role="see also"> 405 <refsection role="see also">
406 <title>See also</title> 406 <title>See also</title>
diff --git a/scilab/modules/differential_equations/help/en_US/diff.xml b/scilab/modules/differential_equations/help/en_US/diff.xml
index 03566f0..b33642d 100644
--- a/scilab/modules/differential_equations/help/en_US/diff.xml
+++ b/scilab/modules/differential_equations/help/en_US/diff.xml
@@ -21,8 +21,9 @@
21 <refsynopsisdiv> 21 <refsynopsisdiv>
22 <title>Syntax</title> 22 <title>Syntax</title>
23 <synopsis> 23 <synopsis>
24 y=diff(x) 24 y = diff(x)
25 y=diff(x [,n [,dim]]) 25 y = diff(x, n)
26 y = diff(x, n, dim)
26 </synopsis> 27 </synopsis>
27 </refsynopsisdiv> 28 </refsynopsisdiv>
28 <refsection> 29 <refsection>
@@ -82,7 +83,7 @@
82 <title>Examples</title> 83 <title>Examples</title>
83 <programlisting role="example"> 84 <programlisting role="example">
84 <![CDATA[ 85 <![CDATA[
85v=(1:8)^3; 86v = (1:8)^3;
86diff(v) 87diff(v)
87diff(v,3) 88diff(v,3)
88 89
@@ -92,12 +93,12 @@ A=[(1:8)^2
92 93
93diff(A,3,2) 94diff(A,3,2)
94 95
95//approximate differentiation 96// approximate differentiation
96step=0.001 97step = 0.001
97t=0:step:10; 98t = 0:step:10;
98y=sin(t); 99y = sin(t);
99dy=diff(sin(t))/step; //approximate differentiation of sine function 100dy = diff(sin(t)) / step; //approximate differentiation of sine function
100norm(dy-cos(t(1:$-1)),%inf) 101norm(dy-cos(t(1:$-1)), %inf)
101 ]]> 102 ]]>
102 </programlisting> 103 </programlisting>
103 </refsection> 104 </refsection>
diff --git a/scilab/modules/differential_equations/help/en_US/impl.xml b/scilab/modules/differential_equations/help/en_US/impl.xml
index 37b221b..58df235 100644
--- a/scilab/modules/differential_equations/help/en_US/impl.xml
+++ b/scilab/modules/differential_equations/help/en_US/impl.xml
@@ -21,7 +21,7 @@
21 </refnamediv> 21 </refnamediv>
22 <refsynopsisdiv> 22 <refsynopsisdiv>
23 <title>Syntax</title> 23 <title>Syntax</title>
24 <synopsis>y=impl([type],y0,ydot0,t0,t [,atol, [rtol]],res,adda [,jac])</synopsis> 24 <synopsis>y = impl([type,] y0, ydot0, t0, t [,atol [,rtol]], res, adda [,jac])</synopsis>
25 </refsynopsisdiv> 25 </refsynopsisdiv>
26 <refsection> 26 <refsection>
27 <title>Arguments</title> 27 <title>Arguments</title>
@@ -91,9 +91,9 @@
91 If <literal>res</literal> is a function, its syntax must be as 91 If <literal>res</literal> is a function, its syntax must be as
92 follows: 92 follows:
93 </para> 93 </para>
94 <programlisting role="no-scilab-exec"><![CDATA[ 94 <screen><![CDATA[
95r = res(t,y,ydot) 95r = res(t,y,ydot)
96 ]]></programlisting> 96]]></screen>
97 <para> 97 <para>
98 where <literal>t</literal> is a real scalar (time) and 98 where <literal>t</literal> is a real scalar (time) and
99 <literal>y</literal> and <literal>ydot</literal> are real vector (state 99 <literal>y</literal> and <literal>ydot</literal> are real vector (state
@@ -116,9 +116,9 @@ r = res(t,y,ydot)
116 If <literal>adda</literal> is a function, its syntax must be as 116 If <literal>adda</literal> is a function, its syntax must be as
117 follows: 117 follows:
118 </para> 118 </para>
119 <programlisting role="no-scilab-exec"><![CDATA[ 119 <screen><![CDATA[
120r = adda(t,y,p) 120r = adda(t,y,p)
121 ]]></programlisting> 121]]></screen>
122 <para> 122 <para>
123 and it must return <literal>r=A(t,y)+p</literal> where 123 and it must return <literal>r=A(t,y)+p</literal> where
124 <literal>p</literal> is a matrix to be added to 124 <literal>p</literal> is a matrix to be added to
@@ -140,9 +140,9 @@ r = adda(t,y,p)
140 If <literal>jac</literal> is a function, its syntax must be as 140 If <literal>jac</literal> is a function, its syntax must be as
141 follows: 141 follows:
142 </para> 142 </para>
143 <programlisting role="no-scilab-exec"><![CDATA[ 143 <screen><![CDATA[
144j = jac(t,y,ydot) 144j = jac(t,y,ydot)
145 ]]></programlisting> 145]]></screen>
146 <para>and it must return the Jacobian of 146 <para>and it must return the Jacobian of
147 <literal>r=g(t,y)-A(t,y)*ydot</literal> with respect to 147 <literal>r=g(t,y)-A(t,y)*ydot</literal> with respect to
148 <literal>y</literal>. 148 <literal>y</literal>.
@@ -160,11 +160,11 @@ j = jac(t,y,ydot)
160 <refsection> 160 <refsection>
161 <title>Examples</title> 161 <title>Examples</title>
162 <programlisting role="example"><![CDATA[ 162 <programlisting role="example"><![CDATA[
163y=impl([1;0;0],[-0.04;0.04;0],0,0.4,'resid','aplusp'); 163y = impl([1;0;0], [-0.04;0.04;0], 0, 0.4, 'resid', 'aplusp');
164// Using hot restart 164// Using hot restart
165//[x1,w,iw]=impl([1;0;0],[-0.04;0.04;0],0,0.2,'resid','aplusp'); 165//[x1,w,iw] = impl([1;0;0], [-0.04;0.04;0], 0, 0.2, 'resid', 'aplusp');
166// hot start from previous call 166// hot start from previous call
167//[x1]=impl([1;0;0],[-0.04;0.04;0],0.2,0.4,'resid','aplusp',w,iw); 167//x1 = impl([1;0;0],[-0.04;0.04;0], 0.2, 0.4, 'resid', 'aplusp', w, iw);
168//max(abs(x1-x)) 168//max(abs(x1-x))
169 ]]></programlisting> 169 ]]></programlisting>
170 </refsection> 170 </refsection>
diff --git a/scilab/modules/differential_equations/help/en_US/int3d.xml b/scilab/modules/differential_equations/help/en_US/int3d.xml
index eb303ec..d41a9ce 100644
--- a/scilab/modules/differential_equations/help/en_US/int3d.xml
+++ b/scilab/modules/differential_equations/help/en_US/int3d.xml
@@ -8,7 +8,11 @@
8 </refnamediv> 8 </refnamediv>
9 <refsynopsisdiv> 9 <refsynopsisdiv>
10 <title>Syntax</title> 10 <title>Syntax</title>
11 <synopsis>[result,err]=int3d(X,Y,Z,f [,nf[,params]])</synopsis> 11 <synopsis>
12 [result, err] = int3d(X, Y, Z, f)
13 [result, err] = int3d(X, Y, Z, f, nf)
14 [result, err] = int3d(X, Y, Z, f, nf, params)
15 </synopsis>
12 </refsynopsisdiv> 16 </refsynopsisdiv>
13 <refsection> 17 <refsection>
14 <title>Arguments</title> 18 <title>Arguments</title>
@@ -114,18 +118,18 @@
114 <para>The function calculates an approximation to a given vector of 118 <para>The function calculates an approximation to a given vector of
115 definite integrals 119 definite integrals
116 </para> 120 </para>
117 <programlisting role="no-scilab-exec"><![CDATA[ 121 <screen><![CDATA[
118I I I (F ,F ,...,F ) dx(3)dx(2)dx(1), 122I I I (F ,F ,...,F ) dx(3)dx(2)dx(1),
119 1 2 numfun 123 1 2 numfun
120 ]]></programlisting> 124]]></screen>
121 <para> 125 <para>
122 where the region of integration is a collection of <literal>NUMTET</literal> 126 where the region of integration is a collection of <literal>NUMTET</literal>
123 tetrahedrons and where 127 tetrahedrons and where
124 </para> 128 </para>
125 <programlisting role="no-scilab-exec"><![CDATA[ 129 <screen><![CDATA[
126F = F (X(1),X(2),X(3)), J = 1,2,...,NUMFUN. 130F = F (X(1),X(2),X(3)), J = 1,2,...,NUMFUN.
127 J J 131 J J
128 ]]></programlisting> 132]]></screen>
129 <para>A globally adaptive strategy is applied in order to compute 133 <para>A globally adaptive strategy is applied in order to compute
130 approximations <literal>result(k)</literal> hopefully satisfying, for each 134 approximations <literal>result(k)</literal> hopefully satisfying, for each
131 component of <literal>I</literal>, the following claim for accuracy: 135 component of <literal>I</literal>, the following claim for accuracy:
@@ -172,35 +176,35 @@ F = F (X(1),X(2),X(3)), J = 1,2,...,NUMFUN.
172 <refsection> 176 <refsection>
173 <title>Examples</title> 177 <title>Examples</title>
174 <programlisting role="example"><![CDATA[ 178 <programlisting role="example"><![CDATA[
175X=[0;1;0;0]; 179X = [0;1;0;0];
176Y=[0;0;1;0]; 180Y = [0;0;1;0];
177Z=[0;0;0;1]; 181Z = [0;0;0;1];
178[RESULT,ERROR]=int3d(X,Y,Z,'int3dex') 182[RESULT, ERROR] = int3d(X, Y, Z, 'int3dex')
179// computes the integrand exp(x*x+y*y+z*z) over the 183// computes the integrand exp(x*x+y*y+z*z) over the
180//tetrahedron (0.,0.,0.),(1.,0.,0.),(0.,1.,0.),(0.,0.,1.) 184//tetrahedron (0.,0.,0.),(1.,0.,0.),(0.,1.,0.),(0.,0.,1.)
181 185
182//integration over a cube -1<=x<=1;-1<=y<=1;-1<=z<=1 186//integration over a cube -1<=x<=1;-1<=y<=1;-1<=z<=1
183 187
184// bottom -top- right -left- front -rear- 188// bottom -top- right -left- front -rear-
185X=[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; 189X =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
186 -1,-1, -1,-1, 1, 1, -1,-1, -1,-1, -1,-1; 190 -1,-1, -1,-1, 1, 1, -1,-1, -1,-1, -1,-1;
187 1,-1, 1,-1, 1, 1, -1,-1, 1,-1, 1,-1; 191 1,-1, 1,-1, 1, 1, -1,-1, 1,-1, 1,-1;
188 1, 1, 1, 1, 1, 1, -1,-1, 1, 1, 1, 1]; 192 1, 1, 1, 1, 1, 1, -1,-1, 1, 1, 1, 1];
189Y=[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; 193Y =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
190 -1,-1, -1,-1, -1, 1, -1, 1, -1,-1, 1, 1; 194 -1,-1, -1,-1, -1, 1, -1, 1, -1,-1, 1, 1;
191 -1, 1, -1, 1, 1, 1, 1, 1, -1,-1, 1, 1; 195 -1, 1, -1, 1, 1, 1, 1, 1, -1,-1, 1, 1;
192 1, 1, 1, 1, -1,-1, -1,-1, -1,-1, 1, 1]; 196 1, 1, 1, 1, -1,-1, -1,-1, -1,-1, 1, 1];
193Z=[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; 197Z =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
194 -1,-1, 1, 1, -1, 1, -1, 1, -1,-1, -1,-1; 198 -1,-1, 1, 1, -1, 1, -1, 1, -1,-1, -1,-1;
195 -1,-1, 1, 1, -1,-1, -1,-1, -1, 1, -1, 1; 199 -1,-1, 1, 1, -1,-1, -1,-1, -1, 1, -1, 1;
196 -1,-1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]; 200 -1,-1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
197 201
198function v=f(xyz,numfun),v=exp(xyz'*xyz),endfunction 202function v = f(xyz,numfun),v=exp(xyz'*xyz), endfunction
199[result,err]=int3d(X,Y,Z,f,1,[0,100000,1.d-5,1.d-7]) 203[result, err] = int3d(X, Y, Z, f, 1, [0,100000,1.d-5,1.d-7])
200 204
201function v=f(xyz,numfun),v=1,endfunction 205function v = f(xyz,numfun), v=1, endfunction
202[result,err]=int3d(X,Y,Z,f,1,[0,100000,1.d-5,1.d-7]) 206[result, err] = int3d(X, Y, Z, f, 1, [0,100000,1.d-5,1.d-7])
203 ]]></programlisting> 207 ]]></programlisting>
204 </refsection> 208 </refsection>
205 <refsection role="see also"> 209 <refsection role="see also">
206 <title>See also</title> 210 <title>See also</title>
diff --git a/scilab/modules/differential_equations/help/en_US/integrate.xml b/scilab/modules/differential_equations/help/en_US/integrate.xml
index 3d2495c..b2c051c 100644
--- a/scilab/modules/differential_equations/help/en_US/integrate.xml
+++ b/scilab/modules/differential_equations/help/en_US/integrate.xml
@@ -114,7 +114,7 @@ norm(cos(x1)-(1-Y))
114x1 = -10:0.1:10; 114x1 = -10:0.1:10;
115Y = integrate(['if x==0 then 1,'; 115Y = integrate(['if x==0 then 1,';
116 'else sin(x)/x,end'], 'x', 0, x1) 116 'else sin(x)/x,end'], 'x', 0, x1)
117 ]]></programlisting> 117 ]]></programlisting>
118 </refsection> 118 </refsection>
119 <refsection role="see also"> 119 <refsection role="see also">
120 <title>See also</title> 120 <title>See also</title>
diff --git a/scilab/modules/differential_equations/help/en_US/intg.xml b/scilab/modules/differential_equations/help/en_US/intg.xml
index 14960a4..0f0a9e8 100644
--- a/scilab/modules/differential_equations/help/en_US/intg.xml
+++ b/scilab/modules/differential_equations/help/en_US/intg.xml
@@ -180,9 +180,9 @@
180 <title>Examples</title> 180 <title>Examples</title>
181 <programlisting role="example"><![CDATA[ 181 <programlisting role="example"><![CDATA[
182// Function written in the Scilab language 182// Function written in the Scilab language
183function y=f(x),y=x*sin(30*x)/sqrt(1-((x/(2*%pi))^2)),endfunction 183function y = f(x), y = x*sin(30*x)/sqrt(1-((x/(2*%pi))^2)), endfunction
184exact=-2.5432596188; 184exact = -2.5432596188;
185I=intg(0,2*%pi,f) 185I = intg(0,2*%pi,f)
186abs(exact-I) 186abs(exact-I)
187 187
188// Function with an argument written in the Scilab language 188// Function with an argument written in the Scilab language
diff --git a/scilab/modules/differential_equations/help/en_US/intl.xml b/scilab/modules/differential_equations/help/en_US/intl.xml
index 5326462..d4ac05d 100644
--- a/scilab/modules/differential_equations/help/en_US/intl.xml
+++ b/scilab/modules/differential_equations/help/en_US/intl.xml
@@ -20,7 +20,7 @@
20 </refnamediv> 20 </refnamediv>
21 <refsynopsisdiv> 21 <refsynopsisdiv>
22 <title>Syntax</title> 22 <title>Syntax</title>
23 <synopsis>[y]=intl(a,b,z0,r,f)</synopsis> 23 <synopsis>y = intl(a, b, z0, r, f)</synopsis>
24 </refsynopsisdiv> 24 </refsynopsisdiv>
25 <refsection> 25 <refsection>
26 <title>Arguments</title> 26 <title>Arguments</title>
@@ -66,11 +66,11 @@
66 <refsection> 66 <refsection>
67 <title>Examples</title> 67 <title>Examples</title>
68 <programlisting role="example"><![CDATA[ 68 <programlisting role="example"><![CDATA[
69function y=f(z) 69function y = f(z)
70 y = z^(3 + %pi * %i) 70 y = z^(3 + %pi * %i)
71endfunction 71endfunction
72 72
73intl(1,2,1+%i, 3, f) 73intl(1, 2, 1+%i, 3, f)
74 ]]></programlisting> 74 ]]></programlisting>
75 </refsection> 75 </refsection>
76 76
diff --git a/scilab/modules/differential_equations/help/en_US/inttrap.xml b/scilab/modules/differential_equations/help/en_US/inttrap.xml
index 67a0465..f83e63f 100644
--- a/scilab/modules/differential_equations/help/en_US/inttrap.xml
+++ b/scilab/modules/differential_equations/help/en_US/inttrap.xml
@@ -22,7 +22,10 @@
22 </refnamediv> 22 </refnamediv>
23 <refsynopsisdiv> 23 <refsynopsisdiv>
24 <title>Syntax</title> 24 <title>Syntax</title>
25 <synopsis>v = inttrap([x,] s)</synopsis> 25 <synopsis>
26 v = inttrap(s)
27 v = inttrap(x, s)
28 </synopsis>
26 </refsynopsisdiv> 29 </refsynopsisdiv>
27 <refsection> 30 <refsection>
28 <title>Arguments</title> 31 <title>Arguments</title>
@@ -64,7 +67,7 @@
64 <refsection> 67 <refsection>
65 <title>Examples</title> 68 <title>Examples</title>
66 <programlisting role="example"><![CDATA[ 69 <programlisting role="example"><![CDATA[
67t=0:0.1:%pi 70t = 0:0.1:%pi
68inttrap(t,sin(t)) 71inttrap(t,sin(t))
69 ]]></programlisting> 72 ]]></programlisting>
70 </refsection> 73 </refsection>
diff --git a/scilab/modules/differential_equations/help/en_US/ode_discrete.xml b/scilab/modules/differential_equations/help/en_US/ode_discrete.xml
index 785b005..aa06d80 100644
--- a/scilab/modules/differential_equations/help/en_US/ode_discrete.xml
+++ b/scilab/modules/differential_equations/help/en_US/ode_discrete.xml
@@ -17,13 +17,12 @@
17<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="ode_discrete" xml:lang="en"> 17<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="ode_discrete" xml:lang="en">
18 <refnamediv> 18 <refnamediv>
19 <refname>ode_discrete</refname> 19 <refname>ode_discrete</refname>
20 <refpurpose>ordinary differential equation solver, discrete time 20 <refpurpose>ordinary differential equation solver, discrete time simulation
21 simulation
22 </refpurpose> 21 </refpurpose>
23 </refnamediv> 22 </refnamediv>
24 <refsynopsisdiv> 23 <refsynopsisdiv>
25 <title>Syntax</title> 24 <title>Syntax</title>
26 <synopsis>y=ode("discrete",y0,k0,kvect,f)</synopsis> 25 <synopsis>y = ode("discrete", y0, k0,kvect,f)</synopsis>
27 </refsynopsisdiv> 26 </refsynopsisdiv>
28 <refsection> 27 <refsection>
29 <title>Arguments</title> 28 <title>Arguments</title>
@@ -77,13 +76,13 @@
77 <refsection> 76 <refsection>
78 <title>Examples</title> 77 <title>Examples</title>
79 <programlisting role="example"><![CDATA[ 78 <programlisting role="example"><![CDATA[
80y1=[1;2;3]; deff("yp=a_function(k,y)","yp=A*y+B*u(k)") 79y1 = [1;2;3]; deff("yp = a_function(k,y)", "yp = A*y+B*u(k)")
81A=diag([0.2,0.5,0.9]); B=[1;1;1];u=1:10;n=5; 80A = diag([0.2,0.5,0.9]); B = [1;1;1]; u = 1:10; n = 5;
82y=ode("discrete",y1,1,1:n,a_function); 81y = ode("discrete", y1, 1, 1:n, a_function);
83y(:,2)-(A*y1+B*u(1)) 82y(:,2) - (A*y1+B*u(1))
84 83
85// Now y evaluates at [y3,y5,y7,y9] 84// Now y evaluates at [y3,y5,y7,y9]
86y=ode("discrete",y1,1,3:2:9,a_function) 85y = ode("discrete", y1, 1, 3:2:9, a_function)
87 ]]></programlisting> 86 ]]></programlisting>
88 </refsection> 87 </refsection>
89 <refsection role="see also"> 88 <refsection role="see also">
diff --git a/scilab/modules/differential_equations/help/en_US/ode_root.xml b/scilab/modules/differential_equations/help/en_US/ode_root.xml
index a2bc8df..5b0f07c 100644
--- a/scilab/modules/differential_equations/help/en_US/ode_root.xml
+++ b/scilab/modules/differential_equations/help/en_US/ode_root.xml
@@ -119,9 +119,9 @@
119 If <literal>g</literal> is a function the syntax should be as 119 If <literal>g</literal> is a function the syntax should be as
120 follows: 120 follows:
121 </para> 121 </para>
122 <programlisting role="no-scilab-exec"><![CDATA[ 122 <screen><![CDATA[
123z = g(t,y) 123z = g(t,y)
124 ]]></programlisting> 124]]></screen>
125 <para> 125 <para>
126 where <literal>t</literal> is a real scalar (time) and 126 where <literal>t</literal> is a real scalar (time) and
127 <literal>y</literal> a real vector (state). It returns a vector of size 127 <literal>y</literal> a real vector (state). It returns a vector of size
@@ -151,13 +151,13 @@ z = g(t,y)
151 <programlisting role="example"><![CDATA[ 151 <programlisting role="example"><![CDATA[
152// Integration of the differential equation 152// Integration of the differential equation
153// dy/dt=y , y(0)=1, and finds the minimum time t such that y(t)=2 153// dy/dt=y , y(0)=1, and finds the minimum time t such that y(t)=2
154deff("[ydot]=f(t,y)","ydot=y") 154deff("ydot = f(t,y)", "ydot=y")
155deff("[z]=g(t,y)","z=y-2") 155deff("z = g(t,y)", "z=y-2")
156y0=1;ng=1; 156y0 = 1; ng = 1;
157[y,rd]=ode("root",y0,0,2,f,ng,g) 157[y,rd] = ode("root", y0, 0, 2, f, ng, g)
158 158
159deff("[z]=g(t,y)","z=y-[2;2;33]") 159deff("z = g(t,y)", "z = y-[2;2;33]")
160[y,rd]=ode("root",1,0,2,f,3,g) 160[y,rd] = ode("root", 1, 0, 2, f, 3, g)
161 ]]></programlisting> 161 ]]></programlisting>
162 </refsection> 162 </refsection>
163 <refsection role="see also"> 163 <refsection role="see also">
diff --git a/scilab/modules/differential_equations/help/en_US/odedc.xml b/scilab/modules/differential_equations/help/en_US/odedc.xml
index 3ea5134..927a85b 100644
--- a/scilab/modules/differential_equations/help/en_US/odedc.xml
+++ b/scilab/modules/differential_equations/help/en_US/odedc.xml
@@ -262,23 +262,23 @@ yc(t0) = y0c
262 <title>Examples</title> 262 <title>Examples</title>
263 <programlisting role="example"><![CDATA[ 263 <programlisting role="example"><![CDATA[
264//Linear system with switching input 264//Linear system with switching input
265deff('xdu=phis(t,x,u,flag)','if flag==0 then xdu=A*x+B*u; else xdu=1-u;end'); 265deff('xdu = phis(t,x,u,flag)', 'if flag==0 then xdu=A*x+B*u; else xdu=1-u; end');
266x0=[1;1]; 266x0 = [1;1];
267A=[-1,2;-2,-1]; 267A = [-1,2;-2,-1];
268B=[1;2]; 268B = [1;2];
269u=0; 269u = 0;
270nu=1; 270nu = 1;
271stdel=[1,0]; 271stdel = [1,0];
272u0=0; 272u0 = 0;
273t=0:0.05:10; 273t = 0:0.05:10;
274xu=odedc([x0;u0],nu,stdel,0,t,phis); 274xu = odedc([x0;u0], nu, stdel, 0, t, phis);
275x=xu(1:2,:); 275x = xu(1:2,:);
276u=xu(3,:); 276u = xu(3,:);
277nx=2; 277nx = 2;
278plot2d(t, x', [1:nx], '161') 278plot2d(t, x', [1:nx], '161')
279plot2d2('onn',t',u',[nx+1:nx+nu],'000'); 279plot2d2('onn', t', u', [nx+1:nx+nu], '000');
280//Fortran external (see fydot2.f): 280//Fortran external (see fydot2.f):
281norm(xu-odedc([x0;u0],nu,stdel,0,t,'phis'),1) 281norm(xu - odedc([x0;u0], nu, stdel, 0, t, 'phis'), 1)
282 ]]></programlisting> 282 ]]></programlisting>
283 <scilab:image> 283 <scilab:image>
284 deff('xdu=phis(t,x,u,flag)','if flag==0 then xdu=A*x+B*u; else xdu=1-u;end'); 284 deff('xdu=phis(t,x,u,flag)','if flag==0 then xdu=A*x+B*u; else xdu=1-u;end');
@@ -311,32 +311,32 @@ norm(xu-odedc([x0;u0],nu,stdel,0,t,'phis'),1)
311// (feedback) | 311// (feedback) |
312// | u=hd(t,xd) 312// | u=hd(t,xd)
313// 313//
314deff('xcd=f(t,xc,xd,iflag)',... 314deff('xcd = f(t,xc,xd,iflag)',...
315 ['if iflag==0 then ' 315 ['if iflag==0 then '
316 ' xcd=fc(t,xc,e(t)-hd(t,xd));' 316 ' xcd=fc(t,xc,e(t)-hd(t,xd));'
317 'else ' 317 'else '
318 ' xcd=fd(xd,hc(t,xc));' 318 ' xcd=fd(xd,hc(t,xc));'
319 'end']); 319 'end']);
320A=[-10,2,3;4,-10,6;7,8,-10]; 320A = [-10,2,3;4,-10,6;7,8,-10];
321B=[1;1;1]; 321B = [1;1;1];
322C=[1,1,1]; 322C = [1,1,1];
323Ad=[1/2,1;0,1/20]; 323Ad = [1/2,1;0,1/20];
324Bd=[1;1]; 324Bd = [1;1];
325Cd=[1,1]; 325Cd = [1,1];
326deff('st=e(t)','st=sin(3*t)') 326deff('st = e(t)', 'st = sin(3*t)')
327deff('xdot=fc(t,x,u)','xdot=A*x+B*u') 327deff('xdot = fc(t,x,u)', 'xdot = A*x+B*u')
328deff('y=hc(t,x)','y=C*x') 328deff('y = hc(t,x)', 'y = C*x')
329deff('xp=fd(x,y)','xp=Ad*x + Bd*y') 329deff('xp = fd(x,y)', 'xp = Ad*x + Bd*y')
330deff('u=hd(t,x)','u=Cd*x') 330deff('u = hd(t,x)', 'u = Cd*x')
331h=0.1;t0=0;t=0:0.1:2; 331h = 0.1; t0=0; t=0:0.1:2;
332x0c=[0;0;0]; 332x0c = [0;0;0];
333x0d=[0;0]; 333x0d = [0;0];
334nd=2; 334nd = 2;
335xcd=odedc([x0c;x0d],nd,h,t0,t,f); 335xcd = odedc([x0c;x0d], nd, h, t0, t, f);
336norm(xcd-odedc([x0c;x0d],nd,h,t0,t,'fcd1')) // Fast calculation (see fydot2.f) 336norm(xcd - odedc([x0c;x0d], nd, h, t0, t, 'fcd1')) // Fast calculation (see fydot2.f)
337plot2d([t',t',t'],xcd(1:3,:)'); 337plot2d([t',t',t'], xcd(1:3,:)');
338scf(2); 338scf(2);
339plot2d2("gnn",[t',t'],xcd(4:5,:)'); 339plot2d2("gnn", [t',t'], xcd(4:5,:)');
340scf(0); 340scf(0);
341 ]]></programlisting> 341 ]]></programlisting>
342 <scilab:image> 342 <scilab:image>
diff --git a/scilab/modules/differential_equations/help/en_US/odeoptions.xml b/scilab/modules/differential_equations/help/en_US/odeoptions.xml
index 9ff627d..4b72dcb 100644
--- a/scilab/modules/differential_equations/help/en_US/odeoptions.xml
+++ b/scilab/modules/differential_equations/help/en_US/odeoptions.xml
@@ -136,11 +136,11 @@
136 condition <literal>y(0)=0</literal> claiming the solution be stored at each mesh value. 136 condition <literal>y(0)=0</literal> claiming the solution be stored at each mesh value.
137 </para> 137 </para>
138 <programlisting role="example"><![CDATA[ 138 <programlisting role="example"><![CDATA[
139function ydot=f(t,y) 139function ydot = f(t,y)
140 ydot=y^2-y*sin(t)+cos(t) 140 ydot = y^2 - y*sin(t) + cos(t)
141endfunction 141endfunction
142%ODEOPTIONS=[2,0,0,%inf,0,2,500,12,5,0,-1,-1]; 142%ODEOPTIONS = [2,0,0,%inf,0,2,500,12,5,0,-1,-1];
143y=ode(0,0,%pi,f); 143y = ode(0,0,%pi,f);
144plot(y(1,:),y(2,:)) 144plot(y(1,:),y(2,:))
145clear %ODEOPTIONS 145clear %ODEOPTIONS
146 ]]></programlisting> 146 ]]></programlisting>
diff --git a/scilab/modules/differential_equations/help/fr_FR/dae.xml b/scilab/modules/differential_equations/help/fr_FR/dae.xml
index 828d24f..b023d36 100644
--- a/scilab/modules/differential_equations/help/fr_FR/dae.xml
+++ b/scilab/modules/differential_equations/help/fr_FR/dae.xml
@@ -123,15 +123,15 @@
123 Cette forme d'<link linkend="external">external</link> sert à passer des paramètres à la fonction. 123 Cette forme d'<link linkend="external">external</link> sert à passer des paramètres à la fonction.
124 Elle doit se présenter comme suit: 124 Elle doit se présenter comme suit:
125 </para> 125 </para>
126 <programlisting role="no-scilab-exec"><![CDATA[ 126 <screen><![CDATA[
127list(res,p1,p2,...) 127list(res,p1,p2,...)
128 ]]></programlisting> 128]]></screen>
129 <para>où la séquence d'appel de la fonction 129 <para>où la séquence d'appel de la fonction
130 <literal>res</literal> est 130 <literal>res</literal> est
131 </para> 131 </para>
132 <programlisting role="no-scilab-exec"><![CDATA[ 132 <screen><![CDATA[
133r=res(t,y,ydot,p1,p2,...) 133r=res(t,y,ydot,p1,p2,...)
134 ]]></programlisting> 134]]></screen>
135 <para> 135 <para>
136 <literal>res</literal> retourne toujours le résidu comme fonction de 136 <literal>res</literal> retourne toujours le résidu comme fonction de
137 <literal>(t,x,xdot,x1,x2,...)</literal>, et 137 <literal>(t,x,xdot,x1,x2,...)</literal>, et
@@ -247,15 +247,15 @@ r=res(t,y,ydot,p1,p2,...)
247 Cette forme d'<link linkend="external">external</link> est utilisée pour passer des paramètres à la fonction. 247 Cette forme d'<link linkend="external">external</link> est utilisée pour passer des paramètres à la fonction.
248 Elle doit se présenter comme suit : 248 Elle doit se présenter comme suit :
249 </para> 249 </para>
250 <programlisting role="no-scilab-exec"><![CDATA[ 250 <screen><![CDATA[
251list(jac,p1,p2,...) 251list(jac,p1,p2,...)
252 ]]></programlisting> 252]]></screen>
253 <para>où la séquence d'appel de la fonction 253 <para>où la séquence d'appel de la fonction
254 <literal>jac</literal> est 254 <literal>jac</literal> est
255 </para> 255 </para>
256 <programlisting role="no-scilab-exec"><![CDATA[ 256 <screen><![CDATA[
257r=jac(t,x,xdot,p1,p2,...) 257r = jac(t,x,xdot,p1,p2,...)
258 ]]></programlisting> 258]]></screen>
259 <para> 259 <para>
260 <literal>jac</literal> retourne toujours 260 <literal>jac</literal> retourne toujours
261 <literal>dg/dx+cj*dg/dxdot</literal> comme fonction de 261 <literal>dg/dx+cj*dg/dxdot</literal> comme fonction de
@@ -335,15 +335,15 @@ r=jac(t,x,xdot,p1,p2,...)
335 passer des paramètres à la fonction. 335 passer des paramètres à la fonction.
336 Elle doit se présenter comme suit : 336 Elle doit se présenter comme suit :
337 </para> 337 </para>
338 <programlisting role="no-scilab-exec"><![CDATA[ 338 <screen><![CDATA[
339list(surface,p1,p2,...) 339list(surface,p1,p2,...)
340 ]]></programlisting> 340]]></screen>
341 <para>où la qéquence d'appel de la fonction 341 <para>où la qéquence d'appel de la fonction
342 <literal>surface</literal> est 342 <literal>surface</literal> est
343 </para> 343 </para>
344 <programlisting role="no-scilab-exec"><![CDATA[ 344 <screen><![CDATA[
345r=surface(t,x,p1,p2,...) 345r = surface(t,x,p1,p2,...)
346 ]]></programlisting> 346]]></screen>
347 </listitem> 347 </listitem>
348 </varlistentry> 348 </varlistentry>
349 <varlistentry> 349 <varlistentry>
@@ -458,10 +458,10 @@ r=surface(t,x,p1,p2,...)
458 L'option <literal>"root"</literal> appelle la routine <link linkend="dasrt">dasrt</link>, 458 L'option <literal>"root"</literal> appelle la routine <link linkend="dasrt">dasrt</link>,
459 et <literal>"root2"</literal> appelle <link linkend="dasrt">daskr</link>. 459 et <literal>"root2"</literal> appelle <link linkend="dasrt">daskr</link>.
460 </para> 460 </para>
461 <programlisting role="no-scilab-exec"><![CDATA[ 461 <screen><![CDATA[
462g(t, x, xdot) = 0 462g(t, x, xdot) = 0
463x(t0) = x0 and xdot(t0) = xdot0 463x(t0) = x0 and xdot(t0) = xdot0
464 ]]></programlisting> 464]]></screen>
465 <para> 465 <para>
466 Si <literal>xdot0</literal> n'est pas donné en paramètre initial, 466 Si <literal>xdot0</literal> n'est pas donné en paramètre initial,
467 <literal>dae</literal> tente de la calculer en résolvant 467 <literal>dae</literal> tente de la calculer en résolvant
@@ -508,7 +508,7 @@ y = dae([x0, xd0], 0, t, chemres); // Retourne les points d'observation demandé
508%DAEOPTIONS = list([], 1, [], [], [], 0, 0); // Demande à dae les points à retourner 508%DAEOPTIONS = list([], 1, [], [], [], 0, 0); // Demande à dae les points à retourner
509y = dae([x0, xd0], 0, 4d10, chemres); // Sans jacobian 509y = dae([x0, xd0], 0, 4d10, chemres); // Sans jacobian
510y = dae([x0, xd0], 0, 4d10, chemres, chemjac); // Avec jacobien 510y = dae([x0, xd0], 0, 4d10, chemres, chemjac); // Avec jacobien
511 ]]></programlisting> 511 ]]></programlisting>
512 <para> 512 <para>
513 Exemple #2: dasrt ("root") 513 Exemple #2: dasrt ("root")
514 </para> 514 </para>
@@ -567,7 +567,7 @@ y01 = yy(2:3, qq); y0d1 = yy(3:4, qq);
567plot(yy(1, 1), yy(2, 1), 'r+') 567plot(yy(1, 1), yy(2, 1), 'r+')
568xstring(yy(1, 1)+0.1, yy(2, 1), string(nn(1))); 568xstring(yy(1, 1)+0.1, yy(2, 1), string(nn(1)));
569cd(previous_dir); 569cd(previous_dir);
570 ]]></programlisting> 570 ]]></programlisting>
571 <scilab:image localized="false"><![CDATA[ 571 <scilab:image localized="false"><![CDATA[
572code = ['#include <math.h>' 572code = ['#include <math.h>'
573 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)' 573 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)'
@@ -666,7 +666,7 @@ y01 = yy(2:3, qq); y0d1 = yy(3:4, qq);
666plot(yy(1, 1), yy(2, 1), 'r+') 666plot(yy(1, 1), yy(2, 1), 'r+')
667xstring(yy(1, 1)+0.1, yy(2, 1), string(nn(1))); 667xstring(yy(1, 1)+0.1, yy(2, 1), string(nn(1)));
668cd(previous_dir); 668cd(previous_dir);
669 ]]></programlisting> 669 ]]></programlisting>
670 <scilab:image><![CDATA[ 670 <scilab:image><![CDATA[
671code = ['#include <math.h>' 671code = ['#include <math.h>'
672 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)' 672 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)'
diff --git a/scilab/modules/differential_equations/help/fr_FR/daskr.xml b/scilab/modules/differential_equations/help/fr_FR/daskr.xml
index a82ce66..7a7dc92 100644
--- a/scilab/modules/differential_equations/help/fr_FR/daskr.xml
+++ b/scilab/modules/differential_equations/help/fr_FR/daskr.xml
@@ -106,15 +106,15 @@
106 <para>Cette forme permet de passer des paramètres autres que t, y, ydot à la fonction. 106 <para>Cette forme permet de passer des paramètres autres que t, y, ydot à la fonction.
107 Elle doit se présenter comme suit : 107 Elle doit se présenter comme suit :
108 </para> 108 </para>
109 <programlisting role="no-scilab-exec"><![CDATA[ 109 <screen><![CDATA[
110list(res, x1, x2, ...) 110list(res, x1, x2, ...)
111 ]]></programlisting> 111]]></screen>
112 <para>où la séquence d'appel de la fonction 112 <para>où la séquence d'appel de la fonction
113 <literal>res</literal> est maintenant 113 <literal>res</literal> est maintenant
114 </para> 114 </para>
115 <programlisting role="no-scilab-exec"><![CDATA[ 115 <screen><![CDATA[
116r = res(t, y, ydot, x1, x2, ...) 116r = res(t, y, ydot, x1, x2, ...)
117 ]]></programlisting> 117]]></screen>
118 <para> 118 <para>
119 <literal>res</literal> retourne toujours 119 <literal>res</literal> retourne toujours
120 <literal>r = g(t, y, ydot)</literal> comme fonction de 120 <literal>r = g(t, y, ydot)</literal> comme fonction de
@@ -130,16 +130,16 @@ r = res(t, y, ydot, x1, x2, ...)
130 reliée à Scilab. 130 reliée à Scilab.
131 </para> 131 </para>
132 <para>En C, la séquence d'appel doit être :</para> 132 <para>En C, la séquence d'appel doit être :</para>
133 <programlisting role="no-scilab-exec"><![CDATA[ 133 <screen><![CDATA[
134void res(double *t, double y[], double yd[], double r[], 134void res(double *t, double y[], double yd[], double r[],
135 int *ires, double rpar[], int ipar[]) 135 int *ires, double rpar[], int ipar[])
136 ]]></programlisting> 136]]></screen>
137 <para>En Fortran, elle doit être :</para> 137 <para>En Fortran, elle doit être :</para>
138 <programlisting role="no-scilab-exec"><![CDATA[ 138 <screen><![CDATA[
139subroutine res(t, y, yd, r, ires, rpar, ipar) 139subroutine res(t, y, yd, r, ires, rpar, ipar)
140double precision t, y(*), yd(*),r(*),rpar(*) 140double precision t, y(*), yd(*),r(*),rpar(*)
141integer ires, ipar(*) 141integer ires, ipar(*)
142 ]]></programlisting> 142]]></screen>
143 <para> 143 <para>
144 Les tableaux <literal>rpar</literal> et <literal>ipar</literal> 144 Les tableaux <literal>rpar</literal> et <literal>ipar</literal>
145 doivent être présents mais ne peuvent pas être utilisés. 145 doivent être présents mais ne peuvent pas être utilisés.
@@ -168,15 +168,15 @@ integer ires, ipar(*)
168 <listitem> 168 <listitem>
169 <para>Une liste.</para> 169 <para>Une liste.</para>
170 <para>Elle doit se présenter comme suit :</para> 170 <para>Elle doit se présenter comme suit :</para>
171 <programlisting role="no-scilab-exec"><![CDATA[ 171 <screen><![CDATA[
172list(jac, x1, x2, ...) 172list(jac, x1, x2, ...)
173 ]]></programlisting> 173]]></screen>
174 <para>où la séquence d'appel de la fonction 174 <para>où la séquence d'appel de la fonction
175 <literal>jac</literal> est désormais 175 <literal>jac</literal> est désormais
176 </para> 176 </para>
177 <programlisting role="no-scilab-exec"><![CDATA[ 177 <screen><![CDATA[
178r=jac(t, y, ydot, cj, x1, x2,...) 178r = jac(t, y, ydot, cj, x1, x2,...)
179 ]]></programlisting> 179]]></screen>
180 <para> 180 <para>
181 <literal>jac</literal> retourne toujours 181 <literal>jac</literal> retourne toujours
182 <literal>dg/dy + cj*dg/dydot</literal> comme fonction de 182 <literal>dg/dy + cj*dg/dydot</literal> comme fonction de
@@ -188,16 +188,16 @@ r=jac(t, y, ydot, cj, x1, x2,...)
188 <para>Elle doit se référer au nom d'une fonction C ou une routine Fortran reliée à Scilab. 188 <para>Elle doit se référer au nom d'une fonction C ou une routine Fortran reliée à Scilab.
189 </para> 189 </para>
190 <para>En C, la séquence d'appel doit être :</para> 190 <para>En C, la séquence d'appel doit être :</para>
191 <programlisting role="no-scilab-exec"><![CDATA[ 191 <screen><![CDATA[
192void jac(double *t, double y[], double yd[], double pd[], 192void jac(double *t, double y[], double yd[], double pd[],
193 double *cj, double rpar[], int ipar[]) 193 double *cj, double rpar[], int ipar[])
194 ]]></programlisting> 194]]></screen>
195 <para>En Fortran, elle doit être :</para> 195 <para>En Fortran, elle doit être :</para>
196 <programlisting role="no-scilab-exec"><![CDATA[ 196 <screen><![CDATA[
197subroutine jac(t, y, yd, pd, cj, rpar, ipar) 197subroutine jac(t, y, yd, pd, cj, rpar, ipar)
198double precision t, y(*), yd(*), pd(*), cj, rpar(*) 198double precision t, y(*), yd(*), pd(*), cj, rpar(*)
199integer ipar(*) 199integer ipar(*)
200 ]]></programlisting> 200]]></screen>
201 </listitem> 201 </listitem>
202 </itemizedlist> 202 </itemizedlist>
203 </listitem> 203 </listitem>
@@ -221,30 +221,30 @@ integer ipar(*)
221 <listitem> 221 <listitem>
222 <para>Une liste.</para> 222 <para>Une liste.</para>
223 <para>Elle doit se présenter comme suit :</para> 223 <para>Elle doit se présenter comme suit :</para>
224 <programlisting role="no-scilab-exec"><![CDATA[ 224 <screen><![CDATA[
225list(surf, x1, x2, ...) 225list(surf, x1, x2, ...)
226 ]]></programlisting> 226]]></screen>
227 <para>où la séquence d'appel de la fonction 227 <para>où la séquence d'appel de la fonction
228 <literal>surf</literal> est maintenant 228 <literal>surf</literal> est maintenant
229 </para> 229 </para>
230 <programlisting role="no-scilab-exec"><![CDATA[ 230 <screen><![CDATA[
231r = surf(t, y, x1, x2, ...) 231r = surf(t, y, x1, x2, ...)
232 ]]></programlisting> 232]]></screen>
233 </listitem> 233 </listitem>
234 <listitem> 234 <listitem>
235 <para>Une chaîne de caractères.</para> 235 <para>Une chaîne de caractères.</para>
236 <para>Elle doit se référer au nom d'une fonction C ou une routine Fortran reliée à Scilab. 236 <para>Elle doit se référer au nom d'une fonction C ou une routine Fortran reliée à Scilab.
237 </para> 237 </para>
238 <para>En C, la séquence d'appel doit être :</para> 238 <para>En C, la séquence d'appel doit être :</para>
239 <programlisting role="no-scilab-exec"><![CDATA[ 239 <screen><![CDATA[
240void surf(int *ny, double *t, double y[], int *ng, double gout[]) 240void surf(int *ny, double *t, double y[], int *ng, double gout[])
241 ]]></programlisting> 241]]></screen>
242 <para>En Fortran, elle doit être :</para> 242 <para>En Fortran, elle doit être :</para>
243 <programlisting role="no-scilab-exec"><![CDATA[ 243 <screen><![CDATA[
244subroutine surf(ny, t, y, ng, gout) 244subroutine surf(ny, t, y, ng, gout)
245double precision t, y(*), gout(*) 245double precision t, y(*), gout(*)
246integer ny, ng 246integer ny, ng
247 ]]></programlisting> 247]]></screen>
248 </listitem> 248 </listitem>
249 </itemizedlist> 249 </itemizedlist>
250 </listitem> 250 </listitem>
@@ -470,15 +470,15 @@ integer ny, ng
470 <listitem> 470 <listitem>
471 <para>Une liste.</para> 471 <para>Une liste.</para>
472 <para>Elle doit se présenter comme suit :</para> 472 <para>Elle doit se présenter comme suit :</para>
473 <programlisting role="no-scilab-exec"><![CDATA[ 473 <screen><![CDATA[
474list(psol, x1, x2, ...) 474list(psol, x1, x2, ...)
475 ]]></programlisting> 475]]></screen>
476 <para> 476 <para>
477 où la séquence d'appel de <literal>psol</literal> est 477 où la séquence d'appel de <literal>psol</literal> est
478 </para> 478 </para>
479 <programlisting role="no-scilab-exec"><![CDATA[ 479 <screen><![CDATA[
480psol(wp, iwp, b, x1, x2, ...) 480psol(wp, iwp, b, x1, x2, ...)
481 ]]></programlisting> 481]]></screen>
482 <para> 482 <para>
483 <literal>psol</literal> retourne toujours la solution dans <literal>r</literal>. 483 <literal>psol</literal> retourne toujours la solution dans <literal>r</literal>.
484 </para> 484 </para>
@@ -488,21 +488,21 @@ psol(wp, iwp, b, x1, x2, ...)
488 <para>Elle doit se référer au nom d'une fonction C ou une routine Fortran reliée à Scilab 488 <para>Elle doit se référer au nom d'une fonction C ou une routine Fortran reliée à Scilab
489 </para> 489 </para>
490 <para>En C, la séquence d'appel doit être :</para> 490 <para>En C, la séquence d'appel doit être :</para>
491 <programlisting role="no-scilab-exec"><![CDATA[ 491 <screen><![CDATA[
492void psol (int*neq, double*t, double*y, double*ydot, double*savr, 492void psol (int*neq, double*t, double*y, double*ydot, double*savr,
493 double*wk, double*cj, double*wght, double*wp, int*iwp, double*b, double*eplin, int*ier, double*rpar, int*ipar) 493 double*wk, double*cj, double*wght, double*wp, int*iwp, double*b, double*eplin, int*ier, double*rpar, int*ipar)
494 ]]></programlisting> 494]]></screen>
495 où les vecteurs <literal>wp</literal> et <literal>iwp</literal> contiennent le préconditionneur LU-factorisé 495 où les vecteurs <literal>wp</literal> et <literal>iwp</literal> contiennent le préconditionneur LU-factorisé
496 <literal>P</literal>, <literal>wp</literal> représentant les valeurs et 496 <literal>P</literal>, <literal>wp</literal> représentant les valeurs et
497 <literal>iwp</literal> les pivots utilisés dans la factorisation. 497 <literal>iwp</literal> les pivots utilisés dans la factorisation.
498 <para>En Fortran, elle doit être :</para> 498 <para>En Fortran, elle doit être :</para>
499 <programlisting role="no-scilab-exec"><![CDATA[ 499 <screen><![CDATA[
500subroutine psol (neq, t, y, ydot, savr, wk, cj, wght, 500subroutine psol (neq, t, y, ydot, savr, wk, cj, wght,
501 wp, iwp, b, eplin, ier, rpar, ipar) 501 wp, iwp, b, eplin, ier, rpar, ipar)
502double precision t,y(*), ydot(*), savr(*), wk(*), cj, wght(*), wp(*), 502double precision t,y(*), ydot(*), savr(*), wk(*), cj, wght(*), wp(*),
503 b(*), eplin, rpar(*) 503 b(*), eplin, rpar(*)
504integer neq, iwp(*), ier, ipar(*) 504integer neq, iwp(*), ier, ipar(*)
505 ]]></programlisting> 505]]></screen>
506 </listitem> 506 </listitem>
507 </itemizedlist> 507 </itemizedlist>
508 </listitem> 508 </listitem>
@@ -527,15 +527,15 @@ integer neq, iwp(*), ier, ipar(*)
527 <listitem> 527 <listitem>
528 <para>Une liste.</para> 528 <para>Une liste.</para>
529 <para>Elle doit se présenter comme suit :</para> 529 <para>Elle doit se présenter comme suit :</para>
530 <programlisting role="no-scilab-exec"><![CDATA[ 530 <screen><![CDATA[
531list(pjac, x1, x2, ...) 531list(pjac, x1, x2, ...)
532 ]]></programlisting> 532]]></screen>
533 <para> 533 <para>
534 où la séquence d'appel de <literal>pjac</literal> est 534 où la séquence d'appel de <literal>pjac</literal> est
535 </para> 535 </para>
536 <programlisting role="no-scilab-exec"><![CDATA[ 536 <screen><![CDATA[
537pjac(neq, t, y, ydot, h, cj, rewt, savr, x1, x2,...) 537pjac(neq, t, y, ydot, h, cj, rewt, savr, x1, x2,...)
538 ]]></programlisting> 538]]></screen>
539 <para> 539 <para>
540 <literal>pjac</literal> retourne toujours 540 <literal>pjac</literal> retourne toujours
541 <literal>dg/dy + cj*dg/dydot</literal> comme fonction de 541 <literal>dg/dy + cj*dg/dydot</literal> comme fonction de
@@ -547,18 +547,18 @@ pjac(neq, t, y, ydot, h, cj, rewt, savr, x1, x2,...)
547 <para>Elle doit se référer au nom d'une fonction C ou une routine Fortran reliée à Scilab 547 <para>Elle doit se référer au nom d'une fonction C ou une routine Fortran reliée à Scilab
548 </para> 548 </para>
549 <para>En C, la séquence d'appel doit être :</para> 549 <para>En C, la séquence d'appel doit être :</para>
550 <programlisting role="no-scilab-exec"><![CDATA[ 550 <screen><![CDATA[
551void pjac (double*res, int*ires, int*neq, double*t, double*y, double*ydot, double*rewt, double*savr, 551void pjac (double*res, int*ires, int*neq, double*t, double*y, double*ydot, double*rewt, double*savr,
552double*wk, double*h, double*cj, double*wp, int*iwp, int*ier, double*rpar, int*ipar) 552double*wk, double*h, double*cj, double*wp, int*iwp, int*ier, double*rpar, int*ipar)
553 ]]></programlisting> 553]]></screen>
554 <para>En Fortran, elle doit être :</para> 554 <para>En Fortran, elle doit être :</para>
555 <programlisting role="no-scilab-exec"><![CDATA[ 555 <screen><![CDATA[
556subroutine pjac (res, ires, neq, t, y, ydot, rewt, savr, 556subroutine pjac (res, ires, neq, t, y, ydot, rewt, savr,
557 wk, h, cj, wp, iwp, ier, rpar, ipar) 557 wk, h, cj, wp, iwp, ier, rpar, ipar)
558double precision res(*), t, y(*), ydot(*), rewt(*), savr(*), 558double precision res(*), t, y(*), ydot(*), rewt(*), savr(*),
559 wk(*), h, cj, wp(*), rpar(*) 559 wk(*), h, cj, wp(*), rpar(*)
560integer ires, neq, iwp(*), ier, ipar(*) 560integer ires, neq, iwp(*), ier, ipar(*)
561 ]]></programlisting> 561]]></screen>
562 </listitem> 562 </listitem>
563 </itemizedlist> 563 </itemizedlist>
564 </listitem> 564 </listitem>
@@ -598,10 +598,10 @@ integer ires, neq, iwp(*), ier, ipar(*)
598 <refsection> 598 <refsection>
599 <title>Description</title> 599 <title>Description</title>
600 <para>Solution de l'équation différentielle implicite :</para> 600 <para>Solution de l'équation différentielle implicite :</para>
601 <programlisting role="no-scilab-exec"><![CDATA[ 601 <screen><![CDATA[
602g(t, y, ydot) = 0 602g(t, y, ydot) = 0
603y(t0) = y0 et ydot(t0) = ydot0 603y(t0) = y0 et ydot(t0) = ydot0
604 ]]></programlisting> 604]]></screen>
605 <para>Retourne les temps de traversée de surface et le nombre de surfaces traversées 605 <para>Retourne les temps de traversée de surface et le nombre de surfaces traversées
606 dans <literal>nn</literal>. 606 dans <literal>nn</literal>.
607 </para> 607 </para>
@@ -623,7 +623,7 @@ deff('[rts] = gr1(t, y)', 'rts = [((2*log(y)+8)/t-5)*y; log(y)-2.2491]')
623nn 623nn
624 624
625// Retourne nn = [2.4698972 2] 625// Retourne nn = [2.4698972 2]
626 ]]></programlisting> 626 ]]></programlisting>
627 </refsection> 627 </refsection>
628 <refsection role="see also"> 628 <refsection role="see also">
629 <title>Voir aussi</title> 629 <title>Voir aussi</title>
diff --git a/scilab/modules/differential_equations/help/fr_FR/intg.xml b/scilab/modules/differential_equations/help/fr_FR/intg.xml
index 638f916..6d5cf9d 100644
--- a/scilab/modules/differential_equations/help/fr_FR/intg.xml
+++ b/scilab/modules/differential_equations/help/fr_FR/intg.xml
@@ -238,7 +238,7 @@ link(l, 'cfun', 'c')
238// integration de la fonction 238// integration de la fonction
239I = intg(0, 2*%pi, 'cfun') 239I = intg(0, 2*%pi, 'cfun')
240abs(exact - I) 240abs(exact - I)
241 ]]></programlisting> 241 ]]></programlisting>
242 </refsection> 242 </refsection>
243 <refsection role="see also"> 243 <refsection role="see also">
244 <title>Voir aussi</title> 244 <title>Voir aussi</title>
diff --git a/scilab/modules/differential_equations/help/fr_FR/inttrap.xml b/scilab/modules/differential_equations/help/fr_FR/inttrap.xml
index 9ce2047..d14df85 100644
--- a/scilab/modules/differential_equations/help/fr_FR/inttrap.xml
+++ b/scilab/modules/differential_equations/help/fr_FR/inttrap.xml
@@ -8,7 +8,10 @@
8 </refnamediv> 8 </refnamediv>
9 <refsynopsisdiv> 9 <refsynopsisdiv>
10 <title>Séquence d'appel</title> 10 <title>Séquence d'appel</title>
11 <synopsis>v = inttrap([x,] s)</synopsis> 11 <synopsis>
12 v = inttrap(s)
13 v = inttrap(x, s)
14 </synopsis>
12 </refsynopsisdiv> 15 </refsynopsisdiv>
13 <refsection> 16 <refsection>
14 <title>Paramètres</title> 17 <title>Paramètres</title>
@@ -48,7 +51,7 @@
48 <refsection> 51 <refsection>
49 <title>Exemples</title> 52 <title>Exemples</title>
50 <programlisting role="example"><![CDATA[ 53 <programlisting role="example"><![CDATA[
51t=0:0.1:%pi 54t = 0:0.1:%pi
52inttrap(t,sin(t)) 55inttrap(t,sin(t))
53 ]]></programlisting> 56 ]]></programlisting>
54 </refsection> 57 </refsection>
diff --git a/scilab/modules/differential_equations/help/fr_FR/ode.xml b/scilab/modules/differential_equations/help/fr_FR/ode.xml
index a6fbf1f..328e97e 100644
--- a/scilab/modules/differential_equations/help/fr_FR/ode.xml
+++ b/scilab/modules/differential_equations/help/fr_FR/ode.xml
@@ -6,10 +6,10 @@
6 </refnamediv> 6 </refnamediv>
7 <refsynopsisdiv> 7 <refsynopsisdiv>
8 <title>Syntaxe</title> 8 <title>Syntaxe</title>
9 <synopsis>y=ode(y0,t0,t,f) 9 <synopsis>y = ode(y0,t0,t,f)
10 [y,w,iw]=ode([type],y0,t0,t [,rtol [,atol]],f [,jac] [,w,iw]) 10 [y,w,iw] = ode([type],y0,t0,t [,rtol [,atol]],f [,jac] [,w,iw])
11 [y,rd,w,iw]=ode("root",y0,t0,t [,rtol [,atol]],f [,jac],ng,g [,w,iw]) 11 [y,rd,w,iw] = ode("root",y0,t0,t [,rtol [,atol]],f [,jac],ng,g [,w,iw])
12 y=ode("discrete",y0,k0,kvect,f) 12 y = ode("discrete",y0,k0,kvect,f)
13 </synopsis> 13 </synopsis>
14 </refsynopsisdiv> 14 </refsynopsisdiv>
15 <refsection role="parameters"> 15 <refsection role="parameters">
@@ -256,15 +256,15 @@
256 <para>Si c'est une subroutine Fortran, sa liste d'appel doit 256 <para>Si c'est une subroutine Fortran, sa liste d'appel doit
257 être 257 être
258 </para> 258 </para>
259 <programlisting role=""><![CDATA[ 259 <screen><![CDATA[
260subroutine fex(n,t,y,ydot) 260subroutine fex(n,t,y,ydot)
261integer n 261integer n
262double precision t,y(*),ydot(*) 262double precision t,y(*),ydot(*)
263 ]]></programlisting> 263]]></screen>
264 <para>Si c'est une fonction C son prototype doit être:</para> 264 <para>Si c'est une fonction C son prototype doit être:</para>
265 <programlisting role=""><![CDATA[ 265 <screen><![CDATA[
266void fex(int *n,double *t,double *y,double *ydot) 266void fex(int *n,double *t,double *y,double *ydot)
267 ]]></programlisting> 267]]></screen>
268 <para> 268 <para>
269 Cet external peut être compilé par l'utilitaire <link linkend="ilib_for_link">ilib_for_link</link> et chargé 269 Cet external peut être compilé par l'utilitaire <link linkend="ilib_for_link">ilib_for_link</link> et chargé
270 dynamiquement par la fonction <link linkend="link">link</link>. 270 dynamiquement par la fonction <link linkend="link">link</link>.
@@ -341,15 +341,15 @@ void fex(int *n,double *t,double *y,double *ydot)
341 <para>En Fortran, Cette routine doit avoir la liste d'appel suivante 341 <para>En Fortran, Cette routine doit avoir la liste d'appel suivante
342 : 342 :
343 </para> 343 </para>
344 <programlisting role=""><![CDATA[ 344 <screen><![CDATA[
345subroutine fex(n,t,y,ml,mu,J,nrpd) 345subroutine fex(n,t,y,ml,mu,J,nrpd)
346integer n,ml,mu,nrpd 346integer n,ml,mu,nrpd
347double precision t,y(*),J(*) 347double precision t,y(*),J(*)
348 ]]></programlisting> 348]]></screen>
349 <para>Si c'est une fonction C son prototype doit être:</para> 349 <para>Si c'est une fonction C son prototype doit être:</para>
350 <programlisting role=""><![CDATA[ 350 <screen><![CDATA[
351void fex(int *n,double *t,double *y,int *ml,int *mu,double *J,int *nrpd,) 351void fex(int *n,double *t,double *y,int *ml,int *mu,double *J,int *nrpd,)
352 ]]></programlisting> 352]]></screen>
353 <para>Dans la plupart des cas il n'est pas nécessaire d'utiliser 353 <para>Dans la plupart des cas il n'est pas nécessaire d'utiliser
354 <literal>ml</literal>, <literal>mu</literal> et 354 <literal>ml</literal>, <literal>mu</literal> et
355 <literal>nrpd</literal>, qui sont relatifs à la possibilité de 355 <literal>nrpd</literal>, qui sont relatifs à la possibilité de
diff --git a/scilab/modules/differential_equations/help/ja_JP/dae.xml b/scilab/modules/differential_equations/help/ja_JP/dae.xml
index 7b7f742..f4e0eea 100644
--- a/scilab/modules/differential_equations/help/ja_JP/dae.xml
+++ b/scilab/modules/differential_equations/help/ja_JP/dae.xml
@@ -118,15 +118,15 @@
118 関数にパラメータを指定する際に使用されます. 118 関数にパラメータを指定する際に使用されます.
119 以下のような形式とします: 119 以下のような形式とします:
120 </para> 120 </para>
121 <programlisting role="no-scilab-exec"><![CDATA[ 121 <screen><![CDATA[
122list(res,p1,p2,...) 122list(res,p1,p2,...)
123 ]]></programlisting> 123]]></screen>
124 <para> 124 <para>
125 ただし,ここで関数<literal>res</literal>の呼び出し手順は以下のようになります 125 ただし,ここで関数<literal>res</literal>の呼び出し手順は以下のようになります
126 </para> 126 </para>
127 <programlisting role="no-scilab-exec"><![CDATA[ 127 <screen><![CDATA[
128r=res(t,y,ydot,p1,p2,...) 128r = res(t,y,ydot,p1,p2,...)
129 ]]></programlisting> 129]]></screen>
130 <para> 130 <para>
131 この場合も<literal>res</literal> は 131 この場合も<literal>res</literal> は
132 <literal>(t,x,xdot,x1,x2,...)</literal>の関数として残差の値を返し, 132 <literal>(t,x,xdot,x1,x2,...)</literal>の関数として残差の値を返し,
@@ -237,16 +237,16 @@ r=res(t,y,ydot,p1,p2,...)
237 関数にパラメータを指定する際に使用されます. 237 関数にパラメータを指定する際に使用されます.
238 以下のような形式とします: 238 以下のような形式とします:
239 </para> 239 </para>
240 <programlisting role="no-scilab-exec"><![CDATA[ 240 <screen><![CDATA[
241list(jac,p1,p2,...) 241list(jac,p1,p2,...)
242 ]]></programlisting> 242]]></screen>
243 <para> 243 <para>
244 ただしこの場合の関数<literal>jac</literal>の呼び出し手順は 244 ただしこの場合の関数<literal>jac</literal>の呼び出し手順は
245 以下となります 245 以下となります
246 </para> 246 </para>
247 <programlisting role="no-scilab-exec"><![CDATA[ 247 <screen><![CDATA[
248r=jac(t,x,xdot,p1,p2,...) 248r = jac(t,x,xdot,p1,p2,...)
249 ]]></programlisting> 249]]></screen>
250 <para> 250 <para>
251 この場合でも<literal>jac</literal> は, 251 この場合でも<literal>jac</literal> は,
252 <literal>(t,x,xdot,cj,p1,p2,...)</literal>の関数として 252 <literal>(t,x,xdot,cj,p1,p2,...)</literal>の関数として
@@ -321,16 +321,16 @@ r=jac(t,x,xdot,p1,p2,...)
321 関数にパラメータを指定する際に使用されます. 321 関数にパラメータを指定する際に使用されます.
322 以下のような形式とします: 322 以下のような形式とします:
323 </para> 323 </para>
324 <programlisting role="no-scilab-exec"><![CDATA[ 324 <screen><![CDATA[
325list(surface,p1,p2,...) 325list(surface,p1,p2,...)
326 ]]></programlisting> 326]]></screen>
327 <para> 327 <para>
328 ただしこの場合の関数<literal>surface</literal>の呼び出し手順は 328 ただしこの場合の関数<literal>surface</literal>の呼び出し手順は
329 以下となります 329 以下となります
330 </para> 330 </para>
331 <programlisting role="no-scilab-exec"><![CDATA[ 331 <screen><![CDATA[
332r=surface(t,x,p1,p2,...) 332r = surface(t,x,p1,p2,...)
333 ]]></programlisting> 333]]></screen>
334 </listitem> 334 </listitem>
335 </varlistentry> 335 </varlistentry>
336 <varlistentry> 336 <varlistentry>
@@ -443,10 +443,10 @@ r=surface(t,x,p1,p2,...)
443 <link linkend="dasrt">dasrt</link> ルーチンをコールし, 443 <link linkend="dasrt">dasrt</link> ルーチンをコールし,
444 <literal>"root2"</literal> は <link linkend="dasrt">daskr</link>をコールします. 444 <literal>"root2"</literal> は <link linkend="dasrt">daskr</link>をコールします.
445 </para> 445 </para>
446 <programlisting role="no-scilab-exec"><![CDATA[ 446 <screen><![CDATA[
447g(t,x,xdot)=0 447g(t,x,xdot) = 0
448x(t0)=x0 および xdot(t0)=xdot0 448x(t0) = x0 および xdot(t0)=xdot0
449 ]]></programlisting> 449]]></screen>
450 <para> 450 <para>
451 <emphasis>initial</emphasis>引数に<literal>xdot0</literal> が指定されない場合, 451 <emphasis>initial</emphasis>引数に<literal>xdot0</literal> が指定されない場合,
452 <literal>dae</literal>関数は <literal>g(t,x0,xdot0)=0</literal> 452 <literal>dae</literal>関数は <literal>g(t,x0,xdot0)=0</literal>
@@ -488,16 +488,16 @@ function pd=chemjac(x,y,yd,cj)
488 1 , 1 , 1 ] 488 1 , 1 , 1 ]
489endfunction 489endfunction
490 490
491x0=[1; 0; 0]; 491x0 = [1; 0; 0];
492xd0=[-0.04; 0.04; 0]; 492xd0 = [-0.04; 0.04; 0];
493t=[1.d-5:0.02:.4, 0.41:.1:4, 40, 400, 4000, 40000, 4d5, 4d6, 4d7, 4d8, 4d9, 4d10]; 493t = [1.d-5:0.02:.4, 0.41:.1:4, 40, 400, 4000, 40000, 4d5, 4d6, 4d7, 4d8, 4d9, 4d10];
494 494
495y=dae([x0,xd0],0,t,chemres);// 指定した観測時刻での点を返す 495y = dae([x0,xd0],0,t,chemres);// 指定した観測時刻での点を返す
496 496
497%DAEOPTIONS=list([],1,[],[],[],0,0); // dae メッシュ点を返すかどうかを確認 497%DAEOPTIONS = list([],1,[],[],[],0,0); // dae メッシュ点を返すかどうかを確認
498y=dae([x0,xd0],0,4d10,chemres); // ヤコビアン指定なし 498y = dae([x0,xd0],0,4d10,chemres); // ヤコビアン指定なし
499y=dae([x0,xd0],0,4d10,chemres,chemjac); // ヤコビアン指定あり 499y = dae([x0,xd0],0,4d10,chemres,chemjac); // ヤコビアン指定あり
500 ]]></programlisting> 500 ]]></programlisting>
501 <para> 501 <para>
502 例 #2: dasrt ("root") 502 例 #2: dasrt ("root")
503 </para> 503 </para>
@@ -528,26 +528,26 @@ mputl(code,TMPDIR+'/t22.c')
528ilib_for_link(['res22' 'jac22' 'gr22'],'t22.c',[],'c',[],TMPDIR+'/t22loader.sce'); 528ilib_for_link(['res22' 'jac22' 'gr22'],'t22.c',[],'c',[],TMPDIR+'/t22loader.sce');
529exec(TMPDIR+'/t22loader.sce') 529exec(TMPDIR+'/t22loader.sce')
530//-3- 実行 530//-3- 実行
531rtol=[1.d-6;1.d-6];atol=[1.d-6;1.d-4]; 531rtol = [1.d-6;1.d-6];atol=[1.d-6;1.d-4];
532t0=0;y0=[2;0];y0d=[0;-2];t=[20:20:200];ng=1; 532t0 = 0; y0 = [2;0]; y0d = [0;-2]; t = [20:20:200]; ng = 1;
533//簡単なシミュレーション 533//簡単なシミュレーション
534t=0:0.003:300; 534t = 0:0.003:300;
535yy=dae([y0,y0d],t0,t,atol,rtol,'res22','jac22'); 535yy = dae([y0,y0d],t0,t,atol,rtol,'res22','jac22');
536clf();plot(yy(1,:),yy(2,:)) 536clf(); plot(yy(1,:),yy(2,:))
537//find first point where yy(1)=0 537//find first point where yy(1)=0
538[yy,nn,hotd]=dae("root",[y0,y0d],t0,300,atol,rtol,'res22','jac22',ng,'gr22'); 538[yy,nn,hotd] = dae("root",[y0,y0d],t0,300,atol,rtol,'res22','jac22',ng,'gr22');
539plot(yy(1,1),yy(2,1),'r+') 539plot(yy(1,1),yy(2,1),'r+')
540xstring(yy(1,1)+0.1,yy(2,1),string(nn(1))) 540xstring(yy(1,1)+0.1,yy(2,1),string(nn(1)))
541 541
542//次の点までホットリスタート 542//次の点までホットリスタート
543t01=nn(1); 543t01 = nn(1);
544[pp,qq]=size(yy); 544[pp,qq] = size(yy);
545y01=yy(2:3,qq);y0d1=yy(3:4,qq); 545y01 = yy(2:3,qq); y0d1 = yy(3:4,qq);
546[yy,nn,hotd]=dae("root",[y01,y0d1],t01,300,atol,rtol,'res22','jac22',ng,'gr22',hotd); 546[yy,nn,hotd] = dae("root",[y01,y0d1],t01,300,atol,rtol,'res22','jac22',ng,'gr22',hotd);
547plot(yy(1,1),yy(2,1),'r+') 547plot(yy(1,1),yy(2,1),'r+')
548xstring(yy(1,1)+0.1,yy(2,1),string(nn(1))); 548xstring(yy(1,1)+0.1,yy(2,1),string(nn(1)));
549cd(previous_dir); 549cd(previous_dir);
550 ]]></programlisting> 550 ]]></programlisting>
551 <scilab:image localized="false"><![CDATA[ 551 <scilab:image localized="false"><![CDATA[
552code = ['#include <math.h>' 552code = ['#include <math.h>'
553 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)' 553 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)'
@@ -646,7 +646,7 @@ y01 = yy(2:3, qq); y0d1 = yy(3:4, qq);
646plot(yy(1, 1), yy(2, 1), 'r+') 646plot(yy(1, 1), yy(2, 1), 'r+')
647xstring(yy(1, 1)+0.1, yy(2, 1), string(nn(1))); 647xstring(yy(1, 1)+0.1, yy(2, 1), string(nn(1)));
648cd(previous_dir); 648cd(previous_dir);
649 ]]></programlisting> 649 ]]></programlisting>
650 <scilab:image><![CDATA[ 650 <scilab:image><![CDATA[
651code = ['#include <math.h>' 651code = ['#include <math.h>'
652 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)' 652 'void res22(double *t, double *y, double *yd, double *res, int *ires, double *rpar, int *ipar)'
diff --git a/scilab/modules/differential_equations/help/ja_JP/daeoptions.xml b/scilab/modules/differential_equations/help/ja_JP/daeoptions.xml
index c64d7e5..3d99815 100644
--- a/scilab/modules/differential_equations/help/ja_JP/daeoptions.xml
+++ b/scilab/modules/differential_equations/help/ja_JP/daeoptions.xml
@@ -1,5 +1,4 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2
3<!-- 2<!--
4 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab 3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
5 * Copyright (C) 2008 - INRIA 4 * Copyright (C) 2008 - INRIA
@@ -15,476 +14,241 @@
15 * along with this program. 14 * along with this program.
16 * 15 *
17 --> 16 -->
18
19<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="daeoptions" xml:lang="ja"> 17<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="daeoptions" xml:lang="ja">
20
21 <refnamediv> 18 <refnamediv>
22
23 <refname>daeoptions</refname> 19 <refname>daeoptions</refname>
24
25 <refpurpose>daeソルバのオプションを設定</refpurpose> 20 <refpurpose>daeソルバのオプションを設定</refpurpose>
26
27 </refnamediv> 21 </refnamediv>
28
29 <refsynopsisdiv> 22 <refsynopsisdiv>
30
31 <title>呼出し手順</title> 23 <title>呼出し手順</title>
32
33 <synopsis>daeoptions()</synopsis> 24 <synopsis>daeoptions()</synopsis>
34
35 </refsynopsisdiv> 25 </refsynopsisdiv>
36
37 <refsection> 26 <refsection>
38
39 <title>説明</title> 27 <title>説明</title>
40