There exist many implementations on FEX solving the same problem, I wasn't very confident in using them as they sometimes failed to converge (using fsolve etc) or would generate warnings complaining about the covariance matrix being close to singular.
This is a simple brute-force method that records the accepted samples, adjusts the trial size and repeats until it has reached the target sample number.
Yavor Kamer (2020). Sample a truncated multivariate normal distribution (https://www.mathworks.com/matlabcentral/fileexchange/69201-sample-a-truncated-multivariate-normal-distribution), MATLAB Central File Exchange. Retrieved .