Figure 3. Block solution scheme of mod2pendDAE; 

see also printSolScheme() in obtaining SA result

Serial block solution scheme for a Taylor series method


In sa_mod2pend.m, the following script 


G = 9.81; L = 10; alpha = 0.1; n = 6; 
sadata = daeSA(@mod2pend, n, G, L, alpha); 

vars = {'x','y','lam','u','v','mu'};
printSolScheme(sadata,'varnames',vars,'fcnnames','f_')


produces


k = -6: ~[f_3] : x, y
k = -5:  [f_3'] : x', y'
k = -4:  [f_1, f_2, f_3''] : x'', y'', lam
k = -3:  [f_1', f_2', f_3'''] : x''', y''', lam'
         [] : v
k = -2:  [f_1'', f_2'', f_3''''] : x'''', y'''', lam''
        ~[f_6] : u
         [] : v'
k = -1:  [f_1''', f_2''', f_3^(5)] : x^(5), y^(5), lam'''
         [f_6'] : u'
         [] : v''
k =  0:  [f_1'''', f_2'''', f_3^(6)] : x^(6), y^(6), lam''''
         [f_6''] : u''
         [f_4] : mu
        ~[f_5] : v'''

k >  0:  [f_1^(4+k), f_2^(4+k), f_3^(6+k)] : x^(6+k), y^(6+k), lam^(4+k)
         [f_6^(2+k)] : u^(2+k)
         [f_4^(k)] : mu^(k)
         [f_5^(k)] : v^(3+k)


Explanations:

  • This solution scheme is carried out stage by stage. At each stage k, the derivatives are found block by block using backward substitutions.
  • The derivatives found at previous stages or in previous blocks (bottom-right) are considered known.
  • "[X]: Y" reads "solve linear equations X for variables/derivatives Y";

         ~[X] means equations X are nonlinear in Y (marked with a gray block in the table above).



© Gary Guangning Tan, 2015