Модуль в Matlab для больших чисел без инструментария - PullRequest
0 голосов
/ 12 января 2020

Я портирую часть своего Python кода на Matlab и столкнулся с проблемой при выполнении мод-вычислений в Matlab, в результате чего вместо правильного значения, такого как Python.

In *, возвращается NaN. 1014 * код p = pow(8687205886,5788687615,8369428283) такой же, как в Matlab

a = 8687205886^5788687615 
b = 8369428283
m = mod(a,b)

У меня нет доступа ни к каким инструментам, кроме стандартных, поэтому использование Symboli c Maths Toolbox или его альтернатив не предусмотрено.

Как бы такой расчет был сделан в Matlab?

Спасибо

1 Ответ

2 голосов
/ 12 января 2020

Отсутствие необходимого набора инструментов для чисел с более высокой точностью, с использованием python в MATLAB может быть вариантом:

p = py.pow(int64(8687205886),int64(5788687615),int64(8369428283))

p = 

  Python long with properties:

    denominator: [1×1 py.long]
           imag: [1×1 py.long]
      numerator: [1×1 py.long]
           real: [1×1 py.long]

    539591274
...