Overview
Comment: | Tidied up documentation + verbose mode |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | origin/master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
9e81f2113fdd05f14ad1c22e4a43f2e1 |
User & Date: | gawthrop@users.sourceforge.net on 2001-04-05 11:50:12 |
Other Links: | branch diff | manifest | tags |
Context
2001-04-05
| ||
11:51:42 | Model-based identification for PPP check-in: 36dbdfe9cc user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
11:50:12 | Tidied up documentation + verbose mode check-in: 9e81f2113f user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
11:49:07 | Fixed a number of bugs to as to work with reports. check-in: a6e307d2da user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Modified mttroot/mtt/lib/control/PPP/ppp_optimise.m from [55529a32e0] to [a4cd6bb37d].
︙ | ︙ | |||
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | ###################################### ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.1 2000/12/28 11:58:07 peterg ## Put under CVS ## ############################################################### ## Copyright (C) 1999,2000 by Peter J. Gawthrop | > > > > | > | | | | > > > > > > > > > > > > > > > | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | ###################################### ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.2 2001/04/04 08:36:25 gawthrop ## Restuctured to be more logical. ## Data is now in columns to be compatible with MTT. ## ## Revision 1.1 2000/12/28 11:58:07 peterg ## Put under CVS ## ############################################################### ## Copyright (C) 1999,2000 by Peter J. Gawthrop sim_command = sprintf("%s_ssim(x_0,par,simpar,u,i_s)", system_name); ## Extract indices i_t = free(:,1); # Parameters i_s = free(:,2)'; # Sensitivities if nargin<8 extras.criterion = 1e-5; extras.max_iterations = 10; extras.v = 1e-5; extras.verbose = 0; endif [n_data,n_y] = size(y_0); n_th = length(i_s); error_old = inf; error_old_old = inf; error = 1e50; reduction = inf; predicted_reduction = 0; par = par_0; Par = par_0; step = ones(n_th,1); Error = []; Y = []; iterations = 0; v = extras.v; # Levenverg-Marquardt parameter. r = 1; # Step ratio if extras.verbose # Diagnostics printf("Iteration: %i\n", iterations); printf(" error: %g\n", error); printf(" reduction: %g\n", reduction); printf(" prediction: %g\n", predicted_reduction); printf(" ratio: %g\n", r); printf(" L-M param: %g\n", v); printf(" parameters: "); for i_th=1:n_th printf("%g ", par(i_t(i_th))); endfor printf("\n"); endif while (abs(reduction)>extras.criterion)&&\ (abs(error)>extras.criterion)&&\ (iterations<extras.max_iterations) iterations = iterations + 1; # Increment iteration counter [y,y_par] = eval(sim_command); # Simulate |
︙ | ︙ | |||
92 93 94 95 96 97 98 | r = predicted_reduction/reduction; if (r<0.25)||(reduction<0) v = 4*v; elseif r>0.75 v = v/2; endif | < < < < < < < < < < < < < < | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | r = predicted_reduction/reduction; if (r<0.25)||(reduction<0) v = 4*v; elseif r>0.75 v = v/2; endif if reduction<0 # Its getting worse par(i_t) = par(i_t) + step; # rewind parameter error = error_old; # rewind error error_old = error_old_old; # rewind old error if extras.verbose printf(" Rewinding ....\n"); endif |
︙ | ︙ | |||
127 128 129 130 131 132 133 134 135 136 | error_old_old = error_old; # Save old error error_old = error; # Save error ##Some diagnostics Error = [Error error]; # Save error Par = [Par par]; # Save parameters Y = [Y y]; # Save output endwhile endfunction | > > > > > > > > > > > > > > > > | 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | error_old_old = error_old; # Save old error error_old = error; # Save error ##Some diagnostics Error = [Error error]; # Save error Par = [Par par]; # Save parameters Y = [Y y]; # Save output if extras.verbose # Diagnostics printf("Iteration: %i\n", iterations); printf(" error: %g\n", error); printf(" reduction: %g\n", reduction); printf(" prediction: %g\n", predicted_reduction); printf(" ratio: %g\n", r); printf(" L-M param: %g\n", v); printf(" parameters: "); for i_th=1:n_th printf("%g ", par(i_t(i_th))); endfor printf("\n"); endif endwhile endfunction |