mathematica教程11(4)

2019-09-01 09:48

下面这个序列是以步长为2,范围从8到20: In[4]:=Range[8,20,2] Out[4]={8,10,12,14,16,18,20}

上面的参数变化都是只有一个,也可制成包括多个参数的表,下面生成一个多维表: In[5]:=Table[2i+j,{i,1,3},{j,3,5}] Out[5]={{5,6,7},{7,8,9},{9,10,11}} 使用函数TableForm可以以表格的方式输出 In[6]:=%//TableForm Out[6]//TableForm=5 6 7

7 8 9 9 10 11

2. 表的元素的操作

当t表示一个表时,t[[i]]表示t中的第i个子表。如果t={1,2,a,b}那么t[[3]]表示“a”。 In[1]:=t=Table[I+2,j{I,1,3},{j,3,5}] Out[1]={{7,9,11},{8,10,12},{9,11,13}} In[2]:=t[[2]] Out[2]={8,10,12}

Prepend[list, elem] 表示表头加入elem Append[list, elem] 表示在表尾加elem

Insert[list, elem, n/-n] 表示在正/倒数第n个位置插入elem

表的合并: Join[list1, list2, ...] 连接表list1, list2, ...

Union[list1, list2, ...] 去掉重复元素并排序后的合并(集合的并)

对于表的操作Mathematica提供了丰富的函数,详细的可以查阅后面的附录或者系统帮助。

2. 5 表达式

1. 表达式的含义

Mathematica 能处理数学公式,表以及图形等多种数据形式。尽管他们从形式上看起来不一样,但在Mathematica内部都被看成同种类型,即都把他们当作表达式的形式。Mathematica 中的表达式是由常量、变量、

16

函数、命令、运算符和括号等组成,它最典型的形式是f[x,y]。

2. 表达式的表示形式

在显示表达式时,由于需要的不同,有时我们需要表达式的展开形式,有时又需要其因子乘积的形式。在我们计算过程中可能得到很复杂的表达式,这时我们又需要对它们进行化简。常用的处理这种情况的函数就是变换表达式表示形式函数。

Expand[expr] 按幂次升高的顺序展开表达式 Factor[expr] 以因子乘积的形式表示表达式

Simplify[expr] 进行最佳的代数运算,并给出表达式的最少项形式 表达式(x+y) (x+y) 展开: In[1]:=Expand[(x+y)^4*(x+y^2)]

Out[1]=x 5 +4x 4 y+6x 3 y 2 +x 4 y 2 +4x 2 y 3 +4x 3 y 3 +xy 4 +6x 2 y 4 +4xy5 +y 6 还原上面的表达式为因子乘积的形式: In[2]:=Factor[%] Out[2]=(x+y) (x+y)

多项式表达式的项数较多,比较复杂,在显示时显得比较杂乱,而且在计算过程中没有必要知道全部的内容;或表达式的项很有规律,没有必要打印全部的表达式的结果,Mathematica提供了一些命令,可将它缩短输出或不输出。

expr//Short 或 Short[expr] 显示表达式的一行形式

Short[expr,n] 显示表达式的n行形式,命令后加一分号“;” 不输出结果 将表达式(1+x) 30展开,并仅显示一行有代表项的式子: In[3]:=Expand[(1+ x)^30]//Short Out[3]=1+30x+435x +4060x +<<23>>+4060x 将上式分成三行的形式展开: In[4]:=Short[Expand[(1+ x)^30],3] Out[4]=1+30x+435x 2 +4060x 3 +27405x 4 +

142506x 5 +<<19>>+142506x 2 5 + 27405x 2 6 +4060x 2 7 +435x 2 8 +30x 2 9 +x 3 0

把代数表达式变换到你所需要的形式没有一种固定的模式,一般情况下,最好的办法是进行多次实验,尝试不同的变换并观察其结果,再挑出你满意的表示形式。

2 32 7

4

2

4

2

+435x

2 8

+30x

2 9

+x

3 0

3. 关系表达式与逻辑表达式

我们已经知道“=”表示给变量赋值。现在我们来学习一些其它的逻辑与关系算子。关系表达式是最简单的逻辑表达式,我们常用关系表达式表示一个判别条件。例如:x>0,y=0。关系表达式的一般形式是:表达式+关系算子

17

+表达式。其中表达式可为数字表达式、字符表达式或意义更广泛的表达式,如一个图形表达式等。在我们实际运用中,这里的表达式常常是数字表达式或字符表达式。下面出Mathematica中的各种关系算子:

x==y 相等 x!=y 不相等 x>y 大于 x>=y 大于等于 xy>z 严格递减 xy Out[2]=False

下面是比较两个表达式的大小:

In[3]:=3^2>y+1 上面已设y=9 Out[3]= False

用一个关系式只能表示一个判定条件,要表示几个判定条件胡组合,必须用逻辑运算符将关系表达式组织在一起,我们称表示判定条件的表达式为逻辑表达式。

下面是常用的逻辑运算和它们的意义: ! 非 && 并 || 或 Xor 异或 If 条件

LogicalExpand[expr] 展开逻辑表达式 例如下面的例子说明它们的应用:

In[4]:=3*x^2

In[5]:=3*x^2

18

Out[5]=True

2.6 其他常用的符号

(term) 圆括号用于组合运算 f[x] 方括号用于函数 { } 花括号用于列表 [[i]] 双括号用于排序 % 代表最后产生的结果 %% 倒数第二次的算结果 %%%(k) 倒数第k次的计算结果 %n 例出行Out[n]的结果

第3章Mathematica的基本运算

3.1 多项式的表示形式

可认为多项式是表达式的一种特殊的形式,所以多项式的运算与表达式的运算基本一样,表达式中的各种输出形式也可用于多项式的输出。Mathematica提供一组按不同形式表示代数式的函数。

Expand[ploy] 按幂次展开多项式ploy ExpandAll[ploy] 全部展开多项式ploy Factor[ploy] 对多项式poly 进行因式分解 FactorTerms[ploy,{x,y,…}] 按变量 x,y,…进行分解 Simplify[poly] 把多项式化为最简形式 FullSimplify[ploy] 把多项式化简

Collect[poly,x] 把多项式poly按x幂展开 Collect[poly,{x,y…}] 把多项式poly按x,y….的幂次展开

1. 下面是一些例子

(1) 对x 8 -1 进行分解 In[1]:=Factor[x^8-1]

Out[1]=(-1+x)(1+x)(1+x 2)(1+x4) (2) 展开多项式 (1+x)

5

In[2]:= Expand[(1+x)^5]

Out[2]=1+5x+10x 2+10x 3+5x 4+x5

19

(3) 展开多项式 (1+x+3y) 4 In[3]:= Expand[(1+x+3y)^4]

Out[3]=1+4x+6x+4x+x+12y+36xy+36xy+12xy+54y

+108xy 2+54x 2y 2+108y 3+108xy 3+81y 4

(4) 展开并化简(2+x) 4 (1+x) 4 (3+x) 3

In[4]:= Simplify[Expand[(2+x)^4(1+x)^4(3+x)^3]] Out[4]=(3+x) (2+3x+x )

3

2

4

2

3

4

2

3

2

2. 多项式的代数运算

多项式的运算有加、减、乘、除运算:+,-,*,/ 下面通过例子说明。 (1) 多项式相加

运算a 2 +3a+2与a+1相加(后面例子中也使用这两个多项式运算) In[5]:=(a^2+3*a+2)+(a+1) 括号可以不要 Out[5]= 3+4a+ a 2

或者In[5]:=p1= a^2+3*a+2;p2= a+1;p1+p2 Out[5]= 3+4a+ a 2 (2) 多项式相减

In[6]:=(a^2+3*a+2)-(a+1) Out[6]= 1+2a+ a 2 或者In[6]:=p1-p2 Out[6]= 1+2a+ a 2 (3) 多项式相乘

In[7]:=(a^2+3*a+2)*(a+1) Out[7]= (1+ a) (2+3a+ a2) 或者In[7]:=p1*p2 Out[7]= (1+ a) (2+3a+ a2) In[8]:=Expand[p1*p2] Out[8]=2+5a+4a 2+a 3 (4) 多项式相除

In[9]:=(a^2+3*a+2)/(a+1) Out[9]=

2?3a?a1?a2

或者In[9]:=p1/p2

20


mathematica教程11(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国法律文化导论练习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: