QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3795|回复: 0
打印 上一主题 下一主题

Clapack包使用中数据类型的问题

[复制链接]
字体大小: 正常 放大

10

主题

5

听众

32

积分

升级  28.42%

  • TA的每日心情
    难过
    2012-9-12 20:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    新人进步奖

    群组狂热数模爱好者

    群组Matlab讨论组

    跳转到指定楼层
    1#
    发表于 2010-3-31 15:47 |只看该作者 |正序浏览
    |招呼Ta 关注Ta
    Clapack包是求解线性方程组的常用工具,根据要处理的数据类型不同,很多函数提供多种实现。5 O& Y& w5 C/ ]3 _8 ]. @7 N
    例如,对于线性最小二乘问题,min||Ax-b||,每种函数都有单精度、双精度的实现,如:Sgels/Dgels、Sgelsy/Dgelsy、Sgelss/Dgelss等,其中前缀S说明处理数据是单精度(float),前缀D说明处理数据是双精度(Double)。$ |7 o% ~5 {2 a2 x/ [
    经过使用发现,对于同样的数据,采用单精度、双精度表示后,使用对应的函数来计算,得到的结果有时不一样,不知道是什么原因。8 r! D% ^6 ]: {4 W
    对于这个问题,在其它地方也发现有问题,例如,清华大学出版社,徐士良编写的《C常用算法程序集(第二版)》里面介绍的很多算法,对应的代码都是double型,如果改为float类型后,即使方程规模很小(3、4个未知数),好多计算结果都不相同,某些结果甚至是错误的。7 O* l7 T4 D+ d) k4 n  S6 M
    采用相同的算法,为什么数据类型不同,差异就这么大,不知有谁可以解释一下!
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-11-12 01:55 , Processed in 0.574194 second(s), 52 queries .

    回顶部