Files
miSim/@sensingObjective/initializeRandomMvnpdf.m
2026-03-31 21:49:06 -07:00

26 lines
914 B
Matlab

function obj = initializeRandomMvnpdf(obj, domain, discretizationStep, protectedRange)
arguments (Input)
obj (1, 1) {mustBeA(obj, "sensingObjective")};
domain (1, 1) {mustBeGeometry};
discretizationStep (1, 1) double = 1;
protectedRange (1, 1) double = 1;
end
arguments (Output)
obj (1, 1) {mustBeA(obj, "sensingObjective")};
end
% Set random objective position
mu = domain.minCorner;
while domain.distance(mu) < protectedRange * 1.01
mu = domain.random();
end
% Set random distribution parameters
sig = reshape([2 + rand * 2, 1; 1, 2 + rand * 2], [1 2 2]);
% Set up random bivariate normal distribution function
objectiveFunction = objectiveFunctionWrapper(mu(1:2), sig);
% Regular initialization
obj = obj.initialize(objectiveFunction, domain, discretizationStep, protectedRange, 1e-6, mu(1:2), sig);
end