看帖神器
未名空间
追帖动态
头条新闻
每日新帖
最新热帖
新闻存档
热帖存档
文学城
虎扑论坛
未名空间
北美华人网
北美微论坛
看帖神器
登录
← 下载
《看帖神器》官方
iOS App
,体验轻松追帖。
有微软码工吗?解释一下EXCEL里sin(pi())为啥不是零? (转载)
查看未名空间今日新帖
最新回复:2021年10月28日 5点7分 PT
共 (39) 楼
返回列表
订阅追帖
只看未读
更多选项
阅读全帖
只看图片
只看视频
查看原帖
z
zeami
大约 3 年
楼主 (未名空间)
【 以下文字转载自 Military 讨论区 】
发信人: srx (srx), 信区: Military
标 题: 有微软码工吗?解释一下EXCEL里sin(pi())为啥不是零?
发信站: BBS 未名空间站 (Wed Oct 27 11:47:38 2021, 美东)
你这误差有点大啊,excel到底能不能当作严肃的计算工具啊?
z
zeami
大约 3 年
2 楼
1.22515e-16
【 在 zeami (贼阿米) 的大作中提到: 】
: 【 以下文字转载自 Military 讨论区 】
: 发信人: srx (srx), 信区: Military
: 标 题: 有微软码工吗?解释一下EXCEL里sin(pi())为啥不是零?
: 发信站: BBS 未名空间站 (Wed Oct 27 11:47:38 2021, 美东)
: 你这误差有点大啊,excel到底能不能当作严肃的计算工具啊?
z
zeami
大约 3 年
3 楼
叔真无聊。机器没睡就试了一下
【 在 zeami (贼阿米) 的大作中提到: 】
: 1.22515e-16
B
BroPingtou
大约 3 年
4 楼
跟Lambda比确实误差大了点
【 在 zeami (贼阿米) 的大作中提到: 】
: 1.22515e-16
z
zeami
大约 3 年
5 楼
闲着也是闲着。去试下LibreOffice
【 在 BroPingtou (ǢŦĦȆȐ) 的大作中提到: 】
: 跟Lambda比确实误差大了点
z
zeami
大约 3 年
6 楼
呃。手提上居然没装。看来是上周在工地用的
【 在 zeami (贼阿米) 的大作中提到: 】
: 闲着也是闲着。去试下LibreOffice
B
BroPingtou
大约 3 年
7 楼
我的表格都用gdocs了
【 在 zeami (贼阿米) 的大作中提到: 】
: 闲着也是闲着。去试下LibreOffice
z
zeami
大约 3 年
8 楼
啥协议?GPL的几个协议我都读过,装工地机没问题
【 在 BroPingtou (ǢŦĦȆȐ) 的大作中提到: 】
: 我的表格都用gdocs了
z
zeami
大约 3 年
9 楼
感觉称协议不妥。应该问啥条款?
还是执照条款?糊涂了
【 在 zeami (贼阿米) 的大作中提到: 】
: 啥协议?GPL的几个协议我都读过,装工地机没问题
B
BroPingtou
大约 3 年
10 楼
这不省事儿吗,开个网页就能淦
【 在 zeami (贼阿米) 的大作中提到: 】
: 啥协议?GPL的几个协议我都读过,装工地机没问题
H
Huangchong
大约 3 年
11 楼
双精度 可不就是15-16位吗
【 在 zeami (贼阿米) 的大作中提到: 】
: 1.22515e-16
z
zeami
大约 3 年
12 楼
网页的条款一般都是你给的数据都是伊的财产了
【 在 BroPingtou (ǢŦĦȆȐ) 的大作中提到: 】
: 这不省事儿吗,开个网页就能淦
H
Huangchong
大约 3 年
13 楼
每次都忘了这字念干 心想: 操?搞?日?neng4?
【 在 BroPingtou (0803030303) 的大作中提到: 】
: 这不省事儿吗,开个网页就能淦
z
zeami
大约 3 年
14 楼
问题是为毛需要写sin(pi())。。
而且既然写的内参pi()确实该出零
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 双精度 可不就是15-16位吗
z
zeami
大约 3 年
15 楼
以为念qin1
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 每次都忘了这字念干
H
Huangchong
大约 3 年
16 楼
一般编程语言应该也给有误差的结果吧 我拿python试了 也是1.22e-16
sage math 倒是会给个0
但是sage也有它自己的特色
比如输入 sin(0.99999999999999*pi()) 9足够多的话 会自动变成sin(1.
00000000000*pi())
【 在 zeami (贼阿米) 的大作中提到: 】
: 问题是为毛需要写sin(pi())。。
: 而且既然写的内参pi()确实该出零
H
Huangchong
大约 3 年
17 楼
sage math
如果打 sin(pi) 或者 sin(1*pi)会给出0
如果打 numerical_approx(sin(1.0*pi) )还是会给出1.22e-16
numerical_approx是必须的 不然只会输出算式
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 一般编程语言应该也给有误差的结果吧 我拿python试了 也是1.22e-16
: sage math 倒是会给个0
: 但是sage也有它自己的特色
: 比如输入 sin(0.99999999999999*pi()) 9足够多的话 会自动变成sin(1.
: 00000000000*pi())
z
zeami
大约 3 年
18 楼
用math.pi呢?
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 一般编程语言应该也给有误差的结果吧 我拿python试了 也是1.22e-16
: sage math 倒是会给个0
: 但是sage也有它自己的特色
: 比如输入 sin(0.99999999999999*pi()) 9足够多的话 会自动变成sin(1.
: 00000000000*pi())
z
zeami
大约 3 年
19 楼
那内参还是零。浮点算下确实没法零
【 在 Huangchong (净坛使者) 的大作中提到: 】
: sage math
: 如果打 sin(pi) 或者 sin(1*pi)会给出0
: 如果打 numerical_approx(sin(1.000000000000*pi) )还是会给出1.22e-16
: numerical_approx是必须的 不然只会输出算式
z
zeami
大约 3 年
20 楼
sage是毛骚操作,还没用过
【 在 zeami (贼阿米) 的大作中提到: 】
: 那内参还是零。浮点算下确实没法零
H
Huangchong
大约 3 年
21 楼
python就是用math.pi
np.sin (no.pi) 也是一样的
这种行为应该是程序员预期的 如果真的给0 可能还不好
【 在 zeami (贼阿米) 的大作中提到: 】
: 用math.pi呢?
z
zeami
大约 3 年
22 楼
hmmmm,我会写成np.sin(math.pi)
【 在 Huangchong (净坛使者) 的大作中提到: 】
: python就是用math.pi
: np.sin (no.pi) 也是一样的
: 这种行为应该是程序员预期的 如果真的给0 可能还不好
d
dakedo
大约 3 年
23 楼
Matlab也这精度啊
问题不大
【 在 zeami (贼阿米) 的大作中提到: 】
: 发信人: srx (srx), 信区: Military
: 标 题: 有微软码工吗?解释一下EXCEL里sin(pi())为啥不是零?
: 发信站: BBS 未名空间站 (Wed Oct 27 11:47:38 2021, 美东)
: 你这误差有点大啊,excel到底能不能当作严肃的计算工具啊?
H
Huangchong
大约 3 年
24 楼
sage允许任意精度运算
比如输入
numerical_approx(sin(1.0*pi),100) 就可以得1.69..e-31
如果把精度改成1000就得 1.25….e-301 估计精度就是二进制浮点数的mantissa位数
:
普通双精度数是52位mantissa 2^(-52)=2.22e-16
如果1000位 正好就是 2^(-1000)=9.33e-302
【 在 zeami (贼阿米) 的大作中提到: 】
: sage是毛骚操作,还没用过
H
Huangchong
大约 3 年
25 楼
估计是一回事 np.pi 和math.pi 无非就是存了个浮点数 还没山巅一寺一壶酒….
乐尔乐位数多
【 在 zeami (贼阿米) 的大作中提到: 】
: hmmmm,我会写成np.sin(math.pi)
z
zeami
大约 3 年
26 楼
以前算阀出来的谐震波才需要写角度
而且数据输出只写四个浮点
从来没考虑过这问题
【 在 dakedo (大蝌蚪) 的大作中提到: 】
: Matlab也这精度啊
: 问题不大
z
zeami
大约 3 年
27 楼
学到了。用不到
【 在 Huangchong (净坛使者) 的大作中提到: 】
: sage允许任意精度运算
: 比如输入
: numerical_approx(sin(1.0*pi),100) 就可以得1.69..e-31
: 如果把精度改成1000就得 1.25….e-301 估计精度就是二进制浮点数的mantissa位数
: :
: 普通双精度数是52位mantissa 2^(-52)=2.22e-16
: 如果1000位 正好就是 2^(-1000)=9.33e-302
a
andrewaa
大约 3 年
28 楼
excel最令人发指的是不遵守数学规范
你可以去试试-2^2
H
Huangchong
大约 3 年
29 楼
果然 我在python里打山巅….乐尔乐 它只能记住16位
sage倒是可以记住22位 只是把末尾自动四舍五入而已
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 估计是一回事 np.pi 和math.pi 无非就是存了个浮点数 还没山巅一寺一壶酒….
: 乐尔乐位数多
z
zeami
大约 3 年
30 楼
谐振。现在随手都是错别字
【 在 zeami (贼阿米) 的大作中提到: 】
: 以前算阀出来的谐震波才需要写角度
: 而且数据输出只写四个浮点
: 从来没考虑过这问题
z
zeami
大约 3 年
31 楼
黄总您为毛需要辣摸多位啊
切四位差不多得了
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 果然 我在python里打山巅….乐尔乐 它只能记住16位
: sage倒是可以记住22位 只是把末尾自动四舍五入而已
z
zeami
大约 3 年
32 楼
猜出来(-2)^2 ?
否则可能需要写成-1*2^2 ?
【 在 andrewaa (AndrewAA) 的大作中提到: 】
: excel最令人发指的是不遵守数学规范
: 你可以去试试-2^2
H
Huangchong
大约 3 年
33 楼
似乎银行需要任意精度运算 比如贝索斯的钱换成委内瑞拉元就需要:
2e11 x 4e6
【 在 zeami (贼阿米) 的大作中提到: 】
: 学到了。用不到
z
zeami
大约 3 年
34 楼
叔持委内瑞拉元,咋整都差不多
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 似乎银行需要任意精度运算 比如贝索斯的钱换成委内瑞拉元就需要:
: 2e11 x 4e6
H
Huangchong
大约 3 年
35 楼
libreoffice也是
【 在 andrewaa (AndrewAA) 的大作中提到: 】
: excel最令人发指的是不遵守数学规范
: 你可以去试试-2^2
z
zeami
大约 3 年
36 楼
明天上工时间装一个,能打发五分钟
【 在 Huangchong (净坛使者) 的大作中提到: 】
: libreoffice也是
z
zeami
大约 3 年
37 楼
想起来了,当年切四个点是输入永远写成一
然后另外再整体处理数据
这样不容易出错
【 在 zeami (贼阿米) 的大作中提到: 】
: 黄总您为毛需要辣摸多位啊
: 切四位差不多得了
c
codeplay
大约 3 年
38 楼
上Julia的sinpi(1)
p
pinfish
大约 3 年
39 楼
这说明用的是机械的浮点,没有整那种所谓任意精度的花活
一般普通计算没问题
数值模拟很多时候都手动设个ZERO 一般也就e-8 e-10
请输入帖子链接
收藏帖子
【 以下文字转载自 Military 讨论区 】
发信人: srx (srx), 信区: Military
标 题: 有微软码工吗?解释一下EXCEL里sin(pi())为啥不是零?
发信站: BBS 未名空间站 (Wed Oct 27 11:47:38 2021, 美东)
你这误差有点大啊,excel到底能不能当作严肃的计算工具啊?
1.22515e-16
【 在 zeami (贼阿米) 的大作中提到: 】
: 【 以下文字转载自 Military 讨论区 】
: 发信人: srx (srx), 信区: Military
: 标 题: 有微软码工吗?解释一下EXCEL里sin(pi())为啥不是零?
: 发信站: BBS 未名空间站 (Wed Oct 27 11:47:38 2021, 美东)
: 你这误差有点大啊,excel到底能不能当作严肃的计算工具啊?
叔真无聊。机器没睡就试了一下
【 在 zeami (贼阿米) 的大作中提到: 】
: 1.22515e-16
跟Lambda比确实误差大了点
【 在 zeami (贼阿米) 的大作中提到: 】
: 1.22515e-16
闲着也是闲着。去试下LibreOffice
【 在 BroPingtou (ǢŦĦȆȐ) 的大作中提到: 】
: 跟Lambda比确实误差大了点
呃。手提上居然没装。看来是上周在工地用的
【 在 zeami (贼阿米) 的大作中提到: 】
: 闲着也是闲着。去试下LibreOffice
我的表格都用gdocs了
【 在 zeami (贼阿米) 的大作中提到: 】
: 闲着也是闲着。去试下LibreOffice
啥协议?GPL的几个协议我都读过,装工地机没问题
【 在 BroPingtou (ǢŦĦȆȐ) 的大作中提到: 】
: 我的表格都用gdocs了
感觉称协议不妥。应该问啥条款?
还是执照条款?糊涂了
【 在 zeami (贼阿米) 的大作中提到: 】
: 啥协议?GPL的几个协议我都读过,装工地机没问题
这不省事儿吗,开个网页就能淦
【 在 zeami (贼阿米) 的大作中提到: 】
: 啥协议?GPL的几个协议我都读过,装工地机没问题
双精度 可不就是15-16位吗
【 在 zeami (贼阿米) 的大作中提到: 】
: 1.22515e-16
网页的条款一般都是你给的数据都是伊的财产了
【 在 BroPingtou (ǢŦĦȆȐ) 的大作中提到: 】
: 这不省事儿吗,开个网页就能淦
每次都忘了这字念干 心想: 操?搞?日?neng4?
【 在 BroPingtou (0803030303) 的大作中提到: 】
: 这不省事儿吗,开个网页就能淦
问题是为毛需要写sin(pi())。。
而且既然写的内参pi()确实该出零
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 双精度 可不就是15-16位吗
以为念qin1
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 每次都忘了这字念干
一般编程语言应该也给有误差的结果吧 我拿python试了 也是1.22e-16
sage math 倒是会给个0
但是sage也有它自己的特色
比如输入 sin(0.99999999999999*pi()) 9足够多的话 会自动变成sin(1.
00000000000*pi())
【 在 zeami (贼阿米) 的大作中提到: 】
: 问题是为毛需要写sin(pi())。。
: 而且既然写的内参pi()确实该出零
sage math
如果打 sin(pi) 或者 sin(1*pi)会给出0
如果打 numerical_approx(sin(1.0*pi) )还是会给出1.22e-16
numerical_approx是必须的 不然只会输出算式
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 一般编程语言应该也给有误差的结果吧 我拿python试了 也是1.22e-16
: sage math 倒是会给个0
: 但是sage也有它自己的特色
: 比如输入 sin(0.99999999999999*pi()) 9足够多的话 会自动变成sin(1.
: 00000000000*pi())
用math.pi呢?
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 一般编程语言应该也给有误差的结果吧 我拿python试了 也是1.22e-16
: sage math 倒是会给个0
: 但是sage也有它自己的特色
: 比如输入 sin(0.99999999999999*pi()) 9足够多的话 会自动变成sin(1.
: 00000000000*pi())
那内参还是零。浮点算下确实没法零
【 在 Huangchong (净坛使者) 的大作中提到: 】
: sage math
: 如果打 sin(pi) 或者 sin(1*pi)会给出0
: 如果打 numerical_approx(sin(1.000000000000*pi) )还是会给出1.22e-16
: numerical_approx是必须的 不然只会输出算式
sage是毛骚操作,还没用过
【 在 zeami (贼阿米) 的大作中提到: 】
: 那内参还是零。浮点算下确实没法零
python就是用math.pi
np.sin (no.pi) 也是一样的
这种行为应该是程序员预期的 如果真的给0 可能还不好
【 在 zeami (贼阿米) 的大作中提到: 】
: 用math.pi呢?
hmmmm,我会写成np.sin(math.pi)
【 在 Huangchong (净坛使者) 的大作中提到: 】
: python就是用math.pi
: np.sin (no.pi) 也是一样的
: 这种行为应该是程序员预期的 如果真的给0 可能还不好
Matlab也这精度啊
问题不大
【 在 zeami (贼阿米) 的大作中提到: 】
: 发信人: srx (srx), 信区: Military
: 标 题: 有微软码工吗?解释一下EXCEL里sin(pi())为啥不是零?
: 发信站: BBS 未名空间站 (Wed Oct 27 11:47:38 2021, 美东)
: 你这误差有点大啊,excel到底能不能当作严肃的计算工具啊?
sage允许任意精度运算
比如输入
numerical_approx(sin(1.0*pi),100) 就可以得1.69..e-31
如果把精度改成1000就得 1.25….e-301 估计精度就是二进制浮点数的mantissa位数
:
普通双精度数是52位mantissa 2^(-52)=2.22e-16
如果1000位 正好就是 2^(-1000)=9.33e-302
【 在 zeami (贼阿米) 的大作中提到: 】
: sage是毛骚操作,还没用过
估计是一回事 np.pi 和math.pi 无非就是存了个浮点数 还没山巅一寺一壶酒….
乐尔乐位数多
【 在 zeami (贼阿米) 的大作中提到: 】
: hmmmm,我会写成np.sin(math.pi)
以前算阀出来的谐震波才需要写角度
而且数据输出只写四个浮点
从来没考虑过这问题
【 在 dakedo (大蝌蚪) 的大作中提到: 】
: Matlab也这精度啊
: 问题不大
学到了。用不到
【 在 Huangchong (净坛使者) 的大作中提到: 】
: sage允许任意精度运算
: 比如输入
: numerical_approx(sin(1.0*pi),100) 就可以得1.69..e-31
: 如果把精度改成1000就得 1.25….e-301 估计精度就是二进制浮点数的mantissa位数
: :
: 普通双精度数是52位mantissa 2^(-52)=2.22e-16
: 如果1000位 正好就是 2^(-1000)=9.33e-302
excel最令人发指的是不遵守数学规范
你可以去试试-2^2
果然 我在python里打山巅….乐尔乐 它只能记住16位
sage倒是可以记住22位 只是把末尾自动四舍五入而已
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 估计是一回事 np.pi 和math.pi 无非就是存了个浮点数 还没山巅一寺一壶酒….
: 乐尔乐位数多
谐振。现在随手都是错别字
【 在 zeami (贼阿米) 的大作中提到: 】
: 以前算阀出来的谐震波才需要写角度
: 而且数据输出只写四个浮点
: 从来没考虑过这问题
黄总您为毛需要辣摸多位啊
切四位差不多得了
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 果然 我在python里打山巅….乐尔乐 它只能记住16位
: sage倒是可以记住22位 只是把末尾自动四舍五入而已
猜出来(-2)^2 ?
否则可能需要写成-1*2^2 ?
【 在 andrewaa (AndrewAA) 的大作中提到: 】
: excel最令人发指的是不遵守数学规范
: 你可以去试试-2^2
似乎银行需要任意精度运算 比如贝索斯的钱换成委内瑞拉元就需要:
2e11 x 4e6
【 在 zeami (贼阿米) 的大作中提到: 】
: 学到了。用不到
叔持委内瑞拉元,咋整都差不多
【 在 Huangchong (净坛使者) 的大作中提到: 】
: 似乎银行需要任意精度运算 比如贝索斯的钱换成委内瑞拉元就需要:
: 2e11 x 4e6
libreoffice也是
【 在 andrewaa (AndrewAA) 的大作中提到: 】
: excel最令人发指的是不遵守数学规范
: 你可以去试试-2^2
明天上工时间装一个,能打发五分钟
【 在 Huangchong (净坛使者) 的大作中提到: 】
: libreoffice也是
想起来了,当年切四个点是输入永远写成一
然后另外再整体处理数据
这样不容易出错
【 在 zeami (贼阿米) 的大作中提到: 】
: 黄总您为毛需要辣摸多位啊
: 切四位差不多得了
上Julia的sinpi(1)
这说明用的是机械的浮点,没有整那种所谓任意精度的花活
一般普通计算没问题
数值模拟很多时候都手动设个ZERO 一般也就e-8 e-10