我需要帮助!我的目的是在MATLAB中开发一个例程,从一系列操作(由标签建模,平均值和方差)开始,能够生成一系列活动。我用我的代码解释得更好:
action_awake_in_bed = [1 5*60 1*60];
action_out_of_bed = [3 30 10];
action_out_bedroom = [2 2*60 15];
ACTIVITY_WAKE = {'action_awake_in_bed','action_out_of_bed','action_out_bedroom'};
动作数组的第一个元素是标签(一个姿势标签),第二个元素是动作的长度(以秒为单位),第三个元素是方差。
我需要输出数组ACTIVITY_WAKE
....
由于
答案 0 :(得分:1)
让我们使用结构来存储元参数
action.awake_in_bed = [1 5*60 1*60];
action.out_of_bad = [3 30 10];
action.out_of_bedroom = [2 2*60 15];
ACTIVITY = {'awake_in_bed','out_of_bad','out_of_bedroom'};
在这些预定义之后,我们可以对活动向量进行采样
ACTIVITY_WAKE = cell(1,numel(ACTIVITY));
for ii = 1:numel( ACTIVITY ) %// foreach activity
cp = action.(ACTIVITY{ii}); %// get parameters of current activity
n = round( cp(2) + sqrt(cp(3))*randn() ); %// get the number of samples
ACTIVITY_WAKE{ii} = repmat( cp(1), 1, n );
end
ACTIVITY_WAKE = [ ACTIVITY_WAKE{:} ];
为了获得样本数量,我使用following配方从mean~=0
和std~=1
的正态分布中进行采样。