rbmatlab  1.13.10
 All Classes Namespaces Files Functions Variables Groups Pages
RB_init_data_basis_lin_evol_opt.m
1 function RBinit = RB_init_data_basis_lin_evol_opt(model,detailed_data)
2 %function RBinit = RB_init_data_basis(model,detailed_data)
3 %
4 % function generating an initial reduced basis by varying all mu-values
5 % in the columns of M and collecting the init-states.
6 % detailed_data is assumed to contain the list of parameters in
7 % detailed_data.RB_info.M_train
8 %
9 % required fields of params:
10 % init_values_algorithm : name of function computing the
11 % initial values
12 % inner_product_matrix_algorithm : function giving the inner-product matrix
13 
14 % Bernard Haasdonk 27.3.2007
15 
16 %grid = detailed_data.grid;
17 
18 % generate RBinit: all initial data constellations
19 RBinit = [];
20 %M = detailed_data.RB_info.M_train;
21 model.decomp_mode = 1;
22 
23 U0_components = model.init_values_algorithm(model, detailed_data);
24 
25 if iscell(U0_components)
26  for i = 1: length(U0_components)
27  RBinit = [RBinit, U0_components{i}];
28  end
29 else
30  RBinit = [RBinit, U0_components];
31 end
32 
33 %for i = 1:size(M,2)
34 % model = model.set_mu(model,M(:,i));
35  % use detailed_data as model_data here:
36 % U0 = model.init_values_algorithm(model,detailed_data);
37 % RBinit = [RBinit, U0];
38 %end;
39 
40 RBinit = model.orthonormalize(model, detailed_data, RBinit);
41 % RBinit = delzerocolumns(RBinit);
42 %keyboard;
43 
44 % start with very simple RBinit if none was found yet
45 if(size(RBinit, 2) == 0)
46  RBinit = ones(size(RBinit,1), 1);
47 end
48 disp(['found ',num2str(size(RBinit,2)),' basis functions for',...
49  ' init data variation.']);
50 %| \docupdate