-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathexample1.m
More file actions
71 lines (59 loc) · 1.52 KB
/
example1.m
File metadata and controls
71 lines (59 loc) · 1.52 KB
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
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
function example1()
%%
x = linspace(1, 10, 30)';
mtrue = [2.5, 1.5, 3]';
d = myfun(mtrue, x);
%% Levenberg-Marquardt Method
% minit = [1, 1, 1]';
% mrange = [ 0, 5;
% -1, 4;
% 0, 6];
% weight = ones(length(x), 1);
% stepdiff = 0.0001.*ones(length(mtrue), 1);
%
% [mlmq, rlmq] = LevenbergMarquardt(@myfun, minit, mrange, x, d, weight, ...
% [], stepdiff, 1.0, 1.0e-6)
%% Grid Search Method
% mrange = [ 0, 5;
% -1, 4;
% 0, 6];
% nsample = [31, 31, 31]';
%
% [mhgs, rhgs] = HighorderGridsearch(@myfun, mrange, nsample, x, d)
%% Monte Carlo Method
% mrange = [ 0, 5;
% -1, 4;
% 0, 6];
% nsample = [31, 31, 31]';
%
% [mmtc, rmtc] = MonteCarlo(@myfun, mrange, x, d)
% [mamc, ramc] = AdaptiveMonteCarlo(@myfun, mrange, x, d)
%% Simulate Annealing Method
% temp = 100.0*exp(-0.1*(1:1:100));
% mrange = [ 0, 5;
% -1, 4;
% 0, 6];
% nsample = [31, 31, 31]';
% minit = [0, 0, 0]';
%
% [mhtb, rhtb] = HeatBath(@myfun, temp, mrange, nsample, x, d)
% [mmps, rmps] = Metropolis(@myfun, minit, temp, mrange, x, d)
%% Genetic Algorithm
% mrange = [ 0, 5;
% -1, 4;
% 0, 6];
% genelen = [10, 10, 10]';
% maxfit = 100.0;
% [msga, rsga] = StandardGeneticAlgorithm(@myfun, mrange, genelen, x, d, ...
% maxfit, 0.99, 0.95)
% [mmga, rmga] = ModifiedGeneticAlgorithm(@myfun, mrange, genelen, x, d, ...
% maxfit, 0.99, 0.95)
end
%% forward function
function y = myfun(m, x)
% y = a*x^2 + b*x + c.
a = m(1);
b = m(2);
c = m(3);
y = x.^2.*a + x.*b + c;
end