% fake data dataA = [1:150]; dataB = [1:1500]; % calculate real difference realDiff = mean(dataA) - mean(dataB); % define number of surrogate runs number_of_surrogate_runs = 10000; % calcualte surrogate differences for surri = 1:number_of_surrogate_runs dataTemp = [dataA dataB]; dataTemp = dataTemp(randperm(length(dataTemp))); surrDiff(surri) = mean(dataTemp(length(dataA))) - mean(dataTemp(length(dataB))); end clear surri % calculate z-score and p-value from real and surrogate data zDiff = (realDiff - mean(surrDiff)) / std(surrDiff); pDiff = (1 - normcdf(abs(zDiff))) * 2; clear number_of_surrogate_runs dataTemp