1 function U_der = lin_evol_opt_fd_derivative(model, model_data, mu)
2 %
function U_der = lin_evol_opt_fd_derivative(model, model_data, mu)
4 %
function calculating the derivative solution via a finite difference
5 % procedure
for the parameter mu.
7 % Markus Dihlmann 03.02.2011
13 old_mu = get_mu(model);
15 model = set_mu(model,mu);
17 compute_derivative_old = model.compute_derivative_info;
19 model.compute_derivative_info =0;
21 sim_data = detailed_simulation(model, model_data);
25 h=0.0000001; %stepsize
28 %is mu+h inside mu_range?
29 if (mu(i)+h>=model.mu_ranges{i}(1))&&(mu(i)+h<=model.mu_ranges{i}(2))
31 model = set_mu(model,mu);
32 sim_data = detailed_simulation(model, model_data);
34 model = set_mu(model,mu);
36 U_der{i} = (sim_data.U-U_fix)./h;
39 model = set_mu(model,mu);
40 sim_data = detailed_simulation(model, model_data);
42 model = set_mu(model,mu);
44 U_der{i} = (-sim_data.U+U_fix)./h;
49 model = set_mu(model, old_mu);
50 model.compute_derivative_info = compute_derivative_old;