1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
function [U, U_all, Error, Y, its] = ppp_nlin (system_name,x_0,par_0,sim,us,w,free,extras)
## usage: [U, U_all, Error, Y,its ] = ppp_nlin (system_name,x_0,par_0,sim,us,w,free,extras)
##
##
if nargin<8
extras.criterion = 1e-8;
extras.max_iterations = 10;
extras.v = 0.1;
extras.verbose = 1;
endif
s_system_name = sprintf("s%s", system_name); # Name of sensitivity system
## Details
[n_x,n_y,n_u] = eval(sprintf("%s_def;", system_name));
[n_tau,n_us] = size(us);
## Checks
if (n_us<>n_u)
error(sprintf("Inputs (%i) differenct to system inputs (%i)", n_us, n_u));
endif
##Optimise
[par,Par,Error,Y,its] = ppp_optimise(s_system_name,x_0,par_0,sim,us,w,free,extras);
U = par(free(:,1));
U_all = Par(free(:,1),:);
endfunction
|
|
|
|
>
>
>
>
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
function [U, U_all, Error, Y, its] = ppp_nlin(system_name,x_0,par_0,sim,us,w,free, Q, extras)
## usage: [U, U_all, Error, Y,its ] = ppp_nlin(system_name,x_0,par_0,sim,us,w,free, Q, extras)
##
##
if nargin<9
extras.criterion = 1e-8;
extras.max_iterations = 10;
extras.v = 0.1;
extras.verbose = 1;
endif
s_system_name = sprintf("s%s", system_name); # Name of sensitivity system
## Details
[n_x,n_y,n_u] = eval(sprintf("%s_def;", system_name));
[n_tau,n_us] = size(us);
if nargin<8
Q = ones(n_y,1);
endif
## Checks
if (n_us<>n_u)
error(sprintf("Inputs (%i) differenct to system inputs (%i)", n_us, n_u));
endif
##Optimise
[par,Par,Error,Y,its] = ppp_optimise(s_system_name,x_0,par_0,sim,us,w,free,Q,extras);
U = par(free(:,1));
U_all = Par(free(:,1),:);
endfunction
|