24小时热门版块排行榜    

查看: 4567  |  回复: 17
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

chenyangbu

金虫 (著名写手)

[求助] 求助大神,为何不同机器运行MATLAB结果不同 已有3人参与

求助:不同机器运行MATLAB结果不同

我调用MATLAB优化工具箱的库函数fmincon,使用相同的初始解(可行解),对同一个问题进行局部搜索(算法为序列二次规划,即SQP),但在不同机器上得到的结果不同。

一共有五台机器 (为了方便,简称为A1,A2,A3,  B1,B2),  B1-B2配置相同,均为新买的机器,A1-A3为以前的机器。A1-A3上运行结果相同, B1-B2上结果相同。

在A1-A3以及B1-B2上均安装了MATLAB2014b和MATLAB2015a,说明MATLAB版本对结果没有影响。

A1-A3的系统分别为Windows 7, Windows Server 2008, Windows Server 2003;
B1-B2的系统分别为Windows 7, Windows 10;
都有win7,说明系统对结果应该没有影响。

但A1-A3与B1-B2的结果不同,说明机器对结果有影响?

调用fmincon的核心代码如下:
options=optimset('Algorithm','sqp','GradObj','off','GradConstr','off','TolCon',0,'Display','iter','TolFun',1e-4,'MaxFunEvals',50);
[X,FVAL,EXITFLAG,OUTPUT,LAMBDA,GRAD,HESSIAN]=fmincon(@myFun,x0,[],[],[],[],lb,ub,@mycon,options);

其中,@myFun为所求解函数的目标函数,@mycon为所求解函数的约束函数;lb,ub分别为自变量的下界和上届(lb=[0,0] ,ub=[3,4]).

初始解均为:[2.32952 3.17849]

两种结果如下
1)A1-A3上的运行结果如下:
                                                                                     Norm of First-order
   Iter      F-count     f(x)         Feasibility  Steplength       step            optimality
    0       3   -5.508010e+00   2.000e+00                                          1.000e+00
    1       6   -3.508006e+00   2.685e-08   1.000e+00   2.000e+00   2.000e+00
    2       9   -3.508013e+00   2.927e-12   1.000e+00   6.319e-06   1.000e+00
    3      12   -3.508013e+00   0.000e+00   1.000e+00   1.946e-12   1.279e-08

得到的解为:2.329520197477608   1.178493074117684
目标函数值是:-3.508013271595291


2)B1-B2的运行结果如下:
                                          
                                                                            Norm of First-order
Iter   F-count     f(x)        Feasibility  Steplength     step  optimality
    0       3   -5.508010e+00   2.000e+00                          1.000e+00
    1       6   -3.508006e+00   2.685e-08   1.000e+00   2.000e+00   2.000e+00
    2       9   -3.508013e+00   2.984e-12   1.000e+00   6.319e-06   1.694e+00
    3      12   -3.508013e+00   0.000e+00   1.000e+00   1.972e-12   1.179e-06

得到的解为:2.329520197477604   1.178493074117646
目标函数值是:-3.508013271595249。


求教大神,是否可能因为不同机器的浮点数运算部件不同导致会有最终结果有精度的差异?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ll550

木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
chenyangbu: 金币+1 2016-03-08 17:38:46
引用回帖:
10楼: Originally posted by chenyangbu at 2016-03-05 12:53:29
因为我的源码以后会公开,想让其他人可以完全重现我的论文~...

哥们儿,小数点后12位的差异

MATLAB采用的double来进行运算的,所以一般如果输入数据精度够的话,输出基本差别1e-12-1e-16.你这个完全是可以接受的。

这个是计算机本身精度的问题。

当然也有可能是你的输入数据精度不够导致的。

» 本帖已获得的红花(最新10朵)

livelong
12楼2016-03-05 13:22:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 18 个回答

chenyangbu

金虫 (著名写手)

另外,五台机器均为64位机器
2楼2016-03-04 21:39:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ll550

木虫 (职业作家)

livelong
3楼2016-03-04 22:49:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

人民海军

木虫 (职业作家)

操作系统是不是都64位的?

发自小木虫Android客户端
Letbygonesbebygones.
4楼2016-03-05 05:51:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 EZ67DG6CvcKL 2026-08-31 5/250 2026-09-01 05:45 by o3EMxHUAQDtS
[基金申请] 怎么看青基中了没有啊 +6 叶九微 2026-08-26 6/300 2026-08-31 23:54 by yudaoqian88
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[文学芳草园] 梦想 +5 myrtle 2026-08-26 5/250 2026-08-31 14:40 by hahaboy
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +6 gdd2018 2026-08-28 11/550 2026-08-30 08:58 by 超级无敌华子
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
信息提示
请填处理意见