【问题标题】:Handling large numbers with vpa in MATLAB在 MATLAB 中使用 vpa 处理大数
【发布时间】:2017-02-09 13:35:14
【问题描述】:

我正在尝试将数字 2^1000 中的每个数字相加,例如,25346 中每个数字的和 = 2+5+3+4+6 = 20。

我在 Matlab 中编写了如下代码:

clc, clear all, close all,
x=2^1000;
x=vpa(x,400);
sum=0;
while x>0 
    num=mod(x,10);
    sum = sum+num;
    x=floor(x/10); 
end
sum % = 1349, correct answer should be 1366

对于较小的数字,此代码有效。我猜 vpa 命令有问题,但我不知道是什么。

有人有什么想法吗?在 matlab 中是否有更简单快捷的方法?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    按照文档中的说明合并这两行:

    x=2^1000;
    x=vpa(x,400);
    

    到这里

    x=vpa(2^1000,400);
    

    【讨论】:

    猜你喜欢
    • 2015-08-14
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多