产品
产品概览
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
>
核心语言
>
定义变量和函数
>
赋值
>
Set (=)
>
MATHEMATICA 内置符号
符号的值
定义带标号的对象
立即定义和延时定义
纯函数和规则中的变量
教程 »
|
SetDelayed
TagSet
Increment
Decrement
AddTo
TimesBy
Unset
Clear
HoldPattern
DownValues
Replace
Dynamic
Setter
参见 »
|
赋值
语言概述
向量操作
过程式编程
规则与模式
作用域结构
Mathematica 语法
定义变量和函数
更多关于 »
Set
计算
rhs
并把结果赋给
lhs
.
lhs
将总是被
rhs
替换.
计算
,并将结果赋给对应的
.
更多信息
lhs
可以是任何表达式,包括一个模式.
是一个模式的典型赋值. 注意,
出现在左边,而不是右边.
形如
的赋值建立与符号
f
相联系的变换法则上.
与一个特定符号相联系的不同规则通常按给出的顺序放置. 如果给出的一个新规则确实比存在的规则更具体,它当然放在它们之前. 这些规则在被使用时将按顺序被检测.
»
具有相等
lhs
的新赋值将屏蔽旧的赋值.
»
您可以用
?
f
或
Definition
[
f
]
查看与符号
f
相关的所有赋值.
如果要对具有像
Flat
和
Orderless
属性的函数赋值,你必须在赋值之前确保要设置这些属性.
Set
具有属性
HoldFirst
.
如果
lhs
具有
形式,则计算
args
.
»
对某些函数赋予
时,该赋值将自动与
f
相联系,而不是
s
. 这些函数包括:
Attributes
,
Default
,
Format
,
MessageName
,
Messages
,
N
和
Options
.
»
当它出现在一个未计算的符号形式中时,
Set
被视为一个范围结构,以使得嵌套出现的变量在必要时被重命名.
»
返回
rhs
,即使因为某些原因该指定的赋值不能执行.
某些类似
$RecursionLimit
的全局变量只能被赋予特定的范围或值的类型.
范例
关闭所有单元
例
(2)
设置
的一个值:
恢复
:
设置多个值:
设置
的一个值:
In[1]:=
Out[1]=
In[2]:=
Out[2]=
恢复
:
In[3]:=
设置多个值:
In[1]:=
Out[1]=
In[2]:=
Out[2]=
范围
(15)
普通的程序变量:
设置"指标变量"的值:
按一个表达式定义一个函数:
用
Block
临时设置变量:
设置列表的子集:
设置表达式的子集:
替换矩阵的一行:
替换矩阵的一列:
本值:
下值(downvalue):
此值:
上值(upvalue):
缺省值和选项:
数值值:
格式值:
与
相关的
Attributes
的定义,而不是
Attributes
:
推广和延伸
(5)
赋给
和
相同的值:
赋给
和
不同的值:
交换值:
设置稀疏矩阵的子集:
依然是一个稀疏矩阵,它的第二个子集改变:
将函数的多个返回值赋给单个变量:
有特定头部的模式的定义与头部相关:
应用
(6)
计算 2 个数的最大公约数:
求出一个固定点:
用牛顿方法计算
:
使用一个变量作为一个复杂表达式的缩写,并不止调用一次:
在线性方程组中回代的标量执行:
在线性方程组中回代的向量执行:
属性和关系
(9)
当执行定义时,计算立即定义的右边:
每次调用定义时,计算延时定义的右边:
定义左边的参数在定义前计算:
有相同左边的定义,较早的被覆盖:
用立即赋值和延迟赋值执行特殊定义和普通定义:
将特殊定义放在更多普通定义前:
在嵌套范围内尽可能使得模式变量重命名:
Module
引入新的符号,这与全局符号不同:
Definition
输出与符号相关的定义:
Information
输出关于符号的变量信息,包括任何定义:
OwnValues
返回对应定义的任何下值(downvalue)的规则列表:
用
Unset
(
) 清除特定左边的定义:
清除所有定义:
可能存在的问题
(4)
存在全局变量时,模式变量可能显示出不能预计的结果:
预计的延迟赋值行为:
超出限制的定义:
非符号的模式变量通常不能被赋值:
因此使用的局部变量:
将上值(upvalue)赋给下标变量:
下标变量和指标变量不同:
巧妙范例
(1)
计算两个数的算法- 几何均值 :
参见
SetDelayed
TagSet
Increment
Decrement
AddTo
TimesBy
Unset
Clear
HoldPattern
DownValues
Replace
Dynamic
Setter
教程
符号的值
定义带标号的对象
立即定义和延时定义
纯函数和规则中的变量
更多关于
赋值
语言概述
向量操作
过程式编程
规则与模式
作用域结构
Mathematica
语法
定义变量和函数
版本 1 的新功能