表达式的结构,而用“==”测试数学上的等同性。下例用“===”来测试表达式的结构: 下面给出一个无用结果:
在建立条件时,你常需要运用组合条件,如testl&&test2&&?。对于这些组合条件,如果其中有一个为假,则最后结果为假。,Mathematica依次对test进行计算,直到其中有一个为假为止。
4.是逻辑表达式的运算形式。
逻辑表达式
计算expri,直到其中有一expr1&&expr2&&expr3 个为假为止 计算expri,直到其中有一exprl||expr2||expr3 个为真为止 下面的函数包括两个组合条件:
In[l0]:=t[x_]:=(x!=0&&1/x<3)
对这两个测试条件进行计算,下面的第一次测试得出为假,因此不进行第二个条件的测试,第二测试结果可能为1或0,因此 输出结果为假:
ln[12]:=t[0] Out[12]=False Mathematica处理逻辑表达式的方法允许你组合一系列的测试条件,且只有当前面条件满足时才处理后面的条件。
8.3 循环结构 Mathematica程序的执行包括对一系列Mathematica表达式的
计算。对简单程序, 表达式的计算可用分号“;”来隔开,然后一个接一个地进行计算。然而,有时你需要对同一表达式进行多次计算,即循环计算。
1 Do循环结构
简单地Do循环结构形式: Do[expr,{i,imax}] Do[expr,{n}] 循环计算expr,以步长1,i从1增加到imax 循环计算expr n次 Do[expr,{i,imin,imax,di}] 循环计算expr,以步长di,i从imin增加到imax 计算Print[i+i^2],i从1增加到3:
Do中的定义的循环方式与函数Table和Sum中的定义一样。在函数Do中,你同样能建立重循环。下面给出的i从1到4进行循环,而对于每个i,j又从1到i-1进行循环:
我们还可把一个过程放入Do函数中:
2 While与For结构
在Mathematica程序中,Do是以结构方式进行循环的,然而有时你需要生成非结构循环。此时,运用函数While和For是合适的。下面是While和For函数的循环结构形式: While[test,body] 只要test为真,就重复计算body 以为start起始值,重复计算body和For[start,test,incr,body] incr,直到test为假为止 当条件满足时,While循环一直进行,因此为了防止死循环,在While 中应包括命令能改变test的值。
下面给出For循环的例子,i++表示i的值加1(在本节的最后我们给出在编程时常会 用到的赋值方法):
下面再给出一个较复杂的For循环的例子,一旦I^2 Mathematica中的函数While和For循环总是在执行循环体前对循环条件进行测试。 一旦测试结果为假。就中止While和For循环。因此,循环体的计算总是在测试结果为真 的情况下进行的 3.一些特殊的赋值方式 一些赋值方式在循环结构中有时能带来一些方便。 i++ i-- ++i, --i i+=di i-=di x*=C x/=c {x,y}={y,x} 4 重复运用函数 变量i加1 变量i减1 变量i先加1 变量i先减1 i加di i减di x乘以C x除以c 交换x和y值