mathematica 定义函数 给自变量设置范围,怎么做
Patterns and Transformation Rules(tutorial/PatternsAndTransformationRules)
1.Pattern
Blank,BlankSequence,BlankNullSequence 基本模式符号
Alternatives,Repeated,RepeatedNull,Pattern,Except,Longest,Shortest,OptionsPattern,PatternSequence,Verbatim,HoldPattern 混合模式符号
head,Condition,PatternTest 模式限制
Optional,Default 默认模式
Orderless,Flat,OneIdentity 模式影响属性
MatchQ,Cases,Position,Count... 模式匹配函数
应用模式可以对函数自变量进行约定如:
f[x_,y__,z___]:=value (x任意一个表达式,y任意一个或多个表达式,z任意个表达式)-------应用基本模式符号。
f[x_a|b,y:{{_}..},z_:c,Longest[m_,2]]:=value (x任取a或b条件,y是可重复多的嵌套列表,z是默认c的变量)-----应用混合模式符号
f[x_,OptionsPattern[]]:=value
OptionValue[name]
f[x | PatternSequence[]] := value
FilterRules[opts,Options[name]]
FilterRules[opts,Except[Options[name]]]
SetOptions[funtion,opt]
f[HoldPattern[_+_]]:=value ------应用混合模式符号
f[x_,y_head:kdef,z_?NumberQ]=value/;x>0(x变量大于0,y变量具有指定头部及默认值,z变量判断是否是数)---应用模式限制
f[x_:a,y_.]=value(x变量具有默认值a,y变量具有系统默认数值)---应用默认模式
SetAttributes[f,Orderless];
f[x_,y_]:=value 等价于 f[y_,x_]=value ------应用模式属性影响
2. Rules
Rule,RuleDelayed 模式替换及延迟模式替换
ReplacedAll,ReplaceRepeated 表达式替换及重复替换
应用规则可以对函数变量替换
f[x_]:=value/.a->a0
f[x_]:=value/.a:>a0/;condition ----模式替换及延迟替换
(时间有限目前先到这里,另外SyntaxInformation等)
for example function[x,y,z]
Here, x is a Integer number ,1 >y>0,z is an Integer or a Complex number ;
f[x_Integer,y_/;1>y>0,z_Integer|Complex]:=value
When you do long calculations, it is often convenient to give names to your intermediate results. So you can do like this. the value 3 is set to variable x.
x=3
Afterwards, if you input x*98, the system will answer you
294
To eliminate the variable, you can use Clear
Clear[x]