MA 325  Mon-Wed-Fri 12.25-1.15 pm

    Class-room:  SAS Hall 2229

    Instructor: Mette S Olufsen
    Office: SAS 3216
    Office Hours: By appointment via email.
    Phone Number: 515-2678
    Email address:


    1.    Introduction to cardiovascular models (steady state) (pdf)
    2.    Cardiovascular models (steady state): notes and exercises
    3.    Cardiovascular models (time-varying) (pdf)
    4.    Cardiovascular models (sensitivities and HW 2) (pdf)
    5.    Time varying cardiovascular model: paper
    8.    Matlab code (zip-file)
    9.    Cardiovascular models lecture 3 (pdf)
  10.    Cardiovascular models lecture 4 (pdf)


Homework 1 (Due Wed 2/26)
           1:  Solve equations displayed on Fig 1.6 for V, P, and Q as a function of parameters (R's, C's, and K's).
                The figure can be found in the powerpoint and notes on CV models.
           2:  Solve problems 1.2, 1.3, 1.4, 1.5, and 1.10 from the notes on CV models.

Homework 2 (Due Wed 2/5)
           1:    In code enter:
                  load_global.m:    Height, weight, gender
                  modelBasic.m:    Equations for flows and the right hand side for the ODE's. HAND IN CODE AS PART OF YOUR HOMEWORK.
           2:    Run the code (DriverBasic) and solve equations. Plot all states (pau, pal, pvl, pvu, Vlv).
           3:    Calculate and plot all pressures (pau, pal, pvl, pvu), volumes (Vau, Val, Vvl, Vvu, and Vlv (note  this is a state)) and flows (qaup, qal, qalp, qvl).
           4:    Derive sensitivity equations as shown on slide 11 for three parameters, you do not have to derive them wrt pau (you can do one of the other states
                  e.g. pal, pvl, pvu or Vlv).
           5:    Compute sensitivities for pau and show ranking (as shown on Slide 17 - left graph). To compute sensitivities run "DriverBasic_sens"
           6:    Plot sensitivities as a function of time for three parameters, one that is sensitive, one that is medium sensitive, and one that is insensitive
                  (make a graph similar to the one on slide 17 right graph - for this run "DriverBasic_sens" and change figure 1).
           7:    For the 3 most sensitive parameters change their values and re-solve equations (run DriverBasic), what do you observe for the states.
                  Summarize results in a Table.
           8:    Discuss results what did you observe?

Homework 3 (Due Wednesday 3/19 -Wednesday after spring break)

            1.    Subject 1 (height 174 weight 75, Male), Subject 2 (height 160, weight 52, Female),
                   Subject 3 (height 170, weight 63, Female), Subject 4 (height 182, weight 89, Male)
            For each of the four subjects:
            2.    In load_global.m enter height, weight, and gender
            3.    With initial parameter values run DriverBasic plot all states (pau, pal, pvl, pvu, Vlv)
            4.    Compute sensitivity ranking by running DriverBasic_sens (show graph with ranked sensitivities and on the graph note order of parameters)
            5.    Find a subset for the subject by running DriverBasic_jacobian (in your homework type up what parameters are in the subset).
            6.    Estimate parameters in the subset - to do so in DriverBasic_optimization edit INDMAP = [ xxx ] representing the parameters in your subset.

                   In the command window the optimization starts outputting numbers on the form
                    2    2    2
                   1.2583    0.6514         0         0  356.2807
                   1.0327    0.0330         0    1.0000  142.9458

                   This continues until the algorithm has converged and the prompt comes back, these numbers represent
                   the gradient, the cost, the iteration number, a second index, and a number indicating how well the problem is conditioned. The first
                   two numbers should decrease, whereas the iteration number goes up.

                  When the optimization is done you have a file called xopt.mat this contains your optimized parameter values in a vector x.

            7.   When your optimization is finished run DriverBasic again with the optimized parameters. To load optimized parameters
                   in DriverBasic.m uncomment lines 19 and 20 and put a comment ("%") in front of pars = x0 on line 22.
                   Again plot all states (pau, pal, pvl, pvu, Vlv), volumes (Vau, Val, Vvl, Vvu), and cardiac output qCo.
            8.    In a table note optimized parameters for each of the three subjects, calculate mean value and standard deviation for each
                   parameter estimated.
            9.    Discuss what you have learned about the cardiovascular system.