% This matlab function is part of GRASP submission titled % "Multiple Testing for Correlated Outcomes in Clinical Trials". % Copyright Notice % [MULTIPLE TESTING FOR CORRELATED OUTCOMES IN CLINICAL TRIALS] % ? 2009 Wake Forest University Health Sciences. All Rights Reserved. % Disclaimer % [MULTIPLE TESTING FOR CORRELATED OUTCOMES IN CLINICAL TRIALS] IS AN EXPERIMENTAL RESEARCH PRODUCT. % WAKE FOREST UNIVERSITY HEALTH SCIENCES (WFUHS) EXPRESSLY DISCLAIMS ANY WARRANTY FOR [MULTIPLE % TESTING FOR CORRELATED OUTCOMES IN CLINICAL TRIALS], ANY RELATED DOCUMENTATION, AND RELATED % MATERIALS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, % WITHOUT LIMITATION, THE IMPLIED WARRANTIES OR MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR % NONINFRINGEMENT. WFUHS MAKES NO WARRANTY WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF [MULTIPLE % TESTING FOR CORRELATED OUTCOMES IN CLINICAL TRIALS], AND SHALL HAVE NO LIABILITY BASED ON CLAIMS OF % ERRORS. THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF [MULTIPLE TESTING FOR CORRELATED % OUTCOMES IN CLINICAL TRIALS] REMAINS WITH THE USER OF SUCH PROGRAMS. % % In no event shall WFUHS be liable for any damages whatsoever (including, without limitation, % damages for loss of life or other pecuniary loss) arising out of the use of or inability to use % [MULTIPLE TESTING FOR CORRELATED OUTCOMES IN CLINICAL TRIALS], even if WFUHS has been advised of % the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or % limitation of liability for consequential or incidental damages, the above limitation may not apply % to you. IN NO EVENT SHALL THE TOTAL LIABILITY OF WFUHS, ITS DIRECTORS, OFFICERS, TRUSTEES, % PERSONNEL, AGENTS, EMPLOYEES, STUDENTS, SUCCESSORS AND ASSIGNS OF WAKE FOREST UNIVERSITY HEALTH % SCIENCES UNDER THIS AGREEMENT OR OTHERWISE IN CONNECTION WITH [MULTIPLE TESTING FOR CORRELATED % OUTCOMES IN CLINICAL TRIALS], FOR ANY REASON, EXCEED THE AMOUNT OF THE LICENSE FEE PAID BY USER % TO WFUHS FOR USE OF [MULTIPLE TESTING FOR CORRELATED OUTCOMES IN CLINICAL TRIALS]. function [outsiglevel cvalue] = multicompare(corrmatrix, siglevel, side); siglevel = siglevel/side; k = size(corrmatrix,1); mu = zeros(1,k); l = 0; u = 5; for p = 1:5; x = [l:10^(-p):u]'; X = repmat(x,1,k); outp = 1-mvncdf(X,mu,corrmatrix); [c ind] = min(abs(outp-siglevel)); l = x(ind-1); u = x(ind+1); end; outsiglevel = side*(1-normcdf(x(ind))); cvalue = x(ind); return;