数学实验 - 图文(3)

2019-03-09 20:04

Table[f,max] TableForm[list] 或list//TableForm Range[n] Range[n1,n2,d] 给出max个f的表 以表格格式显示一个表 生成一个{1,2,……,n}的列表 生成{n1,n1+d,n1+d,….,n2}的列表 Table[f,{i,imin,imax},{j,jmin,jmax},….] 生成一个多维表 下面给出x乘i的值的表,i的变化范围为[2,6]: In[1]:=Table[x*i,{i,2,6}] Out[1]={2x,3x,4x,5x,6x} In[2]:=Table[x^2,{4}] Out[2]={x2,x2,x2,x2}

用Range函数生成一个序列数: In[3]:=Range[10] Out[3]={1,2,3,4,5,6,7,8,9,10} 下面这个序列是以步长为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] Append[list, elem] Insert[list,elem,n/-n] Join[list1,list2...] Union[list1,list2...] 功能 表示在表头添加元素elem 表示在表尾添加元素elem 表示在正/倒数第n个位置插入元素elem 连接表list1, list2 去掉重复元素并排序后的合并(集合的并)

1.2.5表达式

1)表达式的含义

Mathematica 能处理数学公式,表以及图形等多种数据形式。尽管他们从形式上看起来不一样,但在Mathematica内部都被看成同种类型,即都把他们当作表达式的形式。Mathematica 中的表达式是由常量、变量、函数、命令、运算符和括号等组成,它最典型的形式是f[x,y]。

9

2)表达式的表示形式

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

函数 Expand[expr] Factor[expr] Simplify[expr] 功能 按幂次升高的顺序展开表达式 以因子乘积的形式表示表达式 进行最佳的代数运算,并给出表达式的最少项形式 3)关系表达式与逻辑表达式

下面是常用的关系运算和它们的意义: 关系运算符 x==y x!=y x>y x>=y xy>z xy Out[2]=False 下面是常用的逻辑运算和它们的意义: 逻辑运算符 ! && || Xor If LogicalExpand[expr] 非 并 或 异或 条件 展开逻辑表达式 功能 例如下面的例子说明它们的应用:

In[4]:=3*x^2

In[5]:=3*x^2

10

4)其他常用的符号 符号 (term) f[x] {} [[i]] % %% %%%(k) %n 功能 圆括号用于组合运算 方括号用于函数 花括号用于列表 双括号用于排序 代表最后产生的结果 倒数第二次的算结果 倒数第k次的计算结果 例出行Out[n]的结果 1.2.6 编程初步 对于简单的计算,可以直接调用Mathematica内部函数完成,但是要完成一个指定的计算任务,往往还需要由自己来编制一些程序。Mathematica中提供了一般的程序流程完成的方式,包括顺序结构、条件结构和分支结构。下面就Mathematica的程序编制讲解一些初步的知识。 1)全局变量与局部变量 Mathematica 在工作时会自动启动一个程序,叫做\,它是负责计算和存储计算结果的程序。因此我们平常使用的变量都是全局变量,这些变量有这样的特点:一旦赋值它会作用于以后的计算,因而容易造成混乱。所以在复杂的程序设计中需要引进一些局部变量。在编写程序和函数时,如果用到了中间变量,一定要使用局部变量。坚决避免用全局变量作为函数或者程序的中间变量,否则很有可能出现不易发觉的错误。 局部变量与全局变量隔离开? 在Mathematica中,使用Module 结构可以解决这个问题,Module结构不但是分隔局部变量的机制,更重要的还是定义复杂函数或过程的机制,Module结构的形式如下: Module[ {局部变量列},表达式列] 其中,\局部变量列}\说明一个或者多个局部变量,后面的\表达式列\可以使用这些局部变量。对这些局部变量的操作不会影响到Module结构外的同名变量。 \表达式列\中的各表达式用分号分隔,整个Module结构返回表达式列中最后一个表达式的值。 Module 结构不但能调用Mathematica中的函数,还能调用自定义的函数。 例:定义一个函数,其自变量为一个数组,求出这个数组的最大值、最小值、平均值和方差。 In[1]:= f[x_List]:=Module[{M,m,E,D,t},M=Max[x]; m=Min[x];

E=Apply[Plus,x]/Length[x]; t=(x-E)^2;

D=Sqrt[Apply[Plus,t]]/Length[x]; {M,m,E,D}];

f[{1,2,3,4,5,6,7,8}]//N

Out[1]= {8.,1.,4.5,0.810093}

2)循环结构

11

(1)While[条件,表达式]

\条件\是一个逻辑表达式,执行时系统先对条件求值,如得到结果为True,则求它的表达式值,然后重复上述过程,直到条件不满足为止,循环结束。

例:求平方小于100的最大的整数。 In[1]:= Clear[x]; x=0;

While[x^2<=100,x=x+1]; x-1

Out[1]= 10

(2)For[i=1,i<=imax ,i++,表达式]

在For[ ]循环中,\表示循环变量,\表示循环变量从初值1 开始,\表示循环变量所能取的最大范围,\表示将i 的值增加一个单位。

例:求出前10个自然数的和L与前10个自然数的乘积S。 In[1]:= L=0;S=1; For[i=1,i<=10,i++, L=L+i; S=S*i;] L S

Out[1]= 55

Out[2]= 3628800

(3)Do[表达式,循环描述]

Do[ ]循环是一种数步式的循环方式,它需要在\循环描述\中指定步数。 例:将t=t^2+1从t=1开始执行3次。 In[1]:= Clear[t] t=1;

Do[t=t^2+1,{3}] t

Out[1]= 26

3)分支结构 (1)If [条件,表达式] If[条件,表达式],当\条件\为True时,求\表达式\的值;当\条件\为False 时,返回Null。 If[条件,表达式1,表达式2],当\条件\为True时,求\表达式\的值;当\条件\为False时,求\表达式2\的值。

例:

In[1]:= abs[x_]:=If[x<0,-x,x] abs[-1] Out[1]= 1

(2)Which[条件1,表达式1,条件2,表达式2,…] In[1]:= a=2;

12

Which[a==1,x,a==2,b] Out[2]= b

(3)Switch[判别表达式,模式1,表达式1,模式2,表达式2,…]

例:构造一个函数,当x被3整除时,函数值为a,当x关于3的模为1时,函数值为b,当x关于3的模为2时,函数值为c。

In[1]:= f[x_]:=Switch[Mod[x,3],0,a,1,b,2,c] f[1] f[2] f[3]

Out[2]= b Out[3]= c Out[4]= a 4)转向结构 包括以下命令项: Break[ ] 用在For, While(Do不能使用)语句中,表示结束包含这个break表达式的最近循环,且以Null作为该结构的值。 函数 Continue[] Return Return[] Return[expr] 功能 立即结束包含这个Continue的循环,执行下一次循环。 从函数的求值过程中退出。 退出函数的求值,以Null作为当前函数值。 退出函数的求值,以expr作为当前函数值。 13


数学实验 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:谈对“成功教育”的认识

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

马上注册会员

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