起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 184|回复: 16

【结贴】[请求]在运算时发生的问题**

[复制链接]
发表于 2008-4-17 22:11:02 | 显示全部楼层 |阅读模式
请教各位个问题:
我程序在执行到这条语句的时候报错,想请教下谁能看出来问题。

YFirst := (1 / (G2 * Pai * FC)) * (system.math.exp(-(((XFirst - XP) * (XFirst - XP)) / (2 * FC * FC))));

里面的 XP, FC, G2, Pai,,XFirst我用float和double型都试过了,但是都出现下面这个错误



下面的是各个参数在执行到这部之前的赋值情况
回复

使用道具 举报

发表于 2008-4-18 08:44:43 | 显示全部楼层
楼主把这个长的式子拆成若干个。这样测起来就比较容易找到错误。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-18 13:48:34 | 显示全部楼层
我拆开了:
y1 := 1/(G2*Pai*FC);
y2 :=-(((XFirst - XP) * (XFirst - XP)) / (2 * FC * FC));
y3 :=  system.math.exp(y2);
YFirst := y1*y3;
问题在第三步,把y2的值赋到system.math.exp中后,走到y3就出问题了,我y2的值是
-13.9755351390219,是double型的,为什么在这步会出问题啊,是不是system.math.exp()要求的类型不符,我看帮助里好像里面的值也是double型的吧。
回复 支持 反对

使用道具 举报

发表于 2008-4-18 14:32:20 | 显示全部楼层
楼主让我测试下是什么错误。
回复 支持 反对

使用道具 举报

发表于 2008-4-18 14:53:39 | 显示全部楼层
楼主,平台里面这个函数不能用。当作第三方组件做进来吧。具体看看alang的分享贴。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-18 15:17:47 | 显示全部楼层
做第三方组件是不是只能用delphi+sp2,
delphi7可以吗?
回复 支持 反对

使用道具 举报

发表于 2008-4-18 15:20:30 | 显示全部楼层
delphi6+sp2  严格要求是这个
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-18 15:51:20 | 显示全部楼层
您5楼说到的“alang的分享贴”,能给个地址吗?
回复 支持 反对

使用道具 举报

发表于 2008-4-18 16:03:41 | 显示全部楼层
关键字  导入   用户名  alang
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-20 00:34:30 | 显示全部楼层
第三方组件的帖子我找到了,请您在提供一下exp()函数的相关组件,谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-11 02:17 , Processed in 0.040970 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表