Mathematica 教程07自定义函数.ppt

Mathematica 教程07自定义函数.ppt

ID:48738141

大小:201.00 KB

页数:22页

时间:2020-01-21

Mathematica 教程07自定义函数.ppt_第1页
Mathematica 教程07自定义函数.ppt_第2页
Mathematica 教程07自定义函数.ppt_第3页
Mathematica 教程07自定义函数.ppt_第4页
Mathematica 教程07自定义函数.ppt_第5页
资源描述:

《Mathematica 教程07自定义函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、自定义函数简单函数的定义复杂情况纯函数函数的属性简单函数的定义自定义函数的方法f[x_]:=x^2+yf[2]f[y]f[a-1]在例中,In[1]定义了数学意义上的函数f(x)=x^2+y,自定义函数仍用:"函数名[自变量]"的形式,其中自变量x用x_表示,而=用:=表示,等号右边的数学表达式按常规形式.这一步执行后,没有输出结果,但Mathernatica记忆了关系式f[x_]:=x^2+y。在例中首先定义了自变量是u,v的二元函数f(u,v)=u^2-v^2,在In[3]中以u=1,v=l+x代入

2、得到函数值1-(l+x)^2,在In[4]和In[5]中就是对表达式1-(1+x)^2求导和积分。这说明,对自定义函数仍可按人的意图进行各种符号运算。不过在Mathematica中自定义函数时,格式较为特殊,容易出现错误。x与x_的区别g[x]:=x^2+y;f[x_]:=x^2+yg[2];f[2]g[y];f[y]f[x_]可以定义函数,g[x]不能定义一个函数Mathematica只记住了符号g[x]表示x^2+y,但g[2]和g[y]等并没有值被求出。Mathematics约定f[x]中的x_表

3、示函数f的自变量,而f[x]表示函数f当自变量取值为x时的函数值。“:=”与“=”的差别如果将例中的":="改用"=",却一切正常,看不出问题.但它们的差别可由下例说明。两种等号的差别之一:x=2;f[x_]=2x;g[x_]:=2x;?f?gf[3]g[3]在例中因为开始己经定义x=2,当使用“=”定义f(x)时,立即将右边的数学表达式进行求值,将x=2代入得到函数定义式f[x_]=4,Mathematica记忆的是f[x_]=4。而使用“:=”时,Mathematics总是将输入的函数定义式原样记忆

4、。如果事先没有定义x=2,则不会出现上述问题,被Mathematica记忆的仍是f[x]=2x.使用表达式f[x_]=2x与使用表达式f[x_]:=2x没有区别,再求f[3]时都是将x=3代入定义式右边的数学表达式,得到6。也就是说,都可以理解成了f(x)=2x了,因此两种等号没有差别。二种等号的差别之二在例中前一个函数定义后右边的积分立即被求出,而后一个函数在定义后并不进行积分,再求函数值时才进行积分.使用“?”查看可知,被Mathematica记忆的函数表达式不同。使用“=”时立即对右边的数学表达式

5、进行计算,使用“:=”时右边的数学表达式不变,当求函数值时才进行计算。定义函数时,两种等号都可以使用,应当弄清两者的差别适当选用,不要造成定义函数必须使用“:=”的错觉。由多个表达式定义的函数可以使用递推公式定义函数。自定义计算n!的函数。f[0]=1;f[n_]:=nf[n-1];f[10]说明:在例中In[1]定义了函数值f[0],In[2]的函数定义式是递推公式,由此实际上定义了f(n)=n!.但以上定义有缺陷,如果求f[0.5]就会出错,因为Mathematica并不认为n表示非负整数。解决方法

6、是用n_Integer?Positive替代n_,说明n是整数(头为Integer)并且满足是正数的条件,其中问号是后一条件的分隔符.参数个数不确定的函数定义一个函数时,允许事先对参数指定默认值,如果使用时不给出参数值,就自动将默认值作为参数值。这样的参数格式如下:x_:v其中冒号后面的v表示参数x的默认值.f[x_,y_:0]:=x^2+y^2;f[3];f[3,4]以上In[1]中定义了第2个参数的默认值为0,这样在求值时允许不给出第2个参数的值。但是如果两个参数都使用默认值,就会出问题,在In[2

7、]中就无法识别所给的一个参数值究竟是赋给哪一个参数的。当只有一个可选参数时,使用以上方法是最方便的。复杂情况(1)参数的一般表示法_可以表示任何一个表达式x_代表一个名为x的表达式.x_h代表一个名为x附加有限制性说明h的表达式.__可以代表任何一个或多个表达式x__可以代表名为x的一个或多个表达式.x__h代表名为x附加说明h的一个或多个表达式.___可以代表任何零个或多个表达式x___可以代表名为x的零个或多个表达式.x___h代表名为x附加说明h的零个或多个表达式.f[]:=2a;f[x];f[y

8、+2];f[1,2]说明:上例定义的是一元函数,无论自变量取何值都得到同一函数值,实际上定义了一个常值函数。最后的f[1,2]是不合法的,因为一个下划线只能代表一个参数,Mathematica不能求值。f[__]:=x+y;g[___]:=ab;f[a];f[1,2,s];g[];g[r];g[1,2]说明:上述两个例子演示了单下划线、双下划线、三下划线的区别,一然而它们却没有实用价值,因为它们时函数定义式右边的数学表达式不起作用.真正有实

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。