《Mathematica-定义函数与变换规则.docx》由会员分享,可在线阅读,更多相关《Mathematica-定义函数与变换规则.docx(5页珍藏版)》请在课桌文档上搜索。
1、第9章定义函数与变换规则前面几教所介纲的各种函数都是在MAhgtie系统中给好定义、明确功能,提供给用户直接调用的。但在实际问题中还有许多函数因为用户特殊需姿.而系统中没有定义.在这种情况下需要由用户口己来给出定义,以供后面使用的方便,这就姑下面要介绍的自定义南数C9.1 自定义函数9.1.1 自定义一元函数自定义一元函数方法如下:fx:=自选表达式例如人,:=2*+3等,如果将此式同数学中常用的函数定义符号/(w)=2*+3相比较,容易看到二者间的差别。按照Mathematka的规定,应该将SI括号换为专用于函数的方括号,即/UJ=2、*3,于是二者间的主要差别有二,一是自变贵“,一”与“”
2、的差别,二是定义符“:=”与1”的差别。1)先看X与X功能上的差别(占位符,规则变量,模式变量)【例1】f*J=2*+3b;x-*3642x(*-代表”运行后等于”,相当于+,)y36+2y/(4*5ZnI,2,3-12+36.4+36.6+3用x:=2*+36;gx)-*3fe+2xgty-gly(*无定义,找不到与右端表达式相匹配的人原样输出*)gib(无定义,网上,)g(I,2.3lWH.2.31(*无定义,问上*)上面例子说明:自定义函数符号AHj:=2M+3中的XX在X后面必须索眼希加一个下划线)同数学函数符号/(x)中,的功能基本上一样,都是起着自变量的作用在MathemIiCa里
3、将W.称为规则变就或模式变量.匍/U中的工类似于数学里的一个常量,即只代表/U-J在某一点的值。tx:=2x+36中模式变量X代表着一类重要的实体,它不仅可以取实数,还可以取向量和矩阵,以及由/所规定的同右端表达式中与XJe匹配的任何转构的II1.(2)再看“=”与功能上的差别(马上赋值,延时赋值)它们的主要差别是:前者为立即赋值,后若为ii时赋值,亦即使用=”号时.右边表达式在定义时被立即赋值,而使用“:=”号时,右边的表达式在定义时衡不赋值,直到被调用时才被赋值。请看下面的例子:【例2】dcar,g;X2;txj三*,2;g_:=2;-31M一9上面例子说明fX=x2在定义时便被赋位X=2
4、,在调用它时3J中的值已是2,了,而gjJ:”5?u=uSinv;zu:=*u+6;共有3个自定义二元函数。这为我们绘制参数曲线面提供了很大的方便。类似的还可以定义三元、四元以及更多元的自定义函数C例如.,-,x-:=*Exp-2*af2(,带参数的概率函数e*)$1.a_,b_,c_,*:=a-Sin6-N+c(*带参数的简萧运动函数*)Zhouer9.1.3 自定义函数的保存与重新调出已经自定义好的函数,假如希望以后多次运用,这就须要妥当保存与重新调出,保存的方法如下:Save“文件名”,自定义函数名序列f,g,【例3】将函数/G)=保存到文件Hel中。1 +X/#:=1/(1+a2);S
5、aveufile,/如果还有新的函数想要迫加到文件file1中.则有g=*2+t2jK。.,*_,_:=*Ex-(*2+/2);Save(,file,g,h如果想要查看一下文件HeI中的内容.有!filel/UJ=1/(1+/2)g_,_:=12+/2A(_y_1:=*EXP-32+/2)j保存在文件Glel中名为ftg,h的函数如果要里新调用,方法如下:首先进入MathematiCa,然后调出filcl文件,便可直接使用文件中的函数了。例如,计算/U)+gU,2的值有:In:=2,y-3(3)带有条件的规则在延时赋值号“:=”与“:”号定义的变换规副中,还可附加条件,它们定义的形式如下:模式:=表达式/;条件;模式:表达式/;条件其中/;是附加条件用的操作符。【例3】利用带条件的规则定义阶乘函数/(n)=n!。f=5/n:i:n/n-l/;Integcrt)nJ0其中附加条件的内容是当n为整数时其值为真;否则为假.同时还要求n01JTt-I50,其俺g_l:=l+”;-1三x2;g:x:=5-x/;25;这样定义的规则除了模式与对象表达式必然匹配以外,同时还要求附加条件也要满足,执行的结果才能正确。94表达式的统一形式(略)