产品
产品概览
Mathematica
Mathematica 学生版
Mathematica Home Edition
Wolfram
CDF Player
(免费下载)
可计算文档格式(CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Wolfram
SystemModeler
Wolfram
Finance Platform
Mathematica
附加程序包
Wolfram|Alpha 产品
解决方案
解决方案概览
工程
航空航天与国防
化学工程
控制系统
电气工程
图像处理
工业工程
材料科学
机械工程
运筹学
光学
石油工程
生物技术与医药
生物信息学
医学影像
金融、统计、商业分析
精算科学
数据分析与挖掘
计量经济学
经济学
金融工程与数学
金融风险管理
统计
软件工程、内容传递
创作与出版
界面开发
软件工程
网页开发
科学
天文学
生物科学
化学
环境科学
地球科学
社会与行为科学
设计、艺术以及娱乐
游戏设计、特殊效果及衍生艺术
教育
STEM 教育倡议
高等教育
高职高专院校
中小学教育
学生
科技
可计算文档格式(CDF)
高性能并行计算(HPC)
参见:技术指南
购买
网上商店
其它购买方式
批量许可及站点许可证
联络销售部
软件
服务
升级
培训
书籍
Merchandise
技术支持
技术支持概览
Mathematica
参考资料
知识库
学习中心
技术服务
社区与论坛
培训
查看站点是否有许可证授权
Wolfram 用户门户
公司概况
关于 Wolfram Research
新闻
活动
Wolfram 博客
合作伙伴
工作机会
Mathematica
的历史
Stephen Wolfram 主页
联系我们
公司网站
全部站点
Wolfram|Alpha
演示项目
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER
FOR THE LATEST INFORMATION.
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
数学和算法
>
数值计算和精度
>
N
>
MATHEMATICA 内置符号
数值运算
精确和近似结果
任意精度的计算
数值精度
任意精度的数
定义数量值
教程 »
|
Chop
CompiledFunction
Rationalize
MachinePrecision
NHoldAll
RealDigits
PossibleZeroQ
参见 »
|
数字显示
数值计算和精度
精度和准确度控制
更多关于 »
N
N
[
expr
]
给出
expr
的数值值.
N
尝试给出具有
n
位精度的结果.
更多信息
除非
expr
中的数是精确的,或者具有足够高的精度,否则
N
可能无法给出具有
n
位精度的结果.
N
可能在内部计算时会超过
n
位精度.
$MaxExtraPrecision
指定将会在内部使用到的最大超额精度.
精度
n
以 10 进制数给出;它不必是一个整数.
n
必须在
$MinPrecision
和
$MaxPrecision
之间.
$MaxPrecision
可以被设置为
Infinity
.
n
可以小于
$MachinePrecision
.
N
[
expr
]
给出一个机器精度数,只要它的大小在
$MinMachineNumber
和
$MaxMachineNumber
之间.
N
[
expr
]
等价于
N
[
expr
,
MachinePrecision
]
.
N
给出具有机器精度的数
.
N
将所有非零数转化为
Real
或
Complex
形式.
N
把它所遇到的任何函数的每个参数依次转换成数值形式,除非该函数的头具有一个诸如
NHoldAll
的属性.
你可以使用
N
[
f
[
args
]]:=
value
和
N
[
f
[
args
],
n
]:=
value
来定义函数的数值值.
N
尽可能产生精度最多
p
、准确度最多
a
的结果.
N
[
expr
, {
Infinity
,
a
}]
尽可能产生准确度
a
的结果.
N
[
expr
, {
Infinity
, 1}]
尽可能求出
expr
整数部分的近似值.
范例
关闭所有单元
例
(3)
数值运算:
50 位精度的数值运算:
队机器精度的输入,结果总是机器精度:
对精确的输入,结果可以达到指定的精度:
数值运算:
In[1]:=
Out[1]=
50 位精度的数值运算:
In[1]:=
Out[1]=
队机器精度的输入,结果总是机器精度:
In[1]:=
Out[1]=
对精确的输入,结果可以达到指定的精度:
In[2]:=
Out[2]=
范围
(20)
将数学常数计算到任意精度:
大型整数的近似值:
复数结果:
用
NumericQ
可以检验更复杂一些的符号式数学常量:
在通常情况下,
NumericQ
表达式表示可以计算到任意精度的数:
数值计算矩阵元:
数值计算符号表达式的数值部分:
将多项式系数变为数值值:
N
[
e
]
通常用机器数替代并计算结果:
这等价于机器数的表达式:
在差商误差的对数-对数图上可清楚显示机器舍入误差:
当
p
不是
MachinePrecision
时,
N
用任意精度数自适应地进行计算:
用自适应精度,差商误差与理论值匹配:
自适应精度控制对超额精度有一个默认的界限,
$MaxExtraPrecision
:
达到界限时,您可以增加
$MaxExtraPrecision
来解决问题:
N
不会提高输入中近似数的精度:
结果的精度和输入相同:
您可以用
SetPrecision
增加输入表达式的精度:
N
不会影响明确的数值幂:
但会改变底数:
如果幂不是
NumericQ
,它会改变:
对
SparseArray
对象的处理是以所表示的数组为基础的:
通常,
N
[
Normal
[
s
]]
恒等于
Normal
:
类似
InterpolatingFunction
的数据对象有特定的规则以使得仅仅数据受到影响:
仅对相关的数据做了改变,新函数用机器数:
类似
Integrate
的运算适当时用相应
N
-函数:
下面用
NIntegrate
:
对于较高的精度需求,数值算法花费较多的时间或需要调整:
在这个例子中,直接使用
NIntegrate
或许更好一些:
对多数表达式,
N
影响
FullForm
形式中的树:
出现在
之前起因于
的表示方式:
中的整数转换为机器数:
用
NHoldAll
属性避免一个加指标变量受到
N
的影响:
此时
N
仅影响系数:
若没有这个设置,
N
同时影响到指标:
定义一个等于
的数值常量:
在精确符号表达式中,常量不计算:
在
N
中则计算:
加一个对任意精度或准确度都适用的定义:
以准确度 20 数值计算一个表达式:
定义一个函数,表示实数根
,其中
为正,
为正整数:
用
NHoldRest
避免它的第二个自变量转换为实数:
2 的立方根的精确表示:
机器数近似值:
47 位数的近似值:
定义一个数据对象,以稀疏形式
表示一个多项式
:
注意要确保
N
仅影响系数,而不是幂:
要使规则有效,需要阻止默认对参变量的
N
计算:
多项式
的表示:
获得具有近似实数系数的表示:
在
处的计算:
推广和延伸
(3)
5 位数准确度和任意精度:
1 位准确度,仅对应整数部分:
获得 20 位精度或 30 位准确度:
属性和关系
(3)
N
[
e
]
的结果通常有精度
MachinePrecision
:
如果结果对于机器数来说过大,精度可能不同:
N
的结果通常有
Precision
等于
p
:
如果不能达到,
Mathematica
将给出信息:
通常增加
$MaxExtraPrecision
将解决这个问题:
对于隐藏的零,不能达到正精度,因此您需要使用准确度:
N
的结果通常有
Accuracy
等于
a
:
如果不能达到,
Mathematica
将给出信息:
通常增加
$MaxExtraPrecision
将解决这一问题:
巧妙范例
(1)
的位数的一个展示:
参见
Chop
CompiledFunction
Rationalize
MachinePrecision
NHoldAll
RealDigits
PossibleZeroQ
教程
数值运算
精确和近似结果
任意精度的计算
数值精度
任意精度的数
定义数量值
更多关于
数字显示
数值计算和精度
精度和准确度控制
相关链接
关于内部实现的一些注释: 数值及相关函数
版本 1 的新功能 | 版本 5 修改功能