大整数计算一直是MATLAB的痛点(在不使用第三方库或符号运算的情况下), 而Python是支持大整数运算的。那么就试试MATLAB调用Python进行大整数运算吧。以下代码是在MATLAB R2015a上运行。
示例1:计算2^1000:
py.print(py.pow(int32(2), int32(1000)))
MATLAB中的Python程序大部分是“py.XXXX”的形式, 所以输入“py.”后,按Tab键,就可以看到有哪些Python函数了。
结果:
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376
结果经Mathematica验证正确。
示例2:计算2^1000 - 3^500:
目的是为了测试支不支持两个大整数之间的运算。
py.pow(int32(2), int32(1000))- py.pow(int32(3), int32(500))
结果:
10715086071862673209484250490600018105614048117055336074437503847343218715379424382546716708613639463252561703173908427905835620276322948852089093376190311824545784466644528451017218852206439624864888039160615558421556161245627519711522093820734226348757986505096170577507851103644238396697410290459375
结果经Mathematica验证正确。
MATLAB R2015b刚发布出来, 看介绍, 它对Python的支持更加强大了。对于熟记MATLAB和Python的用户来说, 有必要发掘这个混编的功能,以取长补短。