mtR generates the same random numbers produced by R software with Mersenne Twister mt19937ar
This function ensures that uniformly or normally distributed pseudorandom numbers, generated in R and MATLAB using the Mersenne Twister algorithm mt19937ar, are identical. In the R community the problem is discussed (but only partially addressed) in the package 'randtoolbox', available in CRAN.
Code for both MATLAB and R.
% R SIDE: display in the MATLAB command window % the strings to execute in R Rstring = ['EXECUTE THE FOLLOWING IN R AND COMPARE RESULTS' char(10) char(10) ... 'RNGkind("Mersenne-Twister") # set "Mersenne-Twister" "Inversion"' char(10)... 'set.seed(0)' char(10)... 'state = .Random.seed' char(10) ... char(10)... 'runif(5)' char(10)... '# [1] 0.8966972 0.2655087 0.3721239 0.5728534 0.9082078' char(10)']; disp(Rstring); % MATLAB SIDE: clear all; close all; m = 'MATLAB: '; r = 'R: '; expectedRes = [0.8966972 0.2655087 0.3721239 0.5728534 0.9082078]'; % 5 random numbers from a uniform distribution in [0 1]. rn = mtR(5); sprintf('%s %0.7f ',m,rn) sprintf('%s %0.7f ',r,[0.8966972 0.2655087 0.3721239 0.5728534 0.9082078]) assert(isequal(round(rn,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!')
EXECUTE THE FOLLOWING IN R AND COMPARE RESULTS RNGkind("Mersenne-Twister") # set "Mersenne-Twister" "Inversion" set.seed(0) state = .Random.seed runif(5) # [1] 0.8966972 0.2655087 0.3721239 0.5728534 0.9082078 ans = 'MATLAB: 0.8966972 2.655087e-01 0.3721239 5.728534e-01 0.9082078 ' ans = 'R: 0.8966972 2.655087e-01 0.3721239 5.728534e-01 0.9082078 '
m = 'MATLAB: '; r = 'R: '; rn = mtR(5,0); expectedRes=[0.8966972 0.2655087 0.3721239 0.5728534 0.9082078]'; sprintf('%s %0.7f ',m,rn) sprintf('%s %0.7f ',r,[0.8966972 0.2655087 0.3721239 0.5728534 0.9082078]) assert(isequal(round(rn,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!')
ans = 'MATLAB: 0.8966972 2.655087e-01 0.3721239 5.728534e-01 0.9082078 ' ans = 'R: 0.8966972 2.655087e-01 0.3721239 5.728534e-01 0.9082078 '
The default stream is associated to a seed equal to 0.
m = 'MATLAB: '; r = 'R: '; rn = mtR(5,[],0); expectedRes=[0.8966972 0.2655087 0.3721239 0.5728534 0.9082078]'; sprintf('%s %0.7f ',m,rn) sprintf('%s %0.7f ',r,[0.8966972 0.2655087 0.3721239 0.5728534 0.9082078]) assert(isequal(round(rn,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!')
m = 'MATLAB: '; r = 'R: '; numRandomNumbers=5; rn = mtR(numRandomNumbers,[0,0,1]); expectedRes=[0.8966972 0.2655087 0.3721239 0.5728534 0.9082078]'; sprintf('%s %0.7f ',m,rn) sprintf('%s %0.7f ',r,[0.8966972 0.2655087 0.3721239 0.5728534 0.9082078]) assert(isequal(round(rn,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!')
m = 'MATLAB: '; r = 'R: '; numRandomNumbers=5; rn = mtR(numRandomNumbers,1); expectedRes=[1.2629543 -0.3262334 1.3297993 1.2724293 0.4146414]'; sprintf('%s %0.7f ',m,rn) sprintf('%s %0.7f ',r,[1.2629543 -0.3262334 1.3297993 1.2724293 0.4146414]) assert(isequal(round(rn,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!')
m = 'MATLAB: '; r = 'R: '; numRandomNumbers=5; % (runif(numRandomNumbers,3,7)) rn = mtR(numRandomNumbers,[0,3,7]); expectedRes=[6.586789 4.062035 4.488496 5.291413 6.632831]'; sprintf('%s %0.7f ',m,rn) sprintf('%s %0.7f ',r,[6.586789 4.062035 4.488496 5.291413 6.632831]) assert(isequal(round(rn,6), round(expectedRes,6)), 'Error: MATLAB did not output the same random values as R!')
m = 'MATLAB: '; r = 'R: '; numRandomNumbers=5; % rnorm(numRandomNumbers,2,15) rn = mtR(numRandomNumbers,[1,2,15]); expectedRes=[20.944314 -2.893500 21.946989 21.086440 8.219622]'; sprintf('%s %0.7f ',m,rn) sprintf('%s %0.7f ',r,[20.944314 -2.893500 21.946989 21.086440 8.219622]) assert(isequal(round(rn,6), round(expectedRes,6)), 'Error: MATLAB did not output the same random values as R!')
Code for both MATLAB and R.
clear all; close all; % R SIDE: display in the MATLAB command window the command strings to % execute in R Rstring = ['EXECUTE THE FOLLOWING IN R AND COMPARE RESULTS' char(10) char(10) ... 'RNGkind("Mersenne-Twister")' char(10)... 'set.seed(12345)' char(10)... 'state = .Random.seed # TO BE PASSED TO mtR (state option) in MATLAB' char(10) ... char(10)... 'runif(5)' char(10)... '# [1] 0.7209039 0.8757732 0.7609823 0.8861246 0.4564810' char(10) ... char(10)... 'set.seed(12345)' char(10)... 'rnorm(5)' char(10)... '# [1] 0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875']; disp(Rstring); % MATLAB SIDE: % m = 'MATLAB: '; r = 'R: '; % 5 random numbers from a [0 1]-uniform distributiion, but seed=12345 % state taken from R stateR12345 = [403 , 624 , 1638542565 , 108172386 , -1884566405 , -1838154368 , -250773631 , 919185230 , -1001918601 , -1002779316 , -321961507 , 1781331706 , 1166440499 , -117712936 , 58314745 , -938201242 , 1844978351 , -869947100 , 216221141 , 576699538 , 533687019 , 1819381040 , 675905393 , 2110048894 , 2136771815 , 1026265084 , -1037166387 , -285653718 , 1263109283 , -1975616120 , 1576168937 , -123742058 , 244715039 , 1526718932 , -1087137083 , 1442050242 , 676570459 , 800852192 , -823755935 , -566904402 , 1696695895 , 906100396 , 1479781309 , -321511590 , -1503089389 , 1068470072 , 2031323097 , 2053295558 , -749218417 , -2000861564 , 1655319477 , -768462606 , 262110155 , 399143056 , -983338159 , -1865452322 , -202515513 , 1164515676 , 80673453 , 1462142346 , 1143665027 , -1238758168 , 255598025 , 1584402166 , 1601468671 , -748103884 , 1964374181 , -656573150 , 1708781115 , -1898462144 , 469722945 , -888865778 , -807891657 , -53747700 , -1448147555 , -905087046 , -208186893 , 289994392 , -2104807495 , -895837146 , -1276970897 , -1949461532 , -133824107 , -327625390 , 1424620715 , -572587024 , 45700913 , -284602562 , 850959015 , -1739238724 , -1539126131 , -1167198742 , -713765277 , -1419293624 , -857752151 , 695563606 , -1621470241 , -2055832428 , 1623803525 , 4667778 , 276211483 , -593809504 , -1185922271 , -1144033682 , 1545929751 , -1359974036 , -1111928963 , -1511325670 , -867539245 , -979366408 , 1876477849 , 1515428486 , 777096015 , -961638076 , -2006005899 , -1471436366 , 1172761995 , -1584969904 , 2135108369 , 2097830302 , 24430983 , -498582500 , 453086829 , 1122473546 , -329311421 , 936262568 , 1691700617 , -515372106 , 452959935 , 947966452 , -1681554331 , 1229530594 , -1939746821 , 836651776 , -2083451135 , 992809166 , -1111561481 , -1899515188 , 751470941 , -1333348230 , -340137037 , 546100568 , 217337721 , 388352230 , 1029410351 , 1454915236 , 190610773 , 1220718098 , -724677013 , 832256688 , -705106191 , -345336834 , -2116392857 , 2073679228 , -1618788275 , -1498716502 , -1843275741 , -1791567096 , 555011433 , 1501549078 , -82028129 , -538978476 , 2072162885 , 1023099458 , -640456485 , -1820780960 , 1417267937 , -1615469778 , 73286103 , -1968593876 , 1264235325 , -1510432550 , 689823891 , 1374112952 , -1579825319 , 984164166 , -1212612337 , -2059232252 , -1270406347 , 485876338 , -1881661621 , 1223876112 , -1647140143 , -1228800418 , 832665415 , 1755455196 , 608166445 , 668034826 , -336263933 , 1769548392 , -946455223 , -1313552266 , 1147700351 , -1695839052 , -1854353371 , 1886752418 , -1794936389 , -230452800 , 4355777 , 201450894 , -1682241353 , 1022248332 , 702663965 , -833046214 , 2007909747 , -175672296 , -227201223 , 1249228198 , 1344398319 , -945444508 , -223954667 , 2147305170 , -1589878741 , -1905905296 , 1774732977 , 665360574 , -360581593 , 1505302588 , 1471116301 , -1804494998 , 990945763 , -965924408 , -1705927383 , 1434382038 , -677634209 , -1258556908 , -1423974907 , -2066740478 , -165025125 , 722844960 , 1478693537 , 1856575470 , 1267548055 , -336750868 , -1797794051 , -37813862 , -425518509 , 323308408 , 1053460249 , 404976646 , -1790036273 , -1086757180 , 1911766773 , -655303886 , -818736885 , -1798490928 , -925771119 , 1387684638 , -499915513 , -1422474852 , -1538656787 , 1185150922 , -592662845 , 703256872 , 1463741705 , -59357898 , 1903110719 , -1519843468 , -772809755 , 656586594 , -780217477 , 113744000 , 689151617 , -2109506994 , 931980919 , -1979738036 , 347394269 , -1807517190 , -1590403277 , 519623384 , 1120784121 , -1052089754 , -235538001 , 961926180 , 430224597 , -1696030830 , 2079601131 , -620763088 , 1172790897 , 411262334 , -1435548697 , 1702042364 , 814180301 , 612403242 , 1241590691 , 2110404744 , 945171689 , -1439511658 , -1432771297 , 260754644 , 1264634309 , 277189570 , -1757795237 , 976298976 , 1007426145 , -848753490 , -546177705 , -1250145876 , -302990659 , 2113806938 , -291892205 , -126219720 , 913770201 , -1350401850 , -1395577713 , 793964932 , 221452981 , 1157403634 , -1514683701 , -875148400 , 1744884305 , 631736286 , 820777671 , 1019618396 , -555759187 , -1608562550 , 407246979 , 400771048 , -208708407 , -1370717706 , -137129985 , -1028046284 , -1729452123 , 101752866 , 1402205499 , 1714052928 , 1443137089 , -1565405426 , 519341111 , -1195660532 , 553882781 , 856095418 , 839661811 , -341773928 , -843174215 , -1738289370 , -392704145 , -964116764 , -1407815531 , 1648670802 , -424295509 , -1104650512 , -1307167183 , -222633410 , -1084075609 , -1853366852 , 1305156493 , -1214760726 , -122456733 , -1173485752 , -1159562071 , -1537513386 , -1445664033 , -1169397868 , 2013623685 , -656679806 , -1362874853 , 395004576 , 938795553 , 548782446 , 768375575 , -1978286996 , 1785028221 , -1217002726 , -356332077 , -1337620232 , 949700249 , 2105953670 , -1543380401 , 1347370052 , -1849248139 , -1982264142 , 1965438091 , -187817392 , -1558214127 , -1001034594 , -74841977 , 1880114972 , -675193491 , -184329910 , -1199488445 , -1843235160 , 1011321993 , 1945599670 , -313150017 , 496778484 , -500616347 , 1711229154 , -318580997 , -953424384 , -1630196223 , 839705550 , -1615732233 , -874349108 , 1116608605 , -1687995526 , -1275735373 , 1782567000 , 587615865 , -1400767514 , -1178114769 , 1241409956 , -1782846379 , 1590792466 , 591467883 , -1633708624 , -1240150543 , -1425070338 , -417652889 , -1867030404 , -1824878771 , 1853401514 , 1088913187 , 972592648 , -1581872023 , 1354286358 , -888278881 , 1073791572 , 214819141 , -1768757950 , -293081125 , -639356576 , 1134389729 , -1924188626 , 1683798231 , -864424148 , -571096515 , -85548070 , 1155352467 , -1452816456 , -1258863015 , -1091642810 , -526362609 , 1559119620 , -881978827 , -1874442894 , 1597924939 , -696993520 , 1642987985 , -2088758946 , -540168633 , 1473587676 , 1387180333 , -972019190 , -1759630333 , -1217895064 , -1859683255 , -1170785418 , 666213247 , -1596852300 , 1768652581 , 1605284258 , 797669563 , -1601426240 , -616196671 , -1256933234 , -947585097 , -2043408244 , 756309021 , 2115517498 , 1890659443 , 1771400984 , -1838797255 , -1704662874 , -1421559057 , 1584845924 , -2108348395 , -649123374 , 861284139 , -1557820304 , 430122417 , -163566658 , -1621512921 , -708730052 , -1533689075 , 702667370 , -597866269 , 2085217480 , 747789353 , 2081087958 , -1006324129 , -345514732 , -1518727931 , -1033196030 , -934973029 , 1476122656 , 382054817 , -134911250 , 1893906071 , -1620516372 , -597563907 , 1494221978 , 648642899 , 312526456 , -615840231 , 1887184646 , -2006151729 , 1341133252 , 1172909557 , 17055282 , 1170233355 , -141946928 , 1277966737 , 2011657758 , 997661703 , -959132516 , -748174099 , 1409661642 , 1306318275 , 1718948904 , 300887049 , -1379157962 , 1018380607 , -149261708 , -1435399451 , -874587550 , 1827527291 , 688599936 , -1558856319 , 1888046414 , 1680727415 , 1785750348 , 1414946781 , 1273363706 , 1912489523 , 2019675608 , 731762169 , -1093888666 , -1026568017 , 1588723492 , -576576555 , -629308782 , -659228437 , -1300610256 , 1686191473 , 1225650302 , 635304679 , -1821989380 , -442714419 , -1970025686 , 1154798243 , -1077808248 , 1530260457 , -1290682730 , 175717407 , -951994412 , -1647707963 , -1792854334 , 1841083227 , 680672992 , 690862433 , 90726318 , 18773079 , -442329940 , -1184249411 , -1565383334 , 2045213459 , -625965768 , -1688828455 , 1324233670 , -2128182385 , -468411260 , 1291323829 , 1154676466 , -898889269 , -1630656880 , -912641711 , 1984666334 , 742803911 , 1338978140 , -1649633107 , -1616639094 , 914177923 , 1040745192 , -1637966903 , 997520630 , -2112968961 , -1959416524 , -520399195 , 1129300770 , -1226179525 , 1466497600 , 1308992833 , 1764401678 , 57441079 , -1151896052 , -334224483 , 898399674 , -2120409101 , -446370664 , -1100141127 , 913900070 , -970414481 , 1701833188 , -748494955 , 723295058 , -1793226069 , 1935522288 , -563145423 , -667388610 , 2020083879 , -1134139204 , 2047830669 , -246514710 , -1274143645 , 52478536 , -312394839 , 1116560214 , -735346209 , -1639034220 , 293446789 , 125599618 , -793922277 , -1570282080 , -1298824927 , 443028590 , -2100301289 , 1105659756 , -1999803011 , 1754072602 , -396938029 , -1336474632 , -1529231975 , -687538042 , 1888368975 , -1810110652 ]; Rstate = typecast(int32(stateR12345),'int32'); rn1 = mtR(5,0,Rstate); rn2 = mtR(5,0,12345); expectedRes=[0.7209039 0.8757732 0.7609823 0.8861246 0.4564810]'; sprintf('%s %0.7f ',m,rn1) disp(' input: seed') sprintf('%s %0.7f ',m,rn2) disp(' input: R state as int32') sprintf('%s %0.7f ',r,[0.7209039 0.8757732 0.7609823 0.8861246 0.4564810]) assert(isequal(round(rn1,7), round(rn2,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!') % 5 random numbers from a 0-1 normal distribution, but seed=12345 stateR12345 = [403 , 624 , 1638542565 , 108172386 , -1884566405 , -1838154368 , -250773631 , 919185230 , -1001918601 , -1002779316 , -321961507 , 1781331706 , 1166440499 , -117712936 , 58314745 , -938201242 , 1844978351 , -869947100 , 216221141 , 576699538 , 533687019 , 1819381040 , 675905393 , 2110048894 , 2136771815 , 1026265084 , -1037166387 , -285653718 , 1263109283 , -1975616120 , 1576168937 , -123742058 , 244715039 , 1526718932 , -1087137083 , 1442050242 , 676570459 , 800852192 , -823755935 , -566904402 , 1696695895 , 906100396 , 1479781309 , -321511590 , -1503089389 , 1068470072 , 2031323097 , 2053295558 , -749218417 , -2000861564 , 1655319477 , -768462606 , 262110155 , 399143056 , -983338159 , -1865452322 , -202515513 , 1164515676 , 80673453 , 1462142346 , 1143665027 , -1238758168 , 255598025 , 1584402166 , 1601468671 , -748103884 , 1964374181 , -656573150 , 1708781115 , -1898462144 , 469722945 , -888865778 , -807891657 , -53747700 , -1448147555 , -905087046 , -208186893 , 289994392 , -2104807495 , -895837146 , -1276970897 , -1949461532 , -133824107 , -327625390 , 1424620715 , -572587024 , 45700913 , -284602562 , 850959015 , -1739238724 , -1539126131 , -1167198742 , -713765277 , -1419293624 , -857752151 , 695563606 , -1621470241 , -2055832428 , 1623803525 , 4667778 , 276211483 , -593809504 , -1185922271 , -1144033682 , 1545929751 , -1359974036 , -1111928963 , -1511325670 , -867539245 , -979366408 , 1876477849 , 1515428486 , 777096015 , -961638076 , -2006005899 , -1471436366 , 1172761995 , -1584969904 , 2135108369 , 2097830302 , 24430983 , -498582500 , 453086829 , 1122473546 , -329311421 , 936262568 , 1691700617 , -515372106 , 452959935 , 947966452 , -1681554331 , 1229530594 , -1939746821 , 836651776 , -2083451135 , 992809166 , -1111561481 , -1899515188 , 751470941 , -1333348230 , -340137037 , 546100568 , 217337721 , 388352230 , 1029410351 , 1454915236 , 190610773 , 1220718098 , -724677013 , 832256688 , -705106191 , -345336834 , -2116392857 , 2073679228 , -1618788275 , -1498716502 , -1843275741 , -1791567096 , 555011433 , 1501549078 , -82028129 , -538978476 , 2072162885 , 1023099458 , -640456485 , -1820780960 , 1417267937 , -1615469778 , 73286103 , -1968593876 , 1264235325 , -1510432550 , 689823891 , 1374112952 , -1579825319 , 984164166 , -1212612337 , -2059232252 , -1270406347 , 485876338 , -1881661621 , 1223876112 , -1647140143 , -1228800418 , 832665415 , 1755455196 , 608166445 , 668034826 , -336263933 , 1769548392 , -946455223 , -1313552266 , 1147700351 , -1695839052 , -1854353371 , 1886752418 , -1794936389 , -230452800 , 4355777 , 201450894 , -1682241353 , 1022248332 , 702663965 , -833046214 , 2007909747 , -175672296 , -227201223 , 1249228198 , 1344398319 , -945444508 , -223954667 , 2147305170 , -1589878741 , -1905905296 , 1774732977 , 665360574 , -360581593 , 1505302588 , 1471116301 , -1804494998 , 990945763 , -965924408 , -1705927383 , 1434382038 , -677634209 , -1258556908 , -1423974907 , -2066740478 , -165025125 , 722844960 , 1478693537 , 1856575470 , 1267548055 , -336750868 , -1797794051 , -37813862 , -425518509 , 323308408 , 1053460249 , 404976646 , -1790036273 , -1086757180 , 1911766773 , -655303886 , -818736885 , -1798490928 , -925771119 , 1387684638 , -499915513 , -1422474852 , -1538656787 , 1185150922 , -592662845 , 703256872 , 1463741705 , -59357898 , 1903110719 , -1519843468 , -772809755 , 656586594 , -780217477 , 113744000 , 689151617 , -2109506994 , 931980919 , -1979738036 , 347394269 , -1807517190 , -1590403277 , 519623384 , 1120784121 , -1052089754 , -235538001 , 961926180 , 430224597 , -1696030830 , 2079601131 , -620763088 , 1172790897 , 411262334 , -1435548697 , 1702042364 , 814180301 , 612403242 , 1241590691 , 2110404744 , 945171689 , -1439511658 , -1432771297 , 260754644 , 1264634309 , 277189570 , -1757795237 , 976298976 , 1007426145 , -848753490 , -546177705 , -1250145876 , -302990659 , 2113806938 , -291892205 , -126219720 , 913770201 , -1350401850 , -1395577713 , 793964932 , 221452981 , 1157403634 , -1514683701 , -875148400 , 1744884305 , 631736286 , 820777671 , 1019618396 , -555759187 , -1608562550 , 407246979 , 400771048 , -208708407 , -1370717706 , -137129985 , -1028046284 , -1729452123 , 101752866 , 1402205499 , 1714052928 , 1443137089 , -1565405426 , 519341111 , -1195660532 , 553882781 , 856095418 , 839661811 , -341773928 , -843174215 , -1738289370 , -392704145 , -964116764 , -1407815531 , 1648670802 , -424295509 , -1104650512 , -1307167183 , -222633410 , -1084075609 , -1853366852 , 1305156493 , -1214760726 , -122456733 , -1173485752 , -1159562071 , -1537513386 , -1445664033 , -1169397868 , 2013623685 , -656679806 , -1362874853 , 395004576 , 938795553 , 548782446 , 768375575 , -1978286996 , 1785028221 , -1217002726 , -356332077 , -1337620232 , 949700249 , 2105953670 , -1543380401 , 1347370052 , -1849248139 , -1982264142 , 1965438091 , -187817392 , -1558214127 , -1001034594 , -74841977 , 1880114972 , -675193491 , -184329910 , -1199488445 , -1843235160 , 1011321993 , 1945599670 , -313150017 , 496778484 , -500616347 , 1711229154 , -318580997 , -953424384 , -1630196223 , 839705550 , -1615732233 , -874349108 , 1116608605 , -1687995526 , -1275735373 , 1782567000 , 587615865 , -1400767514 , -1178114769 , 1241409956 , -1782846379 , 1590792466 , 591467883 , -1633708624 , -1240150543 , -1425070338 , -417652889 , -1867030404 , -1824878771 , 1853401514 , 1088913187 , 972592648 , -1581872023 , 1354286358 , -888278881 , 1073791572 , 214819141 , -1768757950 , -293081125 , -639356576 , 1134389729 , -1924188626 , 1683798231 , -864424148 , -571096515 , -85548070 , 1155352467 , -1452816456 , -1258863015 , -1091642810 , -526362609 , 1559119620 , -881978827 , -1874442894 , 1597924939 , -696993520 , 1642987985 , -2088758946 , -540168633 , 1473587676 , 1387180333 , -972019190 , -1759630333 , -1217895064 , -1859683255 , -1170785418 , 666213247 , -1596852300 , 1768652581 , 1605284258 , 797669563 , -1601426240 , -616196671 , -1256933234 , -947585097 , -2043408244 , 756309021 , 2115517498 , 1890659443 , 1771400984 , -1838797255 , -1704662874 , -1421559057 , 1584845924 , -2108348395 , -649123374 , 861284139 , -1557820304 , 430122417 , -163566658 , -1621512921 , -708730052 , -1533689075 , 702667370 , -597866269 , 2085217480 , 747789353 , 2081087958 , -1006324129 , -345514732 , -1518727931 , -1033196030 , -934973029 , 1476122656 , 382054817 , -134911250 , 1893906071 , -1620516372 , -597563907 , 1494221978 , 648642899 , 312526456 , -615840231 , 1887184646 , -2006151729 , 1341133252 , 1172909557 , 17055282 , 1170233355 , -141946928 , 1277966737 , 2011657758 , 997661703 , -959132516 , -748174099 , 1409661642 , 1306318275 , 1718948904 , 300887049 , -1379157962 , 1018380607 , -149261708 , -1435399451 , -874587550 , 1827527291 , 688599936 , -1558856319 , 1888046414 , 1680727415 , 1785750348 , 1414946781 , 1273363706 , 1912489523 , 2019675608 , 731762169 , -1093888666 , -1026568017 , 1588723492 , -576576555 , -629308782 , -659228437 , -1300610256 , 1686191473 , 1225650302 , 635304679 , -1821989380 , -442714419 , -1970025686 , 1154798243 , -1077808248 , 1530260457 , -1290682730 , 175717407 , -951994412 , -1647707963 , -1792854334 , 1841083227 , 680672992 , 690862433 , 90726318 , 18773079 , -442329940 , -1184249411 , -1565383334 , 2045213459 , -625965768 , -1688828455 , 1324233670 , -2128182385 , -468411260 , 1291323829 , 1154676466 , -898889269 , -1630656880 , -912641711 , 1984666334 , 742803911 , 1338978140 , -1649633107 , -1616639094 , 914177923 , 1040745192 , -1637966903 , 997520630 , -2112968961 , -1959416524 , -520399195 , 1129300770 , -1226179525 , 1466497600 , 1308992833 , 1764401678 , 57441079 , -1151896052 , -334224483 , 898399674 , -2120409101 , -446370664 , -1100141127 , 913900070 , -970414481 , 1701833188 , -748494955 , 723295058 , -1793226069 , 1935522288 , -563145423 , -667388610 , 2020083879 , -1134139204 , 2047830669 , -246514710 , -1274143645 , 52478536 , -312394839 , 1116560214 , -735346209 , -1639034220 , 293446789 , 125599618 , -793922277 , -1570282080 , -1298824927 , 443028590 , -2100301289 , 1105659756 , -1999803011 , 1754072602 , -396938029 , -1336474632 , -1529231975 , -687538042 , 1888368975 , -1810110652 ]; Rstate = typecast(int32(stateR12345),'int32'); rn1 = mtR(5,1,Rstate); rn2 = mtR(5,1,12345); expectedRes=[0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875]'; sprintf('%s %0.7f ',m,rn1) disp(' input: R state as int32') sprintf('%s %0.7f ',m,rn2) disp(' input: seed') sprintf('%s %0.7f ',r,[0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875]) assert(isequal(round(rn1,7), round(rn2,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!')
Rstring = ['EXECUTE THE FOLLOWING IN R AND COMPARE RESULTS' char(10) char(10) ... 'RNGkind("Mersenne-Twister")' char(10)... 'set.seed(12345)' char(10)... 'state = .Random.seed # TO BE PASSED TO mtR (state option) in MATLAB' char(10) ... char(10)... 'runif(5)' char(10)... '# [1] 0.7209039 0.8757732 0.7609823 0.8861246 0.4564810' char(10) ... char(10)... 'set.seed(12345)' char(10)... 'rnorm(5)' char(10)... '# [1] 0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875']; disp(Rstring); % MATLAB SIDE: % m = 'MATLAB: '; r = 'R: '; % 5 random numbers from a [0 1]-uniform distributiion, but seed=12345 % state taken from R stateR12345 = [403 , 624 , 1638542565 , 108172386 , -1884566405 , -1838154368 , -250773631 , 919185230 , -1001918601 , -1002779316 , -321961507 , 1781331706 , 1166440499 , -117712936 , 58314745 , -938201242 , 1844978351 , -869947100 , 216221141 , 576699538 , 533687019 , 1819381040 , 675905393 , 2110048894 , 2136771815 , 1026265084 , -1037166387 , -285653718 , 1263109283 , -1975616120 , 1576168937 , -123742058 , 244715039 , 1526718932 , -1087137083 , 1442050242 , 676570459 , 800852192 , -823755935 , -566904402 , 1696695895 , 906100396 , 1479781309 , -321511590 , -1503089389 , 1068470072 , 2031323097 , 2053295558 , -749218417 , -2000861564 , 1655319477 , -768462606 , 262110155 , 399143056 , -983338159 , -1865452322 , -202515513 , 1164515676 , 80673453 , 1462142346 , 1143665027 , -1238758168 , 255598025 , 1584402166 , 1601468671 , -748103884 , 1964374181 , -656573150 , 1708781115 , -1898462144 , 469722945 , -888865778 , -807891657 , -53747700 , -1448147555 , -905087046 , -208186893 , 289994392 , -2104807495 , -895837146 , -1276970897 , -1949461532 , -133824107 , -327625390 , 1424620715 , -572587024 , 45700913 , -284602562 , 850959015 , -1739238724 , -1539126131 , -1167198742 , -713765277 , -1419293624 , -857752151 , 695563606 , -1621470241 , -2055832428 , 1623803525 , 4667778 , 276211483 , -593809504 , -1185922271 , -1144033682 , 1545929751 , -1359974036 , -1111928963 , -1511325670 , -867539245 , -979366408 , 1876477849 , 1515428486 , 777096015 , -961638076 , -2006005899 , -1471436366 , 1172761995 , -1584969904 , 2135108369 , 2097830302 , 24430983 , -498582500 , 453086829 , 1122473546 , -329311421 , 936262568 , 1691700617 , -515372106 , 452959935 , 947966452 , -1681554331 , 1229530594 , -1939746821 , 836651776 , -2083451135 , 992809166 , -1111561481 , -1899515188 , 751470941 , -1333348230 , -340137037 , 546100568 , 217337721 , 388352230 , 1029410351 , 1454915236 , 190610773 , 1220718098 , -724677013 , 832256688 , -705106191 , -345336834 , -2116392857 , 2073679228 , -1618788275 , -1498716502 , -1843275741 , -1791567096 , 555011433 , 1501549078 , -82028129 , -538978476 , 2072162885 , 1023099458 , -640456485 , -1820780960 , 1417267937 , -1615469778 , 73286103 , -1968593876 , 1264235325 , -1510432550 , 689823891 , 1374112952 , -1579825319 , 984164166 , -1212612337 , -2059232252 , -1270406347 , 485876338 , -1881661621 , 1223876112 , -1647140143 , -1228800418 , 832665415 , 1755455196 , 608166445 , 668034826 , -336263933 , 1769548392 , -946455223 , -1313552266 , 1147700351 , -1695839052 , -1854353371 , 1886752418 , -1794936389 , -230452800 , 4355777 , 201450894 , -1682241353 , 1022248332 , 702663965 , -833046214 , 2007909747 , -175672296 , -227201223 , 1249228198 , 1344398319 , -945444508 , -223954667 , 2147305170 , -1589878741 , -1905905296 , 1774732977 , 665360574 , -360581593 , 1505302588 , 1471116301 , -1804494998 , 990945763 , -965924408 , -1705927383 , 1434382038 , -677634209 , -1258556908 , -1423974907 , -2066740478 , -165025125 , 722844960 , 1478693537 , 1856575470 , 1267548055 , -336750868 , -1797794051 , -37813862 , -425518509 , 323308408 , 1053460249 , 404976646 , -1790036273 , -1086757180 , 1911766773 , -655303886 , -818736885 , -1798490928 , -925771119 , 1387684638 , -499915513 , -1422474852 , -1538656787 , 1185150922 , -592662845 , 703256872 , 1463741705 , -59357898 , 1903110719 , -1519843468 , -772809755 , 656586594 , -780217477 , 113744000 , 689151617 , -2109506994 , 931980919 , -1979738036 , 347394269 , -1807517190 , -1590403277 , 519623384 , 1120784121 , -1052089754 , -235538001 , 961926180 , 430224597 , -1696030830 , 2079601131 , -620763088 , 1172790897 , 411262334 , -1435548697 , 1702042364 , 814180301 , 612403242 , 1241590691 , 2110404744 , 945171689 , -1439511658 , -1432771297 , 260754644 , 1264634309 , 277189570 , -1757795237 , 976298976 , 1007426145 , -848753490 , -546177705 , -1250145876 , -302990659 , 2113806938 , -291892205 , -126219720 , 913770201 , -1350401850 , -1395577713 , 793964932 , 221452981 , 1157403634 , -1514683701 , -875148400 , 1744884305 , 631736286 , 820777671 , 1019618396 , -555759187 , -1608562550 , 407246979 , 400771048 , -208708407 , -1370717706 , -137129985 , -1028046284 , -1729452123 , 101752866 , 1402205499 , 1714052928 , 1443137089 , -1565405426 , 519341111 , -1195660532 , 553882781 , 856095418 , 839661811 , -341773928 , -843174215 , -1738289370 , -392704145 , -964116764 , -1407815531 , 1648670802 , -424295509 , -1104650512 , -1307167183 , -222633410 , -1084075609 , -1853366852 , 1305156493 , -1214760726 , -122456733 , -1173485752 , -1159562071 , -1537513386 , -1445664033 , -1169397868 , 2013623685 , -656679806 , -1362874853 , 395004576 , 938795553 , 548782446 , 768375575 , -1978286996 , 1785028221 , -1217002726 , -356332077 , -1337620232 , 949700249 , 2105953670 , -1543380401 , 1347370052 , -1849248139 , -1982264142 , 1965438091 , -187817392 , -1558214127 , -1001034594 , -74841977 , 1880114972 , -675193491 , -184329910 , -1199488445 , -1843235160 , 1011321993 , 1945599670 , -313150017 , 496778484 , -500616347 , 1711229154 , -318580997 , -953424384 , -1630196223 , 839705550 , -1615732233 , -874349108 , 1116608605 , -1687995526 , -1275735373 , 1782567000 , 587615865 , -1400767514 , -1178114769 , 1241409956 , -1782846379 , 1590792466 , 591467883 , -1633708624 , -1240150543 , -1425070338 , -417652889 , -1867030404 , -1824878771 , 1853401514 , 1088913187 , 972592648 , -1581872023 , 1354286358 , -888278881 , 1073791572 , 214819141 , -1768757950 , -293081125 , -639356576 , 1134389729 , -1924188626 , 1683798231 , -864424148 , -571096515 , -85548070 , 1155352467 , -1452816456 , -1258863015 , -1091642810 , -526362609 , 1559119620 , -881978827 , -1874442894 , 1597924939 , -696993520 , 1642987985 , -2088758946 , -540168633 , 1473587676 , 1387180333 , -972019190 , -1759630333 , -1217895064 , -1859683255 , -1170785418 , 666213247 , -1596852300 , 1768652581 , 1605284258 , 797669563 , -1601426240 , -616196671 , -1256933234 , -947585097 , -2043408244 , 756309021 , 2115517498 , 1890659443 , 1771400984 , -1838797255 , -1704662874 , -1421559057 , 1584845924 , -2108348395 , -649123374 , 861284139 , -1557820304 , 430122417 , -163566658 , -1621512921 , -708730052 , -1533689075 , 702667370 , -597866269 , 2085217480 , 747789353 , 2081087958 , -1006324129 , -345514732 , -1518727931 , -1033196030 , -934973029 , 1476122656 , 382054817 , -134911250 , 1893906071 , -1620516372 , -597563907 , 1494221978 , 648642899 , 312526456 , -615840231 , 1887184646 , -2006151729 , 1341133252 , 1172909557 , 17055282 , 1170233355 , -141946928 , 1277966737 , 2011657758 , 997661703 , -959132516 , -748174099 , 1409661642 , 1306318275 , 1718948904 , 300887049 , -1379157962 , 1018380607 , -149261708 , -1435399451 , -874587550 , 1827527291 , 688599936 , -1558856319 , 1888046414 , 1680727415 , 1785750348 , 1414946781 , 1273363706 , 1912489523 , 2019675608 , 731762169 , -1093888666 , -1026568017 , 1588723492 , -576576555 , -629308782 , -659228437 , -1300610256 , 1686191473 , 1225650302 , 635304679 , -1821989380 , -442714419 , -1970025686 , 1154798243 , -1077808248 , 1530260457 , -1290682730 , 175717407 , -951994412 , -1647707963 , -1792854334 , 1841083227 , 680672992 , 690862433 , 90726318 , 18773079 , -442329940 , -1184249411 , -1565383334 , 2045213459 , -625965768 , -1688828455 , 1324233670 , -2128182385 , -468411260 , 1291323829 , 1154676466 , -898889269 , -1630656880 , -912641711 , 1984666334 , 742803911 , 1338978140 , -1649633107 , -1616639094 , 914177923 , 1040745192 , -1637966903 , 997520630 , -2112968961 , -1959416524 , -520399195 , 1129300770 , -1226179525 , 1466497600 , 1308992833 , 1764401678 , 57441079 , -1151896052 , -334224483 , 898399674 , -2120409101 , -446370664 , -1100141127 , 913900070 , -970414481 , 1701833188 , -748494955 , 723295058 , -1793226069 , 1935522288 , -563145423 , -667388610 , 2020083879 , -1134139204 , 2047830669 , -246514710 , -1274143645 , 52478536 , -312394839 , 1116560214 , -735346209 , -1639034220 , 293446789 , 125599618 , -793922277 , -1570282080 , -1298824927 , 443028590 , -2100301289 , 1105659756 , -1999803011 , 1754072602 , -396938029 , -1336474632 , -1529231975 , -687538042 , 1888368975 , -1810110652 ]; Rstate = typecast(int32(stateR12345),'int32'); rn1 = mtR(5,1,Rstate); rn2 = mtR(5,1,12345); [rn , MATLABstate] = mtR(5,1,Rstate);
Both MATLAB and R code.
clear all; close all; Rstring = ['EXECUTE THE FOLLOWING IN R TO INITIATE THE SIMULATION' char(10) char(10) ... 'RNGkind("Mersenne-Twister") # set "Mersenne-Twister" "Inversion"' char(10)... 'set.seed(12345)' char(10)... 'state = .Random.seed' char(10) ... char(10)... 'runif(5)' char(10)... 'for (i in 1:1000) {' char(10)... ' rn=runif(5) ' char(10)... ' if (i==1000){print(rn)}' char(10)... '}' char(10) ... ]; disp(Rstring); % MATLAB SIDE: % m = 'MATLAB: '; r = 'R: '; % 5 random numbers from a uniform distribution in [0 1], seed 12345. stateR12345 = [403 , 624 , 1638542565 , 108172386 , -1884566405 , -1838154368 , -250773631 , 919185230 , -1001918601 , -1002779316 , -321961507 , 1781331706 , 1166440499 , -117712936 , 58314745 , -938201242 , 1844978351 , -869947100 , 216221141 , 576699538 , 533687019 , 1819381040 , 675905393 , 2110048894 , 2136771815 , 1026265084 , -1037166387 , -285653718 , 1263109283 , -1975616120 , 1576168937 , -123742058 , 244715039 , 1526718932 , -1087137083 , 1442050242 , 676570459 , 800852192 , -823755935 , -566904402 , 1696695895 , 906100396 , 1479781309 , -321511590 , -1503089389 , 1068470072 , 2031323097 , 2053295558 , -749218417 , -2000861564 , 1655319477 , -768462606 , 262110155 , 399143056 , -983338159 , -1865452322 , -202515513 , 1164515676 , 80673453 , 1462142346 , 1143665027 , -1238758168 , 255598025 , 1584402166 , 1601468671 , -748103884 , 1964374181 , -656573150 , 1708781115 , -1898462144 , 469722945 , -888865778 , -807891657 , -53747700 , -1448147555 , -905087046 , -208186893 , 289994392 , -2104807495 , -895837146 , -1276970897 , -1949461532 , -133824107 , -327625390 , 1424620715 , -572587024 , 45700913 , -284602562 , 850959015 , -1739238724 , -1539126131 , -1167198742 , -713765277 , -1419293624 , -857752151 , 695563606 , -1621470241 , -2055832428 , 1623803525 , 4667778 , 276211483 , -593809504 , -1185922271 , -1144033682 , 1545929751 , -1359974036 , -1111928963 , -1511325670 , -867539245 , -979366408 , 1876477849 , 1515428486 , 777096015 , -961638076 , -2006005899 , -1471436366 , 1172761995 , -1584969904 , 2135108369 , 2097830302 , 24430983 , -498582500 , 453086829 , 1122473546 , -329311421 , 936262568 , 1691700617 , -515372106 , 452959935 , 947966452 , -1681554331 , 1229530594 , -1939746821 , 836651776 , -2083451135 , 992809166 , -1111561481 , -1899515188 , 751470941 , -1333348230 , -340137037 , 546100568 , 217337721 , 388352230 , 1029410351 , 1454915236 , 190610773 , 1220718098 , -724677013 , 832256688 , -705106191 , -345336834 , -2116392857 , 2073679228 , -1618788275 , -1498716502 , -1843275741 , -1791567096 , 555011433 , 1501549078 , -82028129 , -538978476 , 2072162885 , 1023099458 , -640456485 , -1820780960 , 1417267937 , -1615469778 , 73286103 , -1968593876 , 1264235325 , -1510432550 , 689823891 , 1374112952 , -1579825319 , 984164166 , -1212612337 , -2059232252 , -1270406347 , 485876338 , -1881661621 , 1223876112 , -1647140143 , -1228800418 , 832665415 , 1755455196 , 608166445 , 668034826 , -336263933 , 1769548392 , -946455223 , -1313552266 , 1147700351 , -1695839052 , -1854353371 , 1886752418 , -1794936389 , -230452800 , 4355777 , 201450894 , -1682241353 , 1022248332 , 702663965 , -833046214 , 2007909747 , -175672296 , -227201223 , 1249228198 , 1344398319 , -945444508 , -223954667 , 2147305170 , -1589878741 , -1905905296 , 1774732977 , 665360574 , -360581593 , 1505302588 , 1471116301 , -1804494998 , 990945763 , -965924408 , -1705927383 , 1434382038 , -677634209 , -1258556908 , -1423974907 , -2066740478 , -165025125 , 722844960 , 1478693537 , 1856575470 , 1267548055 , -336750868 , -1797794051 , -37813862 , -425518509 , 323308408 , 1053460249 , 404976646 , -1790036273 , -1086757180 , 1911766773 , -655303886 , -818736885 , -1798490928 , -925771119 , 1387684638 , -499915513 , -1422474852 , -1538656787 , 1185150922 , -592662845 , 703256872 , 1463741705 , -59357898 , 1903110719 , -1519843468 , -772809755 , 656586594 , -780217477 , 113744000 , 689151617 , -2109506994 , 931980919 , -1979738036 , 347394269 , -1807517190 , -1590403277 , 519623384 , 1120784121 , -1052089754 , -235538001 , 961926180 , 430224597 , -1696030830 , 2079601131 , -620763088 , 1172790897 , 411262334 , -1435548697 , 1702042364 , 814180301 , 612403242 , 1241590691 , 2110404744 , 945171689 , -1439511658 , -1432771297 , 260754644 , 1264634309 , 277189570 , -1757795237 , 976298976 , 1007426145 , -848753490 , -546177705 , -1250145876 , -302990659 , 2113806938 , -291892205 , -126219720 , 913770201 , -1350401850 , -1395577713 , 793964932 , 221452981 , 1157403634 , -1514683701 , -875148400 , 1744884305 , 631736286 , 820777671 , 1019618396 , -555759187 , -1608562550 , 407246979 , 400771048 , -208708407 , -1370717706 , -137129985 , -1028046284 , -1729452123 , 101752866 , 1402205499 , 1714052928 , 1443137089 , -1565405426 , 519341111 , -1195660532 , 553882781 , 856095418 , 839661811 , -341773928 , -843174215 , -1738289370 , -392704145 , -964116764 , -1407815531 , 1648670802 , -424295509 , -1104650512 , -1307167183 , -222633410 , -1084075609 , -1853366852 , 1305156493 , -1214760726 , -122456733 , -1173485752 , -1159562071 , -1537513386 , -1445664033 , -1169397868 , 2013623685 , -656679806 , -1362874853 , 395004576 , 938795553 , 548782446 , 768375575 , -1978286996 , 1785028221 , -1217002726 , -356332077 , -1337620232 , 949700249 , 2105953670 , -1543380401 , 1347370052 , -1849248139 , -1982264142 , 1965438091 , -187817392 , -1558214127 , -1001034594 , -74841977 , 1880114972 , -675193491 , -184329910 , -1199488445 , -1843235160 , 1011321993 , 1945599670 , -313150017 , 496778484 , -500616347 , 1711229154 , -318580997 , -953424384 , -1630196223 , 839705550 , -1615732233 , -874349108 , 1116608605 , -1687995526 , -1275735373 , 1782567000 , 587615865 , -1400767514 , -1178114769 , 1241409956 , -1782846379 , 1590792466 , 591467883 , -1633708624 , -1240150543 , -1425070338 , -417652889 , -1867030404 , -1824878771 , 1853401514 , 1088913187 , 972592648 , -1581872023 , 1354286358 , -888278881 , 1073791572 , 214819141 , -1768757950 , -293081125 , -639356576 , 1134389729 , -1924188626 , 1683798231 , -864424148 , -571096515 , -85548070 , 1155352467 , -1452816456 , -1258863015 , -1091642810 , -526362609 , 1559119620 , -881978827 , -1874442894 , 1597924939 , -696993520 , 1642987985 , -2088758946 , -540168633 , 1473587676 , 1387180333 , -972019190 , -1759630333 , -1217895064 , -1859683255 , -1170785418 , 666213247 , -1596852300 , 1768652581 , 1605284258 , 797669563 , -1601426240 , -616196671 , -1256933234 , -947585097 , -2043408244 , 756309021 , 2115517498 , 1890659443 , 1771400984 , -1838797255 , -1704662874 , -1421559057 , 1584845924 , -2108348395 , -649123374 , 861284139 , -1557820304 , 430122417 , -163566658 , -1621512921 , -708730052 , -1533689075 , 702667370 , -597866269 , 2085217480 , 747789353 , 2081087958 , -1006324129 , -345514732 , -1518727931 , -1033196030 , -934973029 , 1476122656 , 382054817 , -134911250 , 1893906071 , -1620516372 , -597563907 , 1494221978 , 648642899 , 312526456 , -615840231 , 1887184646 , -2006151729 , 1341133252 , 1172909557 , 17055282 , 1170233355 , -141946928 , 1277966737 , 2011657758 , 997661703 , -959132516 , -748174099 , 1409661642 , 1306318275 , 1718948904 , 300887049 , -1379157962 , 1018380607 , -149261708 , -1435399451 , -874587550 , 1827527291 , 688599936 , -1558856319 , 1888046414 , 1680727415 , 1785750348 , 1414946781 , 1273363706 , 1912489523 , 2019675608 , 731762169 , -1093888666 , -1026568017 , 1588723492 , -576576555 , -629308782 , -659228437 , -1300610256 , 1686191473 , 1225650302 , 635304679 , -1821989380 , -442714419 , -1970025686 , 1154798243 , -1077808248 , 1530260457 , -1290682730 , 175717407 , -951994412 , -1647707963 , -1792854334 , 1841083227 , 680672992 , 690862433 , 90726318 , 18773079 , -442329940 , -1184249411 , -1565383334 , 2045213459 , -625965768 , -1688828455 , 1324233670 , -2128182385 , -468411260 , 1291323829 , 1154676466 , -898889269 , -1630656880 , -912641711 , 1984666334 , 742803911 , 1338978140 , -1649633107 , -1616639094 , 914177923 , 1040745192 , -1637966903 , 997520630 , -2112968961 , -1959416524 , -520399195 , 1129300770 , -1226179525 , 1466497600 , 1308992833 , 1764401678 , 57441079 , -1151896052 , -334224483 , 898399674 , -2120409101 , -446370664 , -1100141127 , 913900070 , -970414481 , 1701833188 , -748494955 , 723295058 , -1793226069 , 1935522288 , -563145423 , -667388610 , 2020083879 , -1134139204 , 2047830669 , -246514710 , -1274143645 , 52478536 , -312394839 , 1116560214 , -735346209 , -1639034220 , 293446789 , 125599618 , -793922277 , -1570282080 , -1298824927 , 443028590 , -2100301289 , 1105659756 , -1999803011 , 1754072602 , -396938029 , -1336474632 , -1529231975 , -687538042 , 1888368975 , -1810110652 ]; Rstate = typecast(int32(stateR12345),'int32'); seed = 12345; rn1 = mtR(5, 0, Rstate); expectedRes=[0.7209039 0.8757732 0.7609823 0.8861246 0.4564810]'; disp('Five random numbers generated in the first simulation step: '); sprintf('%s %0.7f ',m,rn1) sprintf('%s %0.7f ',r,[0.7209039 0.8757732 0.7609823 0.8861246 0.4564810]) assert(isequal(round(rn1,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!') % 1000 arrays of 5 random numbers from a uniform distribution in [0 1] % generated while keeping the current MATLAB state (this is obtained % by setting a negative Rstate) for i=1:1000 rn2=mtR(5, 0, -123); end expectedRes=[0.18089266 0.18878981 0.72700354 0.03062528 0.58466682]'; disp('Five random numbers generated in the last of the 1000 simulation steps: '); sprintf('%s %0.7f ',m,rn2) sprintf('%s %0.7f ',r,[0.18089266 0.18878981 0.72700354 0.03062528 0.58466682]) assert(isequal(round(rn2,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!')
Both MATLAB and R code.
clear all; close all; Rstring = ['EXECUTE THE FOLLOWING IN R TO INITIATE THE SIMULATION' char(10) char(10) ... 'RNGkind("Mersenne-Twister") # set "Mersenne-Twister" "Inversion"' char(10)... 'set.seed(12345)' char(10)... 'state = .Random.seed' char(10) ... char(10)... 'rnorm(5)' char(10)... 'for (i in 1:1000) {' char(10)... ' rn=rnorm(5) ' char(10)... ' if (i==1000){print(rn)}' char(10)... '}' char(10) ... ]; disp(Rstring); % MATLAB SIDE: % m = 'MATLAB: '; r = 'R: '; % 5 random numbers from a normal distribution in [0 1], seed 12345. stateR12345 = [403 , 624 , 1638542565 , 108172386 , -1884566405 , -1838154368 , -250773631 , 919185230 , -1001918601 , -1002779316 , -321961507 , 1781331706 , 1166440499 , -117712936 , 58314745 , -938201242 , 1844978351 , -869947100 , 216221141 , 576699538 , 533687019 , 1819381040 , 675905393 , 2110048894 , 2136771815 , 1026265084 , -1037166387 , -285653718 , 1263109283 , -1975616120 , 1576168937 , -123742058 , 244715039 , 1526718932 , -1087137083 , 1442050242 , 676570459 , 800852192 , -823755935 , -566904402 , 1696695895 , 906100396 , 1479781309 , -321511590 , -1503089389 , 1068470072 , 2031323097 , 2053295558 , -749218417 , -2000861564 , 1655319477 , -768462606 , 262110155 , 399143056 , -983338159 , -1865452322 , -202515513 , 1164515676 , 80673453 , 1462142346 , 1143665027 , -1238758168 , 255598025 , 1584402166 , 1601468671 , -748103884 , 1964374181 , -656573150 , 1708781115 , -1898462144 , 469722945 , -888865778 , -807891657 , -53747700 , -1448147555 , -905087046 , -208186893 , 289994392 , -2104807495 , -895837146 , -1276970897 , -1949461532 , -133824107 , -327625390 , 1424620715 , -572587024 , 45700913 , -284602562 , 850959015 , -1739238724 , -1539126131 , -1167198742 , -713765277 , -1419293624 , -857752151 , 695563606 , -1621470241 , -2055832428 , 1623803525 , 4667778 , 276211483 , -593809504 , -1185922271 , -1144033682 , 1545929751 , -1359974036 , -1111928963 , -1511325670 , -867539245 , -979366408 , 1876477849 , 1515428486 , 777096015 , -961638076 , -2006005899 , -1471436366 , 1172761995 , -1584969904 , 2135108369 , 2097830302 , 24430983 , -498582500 , 453086829 , 1122473546 , -329311421 , 936262568 , 1691700617 , -515372106 , 452959935 , 947966452 , -1681554331 , 1229530594 , -1939746821 , 836651776 , -2083451135 , 992809166 , -1111561481 , -1899515188 , 751470941 , -1333348230 , -340137037 , 546100568 , 217337721 , 388352230 , 1029410351 , 1454915236 , 190610773 , 1220718098 , -724677013 , 832256688 , -705106191 , -345336834 , -2116392857 , 2073679228 , -1618788275 , -1498716502 , -1843275741 , -1791567096 , 555011433 , 1501549078 , -82028129 , -538978476 , 2072162885 , 1023099458 , -640456485 , -1820780960 , 1417267937 , -1615469778 , 73286103 , -1968593876 , 1264235325 , -1510432550 , 689823891 , 1374112952 , -1579825319 , 984164166 , -1212612337 , -2059232252 , -1270406347 , 485876338 , -1881661621 , 1223876112 , -1647140143 , -1228800418 , 832665415 , 1755455196 , 608166445 , 668034826 , -336263933 , 1769548392 , -946455223 , -1313552266 , 1147700351 , -1695839052 , -1854353371 , 1886752418 , -1794936389 , -230452800 , 4355777 , 201450894 , -1682241353 , 1022248332 , 702663965 , -833046214 , 2007909747 , -175672296 , -227201223 , 1249228198 , 1344398319 , -945444508 , -223954667 , 2147305170 , -1589878741 , -1905905296 , 1774732977 , 665360574 , -360581593 , 1505302588 , 1471116301 , -1804494998 , 990945763 , -965924408 , -1705927383 , 1434382038 , -677634209 , -1258556908 , -1423974907 , -2066740478 , -165025125 , 722844960 , 1478693537 , 1856575470 , 1267548055 , -336750868 , -1797794051 , -37813862 , -425518509 , 323308408 , 1053460249 , 404976646 , -1790036273 , -1086757180 , 1911766773 , -655303886 , -818736885 , -1798490928 , -925771119 , 1387684638 , -499915513 , -1422474852 , -1538656787 , 1185150922 , -592662845 , 703256872 , 1463741705 , -59357898 , 1903110719 , -1519843468 , -772809755 , 656586594 , -780217477 , 113744000 , 689151617 , -2109506994 , 931980919 , -1979738036 , 347394269 , -1807517190 , -1590403277 , 519623384 , 1120784121 , -1052089754 , -235538001 , 961926180 , 430224597 , -1696030830 , 2079601131 , -620763088 , 1172790897 , 411262334 , -1435548697 , 1702042364 , 814180301 , 612403242 , 1241590691 , 2110404744 , 945171689 , -1439511658 , -1432771297 , 260754644 , 1264634309 , 277189570 , -1757795237 , 976298976 , 1007426145 , -848753490 , -546177705 , -1250145876 , -302990659 , 2113806938 , -291892205 , -126219720 , 913770201 , -1350401850 , -1395577713 , 793964932 , 221452981 , 1157403634 , -1514683701 , -875148400 , 1744884305 , 631736286 , 820777671 , 1019618396 , -555759187 , -1608562550 , 407246979 , 400771048 , -208708407 , -1370717706 , -137129985 , -1028046284 , -1729452123 , 101752866 , 1402205499 , 1714052928 , 1443137089 , -1565405426 , 519341111 , -1195660532 , 553882781 , 856095418 , 839661811 , -341773928 , -843174215 , -1738289370 , -392704145 , -964116764 , -1407815531 , 1648670802 , -424295509 , -1104650512 , -1307167183 , -222633410 , -1084075609 , -1853366852 , 1305156493 , -1214760726 , -122456733 , -1173485752 , -1159562071 , -1537513386 , -1445664033 , -1169397868 , 2013623685 , -656679806 , -1362874853 , 395004576 , 938795553 , 548782446 , 768375575 , -1978286996 , 1785028221 , -1217002726 , -356332077 , -1337620232 , 949700249 , 2105953670 , -1543380401 , 1347370052 , -1849248139 , -1982264142 , 1965438091 , -187817392 , -1558214127 , -1001034594 , -74841977 , 1880114972 , -675193491 , -184329910 , -1199488445 , -1843235160 , 1011321993 , 1945599670 , -313150017 , 496778484 , -500616347 , 1711229154 , -318580997 , -953424384 , -1630196223 , 839705550 , -1615732233 , -874349108 , 1116608605 , -1687995526 , -1275735373 , 1782567000 , 587615865 , -1400767514 , -1178114769 , 1241409956 , -1782846379 , 1590792466 , 591467883 , -1633708624 , -1240150543 , -1425070338 , -417652889 , -1867030404 , -1824878771 , 1853401514 , 1088913187 , 972592648 , -1581872023 , 1354286358 , -888278881 , 1073791572 , 214819141 , -1768757950 , -293081125 , -639356576 , 1134389729 , -1924188626 , 1683798231 , -864424148 , -571096515 , -85548070 , 1155352467 , -1452816456 , -1258863015 , -1091642810 , -526362609 , 1559119620 , -881978827 , -1874442894 , 1597924939 , -696993520 , 1642987985 , -2088758946 , -540168633 , 1473587676 , 1387180333 , -972019190 , -1759630333 , -1217895064 , -1859683255 , -1170785418 , 666213247 , -1596852300 , 1768652581 , 1605284258 , 797669563 , -1601426240 , -616196671 , -1256933234 , -947585097 , -2043408244 , 756309021 , 2115517498 , 1890659443 , 1771400984 , -1838797255 , -1704662874 , -1421559057 , 1584845924 , -2108348395 , -649123374 , 861284139 , -1557820304 , 430122417 , -163566658 , -1621512921 , -708730052 , -1533689075 , 702667370 , -597866269 , 2085217480 , 747789353 , 2081087958 , -1006324129 , -345514732 , -1518727931 , -1033196030 , -934973029 , 1476122656 , 382054817 , -134911250 , 1893906071 , -1620516372 , -597563907 , 1494221978 , 648642899 , 312526456 , -615840231 , 1887184646 , -2006151729 , 1341133252 , 1172909557 , 17055282 , 1170233355 , -141946928 , 1277966737 , 2011657758 , 997661703 , -959132516 , -748174099 , 1409661642 , 1306318275 , 1718948904 , 300887049 , -1379157962 , 1018380607 , -149261708 , -1435399451 , -874587550 , 1827527291 , 688599936 , -1558856319 , 1888046414 , 1680727415 , 1785750348 , 1414946781 , 1273363706 , 1912489523 , 2019675608 , 731762169 , -1093888666 , -1026568017 , 1588723492 , -576576555 , -629308782 , -659228437 , -1300610256 , 1686191473 , 1225650302 , 635304679 , -1821989380 , -442714419 , -1970025686 , 1154798243 , -1077808248 , 1530260457 , -1290682730 , 175717407 , -951994412 , -1647707963 , -1792854334 , 1841083227 , 680672992 , 690862433 , 90726318 , 18773079 , -442329940 , -1184249411 , -1565383334 , 2045213459 , -625965768 , -1688828455 , 1324233670 , -2128182385 , -468411260 , 1291323829 , 1154676466 , -898889269 , -1630656880 , -912641711 , 1984666334 , 742803911 , 1338978140 , -1649633107 , -1616639094 , 914177923 , 1040745192 , -1637966903 , 997520630 , -2112968961 , -1959416524 , -520399195 , 1129300770 , -1226179525 , 1466497600 , 1308992833 , 1764401678 , 57441079 , -1151896052 , -334224483 , 898399674 , -2120409101 , -446370664 , -1100141127 , 913900070 , -970414481 , 1701833188 , -748494955 , 723295058 , -1793226069 , 1935522288 , -563145423 , -667388610 , 2020083879 , -1134139204 , 2047830669 , -246514710 , -1274143645 , 52478536 , -312394839 , 1116560214 , -735346209 , -1639034220 , 293446789 , 125599618 , -793922277 , -1570282080 , -1298824927 , 443028590 , -2100301289 , 1105659756 , -1999803011 , 1754072602 , -396938029 , -1336474632 , -1529231975 , -687538042 , 1888368975 , -1810110652 ]; Rstate = typecast(int32(stateR12345),'int32'); seed = 12345; disp('Five random numbers generated in the first simulation step: '); rn1 = mtR(5, 1, Rstate); rn2 = mtR(5, 1, seed); expectedRes=[0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875]'; sprintf('%s %0.7f ',m,rn1) disp(' input: R state as int32') sprintf('%s %0.7f ',m,rn2) disp(' input: seed') sprintf('%s %0.7f ',r,[0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875]) assert(isequal(round(rn1,7), round(rn2,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!') % 1000 arrays of 5 random numbers from a uniform distribution in [0 1] % generated while keeping the current MATLAB state (this is obtained % by setting a negative Rstate) for i=1:1000 rn2=mtR(5, 1, -3524); end expectedRes=[-0.6924722 1.1246956 0.1745351 -1.9678067 -1.6442717]'; disp('Five random numbers generated in the last of the 1000 simulation steps: '); sprintf('%s %0.7f ',m,rn2) sprintf('%s %0.7f ',r,[-0.6924722 1.1246956 0.1745351 -1.9678067 -1.6442717]) assert(isequal(round(rn2,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!')
Both MATLAB and R code.
clear all; close all; Rstring = ['EXECUTE THE FOLLOWING IN R TO INITIATE THE SIMULATION' char(10) char(10) ... 'RNGkind("Mersenne-Twister") # set "Mersenne-Twister" "Inversion"' char(10)... 'set.seed(12345)' char(10)... 'state = .Random.seed' char(10) ... char(10)... 'rnorm(5)' char(10)... 'for (i in 1:1000) {' char(10)... ' rn=rnorm(5) ' char(10)... ' if (i==1000){print(rn)}' char(10)... '}' char(10) ... ]; disp(Rstring); % MATLAB SIDE: % m = 'MATLAB: '; r = 'R: '; % 5 random numbers from a normal distribution in [0 1], seed 12345. stateR12345 = [403 , 624 , 1638542565 , 108172386 , -1884566405 , -1838154368 , -250773631 , 919185230 , -1001918601 , -1002779316 , -321961507 , 1781331706 , 1166440499 , -117712936 , 58314745 , -938201242 , 1844978351 , -869947100 , 216221141 , 576699538 , 533687019 , 1819381040 , 675905393 , 2110048894 , 2136771815 , 1026265084 , -1037166387 , -285653718 , 1263109283 , -1975616120 , 1576168937 , -123742058 , 244715039 , 1526718932 , -1087137083 , 1442050242 , 676570459 , 800852192 , -823755935 , -566904402 , 1696695895 , 906100396 , 1479781309 , -321511590 , -1503089389 , 1068470072 , 2031323097 , 2053295558 , -749218417 , -2000861564 , 1655319477 , -768462606 , 262110155 , 399143056 , -983338159 , -1865452322 , -202515513 , 1164515676 , 80673453 , 1462142346 , 1143665027 , -1238758168 , 255598025 , 1584402166 , 1601468671 , -748103884 , 1964374181 , -656573150 , 1708781115 , -1898462144 , 469722945 , -888865778 , -807891657 , -53747700 , -1448147555 , -905087046 , -208186893 , 289994392 , -2104807495 , -895837146 , -1276970897 , -1949461532 , -133824107 , -327625390 , 1424620715 , -572587024 , 45700913 , -284602562 , 850959015 , -1739238724 , -1539126131 , -1167198742 , -713765277 , -1419293624 , -857752151 , 695563606 , -1621470241 , -2055832428 , 1623803525 , 4667778 , 276211483 , -593809504 , -1185922271 , -1144033682 , 1545929751 , -1359974036 , -1111928963 , -1511325670 , -867539245 , -979366408 , 1876477849 , 1515428486 , 777096015 , -961638076 , -2006005899 , -1471436366 , 1172761995 , -1584969904 , 2135108369 , 2097830302 , 24430983 , -498582500 , 453086829 , 1122473546 , -329311421 , 936262568 , 1691700617 , -515372106 , 452959935 , 947966452 , -1681554331 , 1229530594 , -1939746821 , 836651776 , -2083451135 , 992809166 , -1111561481 , -1899515188 , 751470941 , -1333348230 , -340137037 , 546100568 , 217337721 , 388352230 , 1029410351 , 1454915236 , 190610773 , 1220718098 , -724677013 , 832256688 , -705106191 , -345336834 , -2116392857 , 2073679228 , -1618788275 , -1498716502 , -1843275741 , -1791567096 , 555011433 , 1501549078 , -82028129 , -538978476 , 2072162885 , 1023099458 , -640456485 , -1820780960 , 1417267937 , -1615469778 , 73286103 , -1968593876 , 1264235325 , -1510432550 , 689823891 , 1374112952 , -1579825319 , 984164166 , -1212612337 , -2059232252 , -1270406347 , 485876338 , -1881661621 , 1223876112 , -1647140143 , -1228800418 , 832665415 , 1755455196 , 608166445 , 668034826 , -336263933 , 1769548392 , -946455223 , -1313552266 , 1147700351 , -1695839052 , -1854353371 , 1886752418 , -1794936389 , -230452800 , 4355777 , 201450894 , -1682241353 , 1022248332 , 702663965 , -833046214 , 2007909747 , -175672296 , -227201223 , 1249228198 , 1344398319 , -945444508 , -223954667 , 2147305170 , -1589878741 , -1905905296 , 1774732977 , 665360574 , -360581593 , 1505302588 , 1471116301 , -1804494998 , 990945763 , -965924408 , -1705927383 , 1434382038 , -677634209 , -1258556908 , -1423974907 , -2066740478 , -165025125 , 722844960 , 1478693537 , 1856575470 , 1267548055 , -336750868 , -1797794051 , -37813862 , -425518509 , 323308408 , 1053460249 , 404976646 , -1790036273 , -1086757180 , 1911766773 , -655303886 , -818736885 , -1798490928 , -925771119 , 1387684638 , -499915513 , -1422474852 , -1538656787 , 1185150922 , -592662845 , 703256872 , 1463741705 , -59357898 , 1903110719 , -1519843468 , -772809755 , 656586594 , -780217477 , 113744000 , 689151617 , -2109506994 , 931980919 , -1979738036 , 347394269 , -1807517190 , -1590403277 , 519623384 , 1120784121 , -1052089754 , -235538001 , 961926180 , 430224597 , -1696030830 , 2079601131 , -620763088 , 1172790897 , 411262334 , -1435548697 , 1702042364 , 814180301 , 612403242 , 1241590691 , 2110404744 , 945171689 , -1439511658 , -1432771297 , 260754644 , 1264634309 , 277189570 , -1757795237 , 976298976 , 1007426145 , -848753490 , -546177705 , -1250145876 , -302990659 , 2113806938 , -291892205 , -126219720 , 913770201 , -1350401850 , -1395577713 , 793964932 , 221452981 , 1157403634 , -1514683701 , -875148400 , 1744884305 , 631736286 , 820777671 , 1019618396 , -555759187 , -1608562550 , 407246979 , 400771048 , -208708407 , -1370717706 , -137129985 , -1028046284 , -1729452123 , 101752866 , 1402205499 , 1714052928 , 1443137089 , -1565405426 , 519341111 , -1195660532 , 553882781 , 856095418 , 839661811 , -341773928 , -843174215 , -1738289370 , -392704145 , -964116764 , -1407815531 , 1648670802 , -424295509 , -1104650512 , -1307167183 , -222633410 , -1084075609 , -1853366852 , 1305156493 , -1214760726 , -122456733 , -1173485752 , -1159562071 , -1537513386 , -1445664033 , -1169397868 , 2013623685 , -656679806 , -1362874853 , 395004576 , 938795553 , 548782446 , 768375575 , -1978286996 , 1785028221 , -1217002726 , -356332077 , -1337620232 , 949700249 , 2105953670 , -1543380401 , 1347370052 , -1849248139 , -1982264142 , 1965438091 , -187817392 , -1558214127 , -1001034594 , -74841977 , 1880114972 , -675193491 , -184329910 , -1199488445 , -1843235160 , 1011321993 , 1945599670 , -313150017 , 496778484 , -500616347 , 1711229154 , -318580997 , -953424384 , -1630196223 , 839705550 , -1615732233 , -874349108 , 1116608605 , -1687995526 , -1275735373 , 1782567000 , 587615865 , -1400767514 , -1178114769 , 1241409956 , -1782846379 , 1590792466 , 591467883 , -1633708624 , -1240150543 , -1425070338 , -417652889 , -1867030404 , -1824878771 , 1853401514 , 1088913187 , 972592648 , -1581872023 , 1354286358 , -888278881 , 1073791572 , 214819141 , -1768757950 , -293081125 , -639356576 , 1134389729 , -1924188626 , 1683798231 , -864424148 , -571096515 , -85548070 , 1155352467 , -1452816456 , -1258863015 , -1091642810 , -526362609 , 1559119620 , -881978827 , -1874442894 , 1597924939 , -696993520 , 1642987985 , -2088758946 , -540168633 , 1473587676 , 1387180333 , -972019190 , -1759630333 , -1217895064 , -1859683255 , -1170785418 , 666213247 , -1596852300 , 1768652581 , 1605284258 , 797669563 , -1601426240 , -616196671 , -1256933234 , -947585097 , -2043408244 , 756309021 , 2115517498 , 1890659443 , 1771400984 , -1838797255 , -1704662874 , -1421559057 , 1584845924 , -2108348395 , -649123374 , 861284139 , -1557820304 , 430122417 , -163566658 , -1621512921 , -708730052 , -1533689075 , 702667370 , -597866269 , 2085217480 , 747789353 , 2081087958 , -1006324129 , -345514732 , -1518727931 , -1033196030 , -934973029 , 1476122656 , 382054817 , -134911250 , 1893906071 , -1620516372 , -597563907 , 1494221978 , 648642899 , 312526456 , -615840231 , 1887184646 , -2006151729 , 1341133252 , 1172909557 , 17055282 , 1170233355 , -141946928 , 1277966737 , 2011657758 , 997661703 , -959132516 , -748174099 , 1409661642 , 1306318275 , 1718948904 , 300887049 , -1379157962 , 1018380607 , -149261708 , -1435399451 , -874587550 , 1827527291 , 688599936 , -1558856319 , 1888046414 , 1680727415 , 1785750348 , 1414946781 , 1273363706 , 1912489523 , 2019675608 , 731762169 , -1093888666 , -1026568017 , 1588723492 , -576576555 , -629308782 , -659228437 , -1300610256 , 1686191473 , 1225650302 , 635304679 , -1821989380 , -442714419 , -1970025686 , 1154798243 , -1077808248 , 1530260457 , -1290682730 , 175717407 , -951994412 , -1647707963 , -1792854334 , 1841083227 , 680672992 , 690862433 , 90726318 , 18773079 , -442329940 , -1184249411 , -1565383334 , 2045213459 , -625965768 , -1688828455 , 1324233670 , -2128182385 , -468411260 , 1291323829 , 1154676466 , -898889269 , -1630656880 , -912641711 , 1984666334 , 742803911 , 1338978140 , -1649633107 , -1616639094 , 914177923 , 1040745192 , -1637966903 , 997520630 , -2112968961 , -1959416524 , -520399195 , 1129300770 , -1226179525 , 1466497600 , 1308992833 , 1764401678 , 57441079 , -1151896052 , -334224483 , 898399674 , -2120409101 , -446370664 , -1100141127 , 913900070 , -970414481 , 1701833188 , -748494955 , 723295058 , -1793226069 , 1935522288 , -563145423 , -667388610 , 2020083879 , -1134139204 , 2047830669 , -246514710 , -1274143645 , 52478536 , -312394839 , 1116560214 , -735346209 , -1639034220 , 293446789 , 125599618 , -793922277 , -1570282080 , -1298824927 , 443028590 , -2100301289 , 1105659756 , -1999803011 , 1754072602 , -396938029 , -1336474632 , -1529231975 , -687538042 , 1888368975 , -1810110652 ]; Rstate = typecast(int32(stateR12345),'int32'); seed = 12345; disp('Five random numbers generated in the first simulation step: '); disp('This is done with mtR to ensure same stream '); rn1 = mtR(5, 1, Rstate); rn2 = mtR(5, 1, seed); expectedRes=[0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875]'; sprintf('%s %0.7f ',m,rn1) disp(' input: R state as int32') sprintf('%s %0.7f ',m,rn2) disp(' input: seed') sprintf('%s %0.7f ',r,[0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875]) assert(isequal(round(rn1,7), round(rn2,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!') % 1000 arrays of 5 uniform random numbers generated using rand function disp('Now 1000 arrays of 5 uniform random numbers generated using rand function'); disp('REMARK: for uniform numbers FullPrecision must be false '); current_stream = RandStream.getGlobalStream(); set(current_stream, 'FullPrecision' , false); for i=1:1000 rn2=rand(5, 1); end expectedRes=[0.7500169 8.368954e-02 0.7349870 2.120063e-01 0.3928435]'; disp('The five random numbers generated in the last of the 1000 simulation steps: '); sprintf('%s %0.7f ',m,rn2) sprintf('%s %0.7f ',r,[0.7500169 8.368954e-02 0.7349870 2.120063e-01 0.3928435]) assert(isequal(round(rn2,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!') disp('Now, another five random numbers generated now with randn function. '); disp('REMARK: for normal numbers FullPrecision must be true '); set(current_stream, 'FullPrecision' , true); rn3=randn(5, 1); expectedRes=[0.5170759 0.0359742 -0.3792091 -0.5749569 0.7409261]'; sprintf('%s %0.7f ',m,rn3) sprintf('%s %0.7f ',r,[0.5170759 0.0359742 -0.3792091 -0.5749569 0.7409261]) assert(isequal(round(rn3,7), round(expectedRes,7)), 'Error: MATLAB did not output the same random values as R!')
n
— Number of random numbers.
Positive integer.The number of random numbers to generate. Default is n=1.
Data Types: single| double
distrib
— Distribution.
Scalar or 1-by-3 array.Default is distrib=0.
If distrib is a scalar, then the value 0 indicates the use of the uniform distribution in [0 1], while any other value stands for the standard normal with 0 mean and standard deviation 1.
If distrib is a 1-by-3 array: the first element is the distribution type, chosen with the rule above for the scalar case; the second and the third elements are the two parameters of the chosen distribution, that is [min,max] for the uniform and [mean,std] for the normal.
Data Types: single| double
Rstate
— The R state.
Positive scalar, negative scalar, empty scalar,
or a 626-element int32 vector.Stream or seed used to initialize the random number generation in MATLAB.
If Rstate is a negative scalar, then nothing is done: the state and seed are the current MATLAB ones.
This option is useful to continue a simulation, possibly intialized in previous steps from a R state.
If Rstate is a positive scalar, it is treated as a R seed; therefore, the R and MATLAB states are generated for the given seed.
If Rstate is a 626-element int32 vector, then it must contain the state of the random number stream used in R.
See "More About" for additional details.
Data Types: Scalar or int32 vector.
rn
—generated random numbers.
VectorRandom numbers that should be identical with those produced in R.
Data Types - double array.
varargout
—MATLABstate : state of the random number stream in the MATLAB format.
VectorColumn vector which contains the random stream.
Data Types - uint32 array.
R seed : seed used to initiate the random stream in R, which mtR has converted to the corresponding MATLAB state. Scalar.
Positive integer containing the initial R seed. If the user wants to continue the simulation and uses a negative seed, or/and needs to generate data from a different distribution, a seed=0 is returned.
Data Types - Double.
In R software, the random stream for the Mersenne Twister algorithm is generated by .Random.seed as a 624-dimensional set of 32-bit integers preceded by two additional integers: the first is a code for the kind of RNG and normal generator and the second is the current position in the random stream set. The lowest two decimal digits of the RNG code are in 0:(k-1) where k is the number of available RNGs; the hundreds represent the type of normal generator, starting at 0.
The approach followed in this FSDA function to grant compatibility of random numbers generated in MATLAB and R relies on two key steps: - The state of the random number stream created in MATLAB is replaced with the stream received from R as imput argument. This step requires recasting the stream from the signed integers used by R and the unsigned counterparts used by MATLAB. The generated random stream is indipendent from the global stream.
- The inverse transformation is used to compute a normal random variate (i.e. the standard normal inverse cumulative distribution function to a uniform random variate is applied). This replaces the MATLAB default, which is the ziggurat algorithm.
The approach is applied in two possible ways, depending on user's input (Rstate argument): - In the first option, the R seed is given as input and the corresponding R, and then MATLAB, states are generated;
- In the second option, a valid R state is given as input and the corresponding MATLAB state is then generated; Note that, since R does something non-standard when initializing from a seed, there is no way to map R seed values to MATLAB's (MATLAB initializes using the standard to mt19937ar seeding algorithm). So we initialize with seed = 0 to get the correct global generator, but then we set the generator state explicitly to the MATLAB equivalent of the R specification.
Our solution grants retrocompatibility up to R2012a. Note the key changes in the syntax of MATLAB's RNG start-up: - prior to R2008b the setting was: rand('seed',0).
- from R2008b: stream = RandStream('mt19937ar','Seed',5489);
RandStream.setGlobalStream(stream).
- from R2011a the current setting was adopted: rng default.
Matsumoto, M. and Nishimura, T. (2000), Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudorandom Number Generator, "ACM Transactions on Modeling and Computer Simulation", Vol. 8, pp. 3-30.
The function has been written with the key contribution of Dr Peter Perkins, statistician at The Mathworks with recognised competence in random number generation and Monte-Carlo simulation.
RandStream
|
rng
|
rand
|
randn