Index: mttroot/mtt/lib/rep/nppp_rep.make ================================================================== --- mttroot/mtt/lib/rep/nppp_rep.make +++ mttroot/mtt/lib/rep/nppp_rep.make @@ -2,22 +2,37 @@ # Makefile for representation nppp # File nppp_rep.make #Copyright (C) 2000,2001,2002 by Peter J. Gawthrop -model_reps = ${SYS}_sympar.m ${SYS}_simpar.m ${SYS}_state.m\ - ${SYS}_numpar.m ${SYS}_input.m ${SYS}_ode2odes.m\ - ${SYS}_sim.m ${SYS}_def.m +## Model targets +model_reps = ${SYS}_sympar.m ${SYS}_simpar.m ${SYS}_state.m +model_reps += ${SYS}_numpar.m ${SYS}_input.m ${SYS}_ode2odes.m +model_reps += ${SYS}_def.m + +## Prepend s to get the sensitivity targets +sensitivity_reps = ${model_reps:%=s%} + +## Simulation targets +sims = ${SYS}_sim.m s${SYS}_ssim.m + +## m-files needed for nppp +nppp_m = ${SYS}_nppp.m ${SYS}_nppp_numpar.m -sensitivity_reps = s${SYS}_sympar.m s${SYS}_simpar.m s${SYS}_state.m\ - s${SYS}_numpar.m s${SYS}_input.m s${SYS}_ode2odes.m\ - s${SYS}_ssim.m s${SYS}_def.m +## Targets for the nppp simulation +nppp_reps = ${nppp_m} ${sims} ${model_reps} ${sensitivity_reps} all: ${SYS}_nppp.${LANG} +echo: + echo "sims: ${sims}" + echo "model_reps: ${model_reps}" + echo "sensitivity_reps: ${sensitivity_reps}" + echo "nppp_reps: ${nppp_reps}" + ${SYS}_nppp.view: ${SYS}_nppp.ps - echo Viewing ${SYS}_nppp.ps; ghostview ${SYS}_nppp.ps& + nppp_rep.sh ${SYS} view ${SYS}_nppp.ps: ${SYS}_nppp.fig nppp_rep.sh ${SYS} ps ${SYS}_nppp.fig: ${SYS}_nppp.gdat @@ -24,87 +39,63 @@ nppp_rep.sh ${SYS} fig ${SYS}_nppp.gdat: ${SYS}_nppp.dat2 nppp_rep.sh ${SYS} gdat -${SYS}_nppp.dat2: ${SYS}_nppp.m ${SYS}_nppp_numpar.m \ - ${model_reps} ${sensitivity_reps} ${SYS}_def.r +${SYS}_nppp.dat2: ${nppp_reps} nppp_rep.sh ${SYS} dat2 ${SYS}_nppp.m: nppp_rep.sh ${SYS} m ${SYS}_nppp_numpar.m: nppp_rep.sh ${SYS} numpar.m ## System model reps -${SYS}_sympar.m: - mtt ${OPTS} -q -stdin ${SYS} sympar m - -${SYS}_simpar.m: ${SYS}_simpar.txt - mtt ${OPTS} -q -stdin ${SYS} simpar m - -${SYS}_state.m: ${SYS}_state.txt - mtt ${OPTS} -q -stdin ${SYS} state m - -${SYS}_state.txt: - mtt ${OPTS} -q -stdin ${SYS} state txt - -${SYS}_numpar.m: ${SYS}_numpar.txt - mtt ${OPTS} -q -stdin ${SYS} numpar m - -${SYS}_input.m: ${SYS}_input.txt - mtt ${OPTS} -q -stdin ${SYS} input m - -${SYS}_input.txt: - mtt ${OPTS} -q -stdin ${SYS} input txt - +## Generic txt files +${SYS}_%.txt: + mtt ${OPTS} -q -stdin ${SYS} $* txt + +## Specific m files ${SYS}_ode2odes.m: ${SYS}_rdae.r - mtt ${OPTS} -q -stdin ${SYS} ode2odes m + mtt -q -stdin ${OPTS} ${SYS} ode2odes m ${SYS}_sim.m: ${SYS}_ode2odes.m mtt ${OPTS} -q -stdin ${SYS} sim m -${SYS}_def.m: ${SYS}_def.r - mtt ${OPTS} -q -stdin ${SYS} def m +## Generic txt to m +${SYS}_%.m: ${SYS}_%.txt + mtt ${OPTS} -q -stdin ${SYS} $* m +## r files ${SYS}_def.r: ${SYS}_abg.fig mtt ${OPTS} -q -stdin ${SYS} def r ${SYS}_rdae.r: mtt ${OPTS} -q -stdin ${SYS} rdae r ## Sensitivity model reps -s${SYS}_sympar.m: - mtt -q -stdin ${OPTS} -s s${SYS} sympar m - -s${SYS}_simpar.m: - mtt -q -stdin ${OPTS} -s s${SYS} simpar m - -s${SYS}_state.m: s${SYS}_state.txt - mtt -q -stdin ${OPTS} -s s${SYS} state m - -s${SYS}_state.txt: - mtt -q -stdin ${OPTS} -s s${SYS} state txt - -s${SYS}_numpar.m: s${SYS}_numpar.txt - mtt -q -stdin ${OPTS} -s s${SYS} numpar m - -s${SYS}_input.m: s${SYS}_input.txt - mtt -q -stdin ${OPTS} -s s${SYS} input m - -s${SYS}_input.txt: - mtt -q -stdin ${OPTS} -s s${SYS} input txt - +## Generic txt files +s${SYS}_%.txt: + mtt ${OPTS} -q -stdin s${SYS} $* txt + +## Specific m files s${SYS}_ode2odes.m: s${SYS}_rdae.r mtt -q -stdin ${OPTS} -s s${SYS} ode2odes m s${SYS}_ssim.m: mtt -q -stdin ${OPTS} -s s${SYS} ssim m s${SYS}_def.m: mtt -q -stdin ${OPTS} -s s${SYS} def m + +## Generic txt to m +s${SYS}_%.m: s${SYS}_%.txt + mtt ${OPTS} -q -stdin s${SYS} $* m + + +## r files s${SYS}_rdae.r: mtt ${OPTS} -q -stdin -s s${SYS} rdae r Index: mttroot/mtt/lib/rep/nppp_rep.sh ================================================================== --- mttroot/mtt/lib/rep/nppp_rep.sh +++ mttroot/mtt/lib/rep/nppp_rep.sh @@ -14,10 +14,11 @@ target=${sys}_${rep}.${lang} def_file=${sys}_def.r dat2_file=${sys}_nppp.dat2 dat2s_file=${sys}_nppps.dat2 nppp_numpar_file=${sys}_nppp_numpar.m +option_file=${sys}_nppp_mtt_options.txt ## Get system information if [ -f "${def_file}" ]; then echo Using ${def_file} else @@ -25,23 +26,20 @@ fi ny=`mtt_getsize $1 y` nu=`mtt_getsize $1 u` -## Help documentation -help_short() { -cat< ${option_file} + fi + else + echo ${mtt_options} > ${option_file} + fi +} ## Make the _nppp.m file make_nppp() { filename=${sys}_${rep}.m echo Creating ${filename} @@ -91,11 +89,11 @@ printf("PPP optimisation from %3.2f to %3.2f\n", simpars.first, simpars.last); printf(" -- using info in s${sys}_simpar.txt\n"); endif t_horizon = [simpars.first+simpars.dt:simpars.dt:simpars.last]'; - w_s = ones(size(t_horizon))*w'; + w_s = ones(length(t_horizon)-1,1)*w'; ## Setup the indices of the adjustable stuff if nargin<2 i_ppp = [] else @@ -157,11 +155,11 @@ j = [j; find(T_open(i)*ones(size(t))==t)]; endfor y_open = y(j,:); u_open = u(j,:); - if extras.visual + ##if extras.visual ## Plots gset grid; xlabel "Time (sec)"; title "${sys}" ty = [t y] ; tu = [t u]; @@ -176,11 +174,11 @@ title "y", ty_open with impulses title "Sample times" figfig("${sys}_y","eps"); system("gv ${sys}_y.eps&"); system("gv ${sys}_u.eps&"); - endif + ##endif endfunction EOF } @@ -229,43 +227,10 @@ endfunction EOF } -make_model() { - -echo "Making sensitivity simulation for system ${sys} (lang ${lang})" - -if [ "${lang}" = "oct" ]; then - oct='-oct' -fi - -## System -mtt -q ${mtt_parameters} -stdin ${sys} sympar m -mtt -q ${mtt_parameters} -stdin ${sys} simpar m -mtt -q ${mtt_parameters} -stdin ${oct} ${sys} state ${lang} -mtt -q ${mtt_parameters} -stdin ${oct} ${sys} numpar ${lang} -mtt -q ${mtt_parameters} -stdin ${oct} ${sys} input ${lang} -mtt -q ${mtt_parameters} -stdin ${oct} ${sys} ode2odes ${lang} -mtt -q ${mtt_parameters} -stdin ${sys} sim m - -## Sensitivity system -mtt -q ${mtt_parameters} -stdin -s s${sys} sympar m -mtt -q ${mtt_parameters} -stdin -s s${sys} simpar m -mtt -q ${mtt_parameters} -stdin ${oct} -s s${sys} state ${lang} -mtt -q ${mtt_parameters} -stdin ${oct} -s s${sys} numpar ${lang} -mtt -q ${mtt_parameters} -stdin ${oct} -s s${sys} input ${lang} -mtt -q ${mtt_parameters} -stdin ${oct} -s s${sys} ode2odes ${lang} -mtt -q ${mtt_parameters} -stdin -s s${sys} ssim m - -## Additional system reps for PPP -mtt -q ${mtt_parameters} -stdin ${sys} sm m -mtt -q ${mtt_parameters} -stdin ${sys} def m -mtt -q ${mtt_parameters} -stdin -s s${sys} def m - -} - make_dat2() { ## Inform user echo Creating ${dat2_file} @@ -277,16 +242,10 @@ save -ascii ${dat2_file} data EOF } case ${lang} in - help_short) - help_short - ;; - help_long) - help_long - ;; numpar.m) ## Make the numpar stuff make_nppp_numpar; ;; m) @@ -308,13 +267,14 @@ ps) fig2dev -Leps ${sys}_${rep}.fig > ${sys}_${rep}.ps ;; view) - + echo Viewing ${sys}_${rep}.ps + gv ${sys}_${rep}.ps& ;; *) - echo Language ${lang} not supported by nppp representation + echo Language ${lang} not supported by ${rep} representation exit 3 esac