如何让MATLAB中sin(pi)=0?
请教各位大神一个问题:如何让MATLAB中sin(pi)=0?我在MATLAB中输入sin(pi)后的结果为1.224646799147353e-016,请问如何令其在MATLAB中计算的结果为0呢?
说明:我不是没事找事问这个问题,我是必须让其为0。因为我在编程计算的时候矩阵中有km*sin(pi),其中km的数量级为10^8,这样计算的结果数量级为10^9,在计算矩阵特征值的时候会出现问题。所以我希望令sin(pi)为0。
还望各位大神给予指点。在此先谢过各位!
sind(180) ??? ChaChing 发表于 2013-8-25 00:36 static/image/common/back.gif
sind(180) ???
非常感谢! sleepinglion 发表于 2013-8-25 12:05 static/image/common/back.gif
非常感谢!
真正的圆周率是无理数, 所以pi(数值)本就是近似值!
其实个人比较不解且好奇的是原问题, 为何10^-16还不够小??? 我好奇的试了一下,还真是的。
这科研这么精确啊。 ChaChing 发表于 2013-8-25 23:49 static/image/common/back.gif
真正的圆周率是无理数, 所以pi(数值)本就是近似值!
其实个人比较不解且好奇的是原问题, 为何10^-16还不够 ...
因为我后面还得用10^-16乘以一个10^9的数。 zswseu 发表于 2013-8-26 00:20 static/image/common/back.gif
我好奇的试了一下,还真是的。
这科研这么精确啊。
我只是不想因为这一点的数值误差影响我后面的运算。呵呵…… sleepinglion 发表于 2013-8-26 11:38 static/image/common/back.gif
我只是不想因为这一点的数值误差影响我后面的运算。呵呵……
我很好奇,如果你还用到e,g,c等等常数,那得取多少位啊。
像你pi的取值,到最后结果再代入不好么。中间过程截断误差会不断累积的。 我想到了两种方法:
(1)楼主直接把式子里的sin(pi)换成0
(2)在sin(pi)外面再加一个fix,即fix(sin(pi)),让sin(pi)的结果向0取整,自然就是0了。
不知道这两种方法是否可行?{:{03}:} 米斯兰达 发表于 2013-8-27 07:50 static/image/common/back.gif
我想到了两种方法:
(1)楼主直接把式子里的sin(pi)换成0
(2)在sin(pi)外面再加一个fix,即fix(sin(pi ...
好奇问下! 怎麼利用fix函数?
个人以为不够完善, 因为fix(sin(pi/6))亦会向0取整 米斯兰达 发表于 2013-8-27 07:50 static/image/common/back.gif
我想到了两种方法:
(1)楼主直接把式子里的sin(pi)换成0
(2)在sin(pi)外面再加一个fix,即fix(sin(pi ...
谢谢你的回复!不过,fix是直接去掉小数点的,那么0.5也会变成0的。这个不是我所希望看到的。 sleepinglion 发表于 2013-8-28 15:31 static/image/common/back.gif
谢谢你的回复!不过,fix是直接去掉小数点的,那么0.5也会变成0的。这个不是我所希望看到的。
这种方法仅针对sin(pi)不等于0有用
matlab里面 实际上是用eps来代表无穷小的 这个值似乎是可以自行设置的
你可以查一查 把它设置的更小一些 米斯兰达 发表于 2013-8-28 16:31 static/image/common/back.gif
这种方法仅针对sin(pi)不等于0有用
matlab里面 实际上是用eps来代表无穷小的 这个值似乎是可以自行设置的 ...
好的。非常感谢! 本帖最后由 ChaChing 于 2013-8-30 00:04 编辑
matlab里面 实际上是用eps来代表无穷小的 这个值似乎是可以自行设置的
你可以查一查 把它设置的更小一些汗! 个人水平有限, 不甚了解大侠的意思
无穷小好像realmin比较像些!?
另自行设置, 有何目的及用途!?
好奇学习下, 再看下help说明, 还未能解惑 ChaChing 发表于 2013-8-30 00:03 static/image/common/back.gif
汗! 个人水平有限, 不甚了解大侠的意思
无穷小好像realmin比较像些!?
不好意思 可能是我信口开河了 只是为了给楼主提供一个思路
大概记得原来看过 matlab里面用eps代表计算精度 eps是一个很小的数 但不是0
原来计算的时候 为了防止分母为0 就给每个数都加上一个eps
PS:元老 我错了 我再去查查
页:
[1]
2