fuzhan 发表于 2006-3-8 21:20:00

参数公式问题

<P>请教各位,如何设置公式才可将ddd3的计算结果可以一步到位,并且ddd3的值取整数及精确到十位,ddd是一个固定值,d0是草图中的一个尺寸。</P>
<P>现按我的做法经过几次计算才得了出ddd3,但我不会设置公式一次计算出来。</P>

woolf24 发表于 2006-3-9 01:12:00

1mm*round(15000000/((d0/1mm/2)^2*3.14)/10)*10

fuzhan 发表于 2006-3-9 09:01:00

多谢woolf24,可以了,但理解不了这条计算公式,我应该从什么地方可以学习到?

woolf24 发表于 2006-3-9 19:49:00

<P>楼主的题目要求表达式数值的精度在小数点前第二位。因此需要用到舍入函数,也就是通常意义上的四舍五入。round就是这样的函数。例如:ruond(3.4)=3,round(3.8)=4。但是这个函数仅仅对第一位小数进行取舍。 如果要求保留小数点后第二位如何处理,请看下面的例子:</P>
<P>3.746~=3.75</P>
<P>/100=/100=/100=3.75&nbsp;&nbsp;&nbsp;&nbsp; 其他依此类推。</P>
<P>如果取小数点前第二位,要将乘除号颠倒一下,例如:</P>
<P>3746~=3750</P>
<P>*10=*10=*10=3750</P>
<P>这是编程时常用的一种数值取舍方法。任何一本算法语言的书中都有介绍。找本basic语言的通俗读物,所有的函数及其用法都有。AIP所采用的算法语言函数类型可在“帮助”中找到。</P>
<P>但是在AIP中,涉及到单位问题。它还有个特殊的要求,round函数内的表达式应是无参量,因此首先要消除其他变量带进来的单位。楼主题目中d0单位为mm,因此首先要消除单位:d0/1mm。但是为了使最后的计算结果与前面单位中规定的mm相符,因此round计算完成后,再乘1mm,将数值赋予单位。</P>
<P>严格说来AIP中对单位运算的处理能力不够理想。个人感觉单位运算能力较好的应算mathcad .</P>
<P>&nbsp;</P>
<P>&nbsp;</P>

sixsixsix 发表于 2006-3-9 20:26:00

<P>本站有过讨论——</P>
<P><A href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=42340" target="_blank" >http://bbs.mjtd.com/forum.php?mod=viewthread&tid=42340</A></P>

guanbo1967 发表于 2006-3-10 09:22:00

<A name=2077><FONT color=#000066><B>woolf24</B></FONT></A>是热心人,欣赏之!

o_o 发表于 2006-3-11 09:02:00

<P>这里高手真多</P>
页: [1]
查看完整版本: 参数公式问题