关于#matlab#的问题,如何解决?

s=12345678901234567890
用matlab如何因式分解
查阅了很多资料,都没弄出来

img

img

望采纳

  • 因为数字 12345678901234567890 大于了 Matlab 中单精度或双精度数据类型的最大值FLINTMAX。
  • 要解决这个问题,你可以使用 Matlab 中的高精度数据类型进行计算。例如,你可以使用 vpa 函数将数字转换为高精度的形式,然后使用 factor 函数进行因式分解。例如:
s = vpa(12345678901234567890);
factors = factor(s)

执行上面的代码后,变量 factors 中将包含数字 12345678901234567890 的质因数,即 2、3、5、7、11、13、17、19、61 和 241。

factor(sym('12345678901234567890'))