-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathnode_initialize.m
More file actions
27 lines (24 loc) · 831 Bytes
/
Copy pathnode_initialize.m
File metadata and controls
27 lines (24 loc) · 831 Bytes
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
function [alpha_in, alpha_out] = ...
node_initialize(H, alpha_in, alpha_out, bound_in_min, bound_in_max, bound_out_min, bound_out_max)
if(bound_out_min == bound_out_max)
fprintf(1, 'Warning: bound_out_max == bound_out_min!\n');
else
x = fmincon(@(x) nodeinit_f(x, H, bound_out_max), alpha_out, H, bound_out_max');
alpha_out = x;
end
if(bound_in_min == bound_in_max)
fprintf(1, 'Warning: bound_in_max == bound_in_min!\n');
else
x = fmincon(@(x) nodeinit_f(x, H, bound_in_max), alpha_in, H, bound_in_max');
alpha_in = x;
end
end
function d = nodeinit_f(alpha, H, bound)
d = norm(alpha * H' - bound);
end
%
% function [G, Ceq] = nodeinit_g(alpha, H, bound)
% Ceq = 0;
% % H * alpha <= bound_in_min
% G = alpha * H' - bound;
% end