数学建模模型与应用

合集下载

数学建模 几何在生活中应用

数学建模 几何在生活中应用

数学建模几何在生活中应用
数学建模在几何学的应用在生活中非常广泛,以下是一些具体的应用实例:
1.购房贷款:在购房过程中,数学模型可以帮助我们理解和分析贷款的各种可能方案。


如,利用数学模型,我们可以比较等额本金和等额本息这两种不同的还款方式,并计算出在不同利率和还款期限下,每种方式的还款总额和每月还款金额。

这样,我们就可以选择最适合自己的还款方案。

2.时尚穿搭:高跟鞋是一种时尚单品,但穿多高的高跟鞋才能达到最佳的视觉效果呢?这
时,我们可以借助数学模型来解决这个问题。

根据黄金分割原理,当女生的腿长和身高比值是0.618时,身材会显得最迷人。

因此,我们可以计算出最适合女生身高的高跟鞋高度,使她们在穿搭上更加出彩。

3.银行利率:在金融领域,数学建模也发挥着重要作用。

例如,我们可以通过建立数学模
型来分析银行利率的变化对存款或贷款的影响。

这种分析可以帮助我们更好地理解金融市场的运作,从而做出更明智的决策。

数学建模—函数模型及其应用

数学建模—函数模型及其应用

(k为常数,k≠0);
(4)指数型函数模型:f(x)=abx+c(a,b,c为常数,a≠0,b>0,b≠1);
(5)对数型函数模型:f(x)=mlogax+n(m,n,a为常数,m≠0,a>0,a≠1);
(6)幂型函数模型:f(x)=axn+b(a,b,n为常数,a≠0);
1 (),∈1 ,
了该车相邻两次加油时的情况.
加油时间
2020年5月1日
2020年5月15日
加油量(升)
12
48
加油时的累计里程(千米)
35 000
35 600
注:“累计里程”指汽车从出厂开始累计行驶的路程.
在这段时间内,该车每100千米平均耗油量为(
A.6升 B.8升
C.10升 D.12升
)
答案 B
解析 因为第一次油箱加满,所以第二次的加油量即为该段时间内的耗油量,
3
log 4 8 + = 1,
+ = 1,
解析依题意得
即 2
解得 a=2,b=-2.则
log 4 64 + = 4,
3 + = 4.
y=2log4x-2,当 y=8 时,即 2log4x-2=8,解得 x=1 024.
关键能力 学案突破
考点1
利用函数图像刻画实际问题
【例1】 (2020北京东城一模,10)
故耗油量V=48升.而这段时间内行驶的里程数S=35 600-35 000=600千米.
所以这段时间内,该车每100千米平均耗油量为
48
×100=8升,故选B.
600
3.(2020北京平谷二模,9)溶液酸碱度是通过pH计算的,pH的计算公式为

什么是数学模型与数学建模3篇

什么是数学模型与数学建模3篇

什么是数学模型与数学建模第一篇:数学模型与其应用数学模型是通过数学方法和工具构建的一种抽象描述,用来揭示自然界和社会现象背后的规律性和定量关系。

数学模型可以帮助我们理解和预测自然界和社会现象,并在工程、生物医学、物理、化学、金融等领域中得到广泛应用。

它是数学的重要应用领域之一,也是人类认知世界的一种方式。

在数学模型的构建过程中,需要定义模型的目标和问题,并选择合适的数学工具和建模方法。

常用的建模方法包括微积分、偏微分方程、线性代数、随机过程、优化理论等。

通过分析和运用模型,可以预测系统的行为并制定相应的决策和策略。

数学模型在现实问题中的应用涉及到广泛的领域和范围。

例如,在生物医学领域中,数学模型可以用于研究人体生理过程、疾病传播以及药物研发等;在物理领域中,数学模型可以用于建立对物质运动和电磁场传播的数学描述;在工程领域中,数学模型可以用于建立强度分析、流体动力学分析以及结构优化等;在金融领域中,数学模型可以用于分析股票价格变动、交易策略制定以及资产组合管理等。

总之,数学模型是现代科学研究不可或缺的一部分,它帮助我们理解和预测自然界和社会现象,并为实际问题提供了有力的解决方法。

随着计算技术的不断发展和数学应用领域的扩大,在数学模型的研究和应用领域中,我们将会看到更多的创新和发展。

第二篇:数学建模的流程和方法数学建模是将现实世界的实际问题抽象为数学模型,然后运用各种方法进行求解的过程。

它不仅是数学研究的一种方法,也是现实问题求解的有效工具。

下面我们来了解一下数学建模的流程和方法。

第一步,确定问题和目标。

数学建模的第一步是明确问题和目标,也就是需要解决的实际问题和期望得到的解决方案或结果。

具体而言,需要了解问题的背景、范围和限制条件,明确问题所在的领域和关注的指标。

在确定问题和目标的过程中,需要与领域专家、技术人员和决策者进行合作,并积极了解实际问题的细节和特点。

第二步,建立数学模型。

在确定问题和目标之后,需要建立数学模型来描述实际问题。

初中数学中的数学建模如何应用数学解决实际问题

初中数学中的数学建模如何应用数学解决实际问题

初中数学中的数学建模如何应用数学解决实际问题数学建模是数学教育中的一项重要内容,它将数学的知识与实际问题相结合,通过运用数学方法的建模过程,解决实际问题,并提高学生的综合素质。

在初中数学中,数学建模的应用十分重要,它能够培养学生的创新思维、实际应用能力和团队合作精神。

本文将介绍初中数学中的数学建模在实际问题中的应用。

一、数学建模在交通出行中的应用交通出行是我们日常生活中关系到方便快捷的问题,而数学建模可以帮助我们解决交通出行中的一些实际难题。

比如,我们可以利用数学模型来分析交通流量,预测交通状况,为城市交通规划提供科学依据;还可以通过数学模型来设计交通信号灯的配时方案,优化交通运行效果,减少交通拥堵。

二、数学建模在环境保护中的应用环境保护是当今社会的一个重要课题,而数学建模可以帮助我们分析环境问题,提供解决方案。

例如,我们可以利用数学模型来研究空气质量,分析污染物的扩散规律,为环境监测和治理提供依据;还可以通过数学模型来优化垃圾处理系统,合理规划垃圾收集和处理的路线,减少环境污染。

三、数学建模在经济管理中的应用经济管理是社会运行的基础,而数学建模可以帮助我们分析经济问题,制定有效的管理策略。

举例来说,我们可以利用数学模型来分析市场供求关系,预测产品销售量,为企业的生产计划和市场决策提供参考;还可以通过数学模型来优化生产过程,降低生产成本,提高企业效益。

四、数学建模在社会调查中的应用社会调查是了解社会现象和社会问题的重要手段,而数学建模可以帮助我们统计调查数据,分析得出结论。

例如,我们可以利用数学模型来分析人口统计数据,揭示人口的增长趋势和分布规律,为城市规划和社会保障提供参考;还可以通过数学模型来分析社会心理调查数据,了解人们对特定问题的态度和观点,为社会问题的解决提供建议。

综上所述,初中数学中的数学建模能够应用数学方法解决实际问题,并为实际应用提供科学依据。

通过数学建模的学习,可以培养学生的创新思维和实际应用能力,提高他们解决实际问题的能力。

高中数学数学建模的基本步骤和应用

高中数学数学建模的基本步骤和应用

高中数学数学建模的基本步骤和应用在高中数学学习中,数学建模是一项重要的技能,它将已学知识应用于实际问题的解决过程中。

本文将介绍高中数学数学建模的基本步骤和应用。

一、基本步骤1. 问题理解与分析:首先,我们需要理解和分析给定的问题。

明确问题的背景、条件和目标,确保对问题有全面的理解,并能提炼出关键信息。

2. 建立数学模型:在理解问题基础上,我们需要建立数学模型来描述问题。

数学模型是对实际问题的抽象与简化,通常由数学方程、函数或图形表示。

选择合适的模型是解决问题的关键。

3. 模型求解:一旦建立了数学模型,我们就需要求解模型以得到问题的解。

根据具体情况,可以采用解析方法、数值方法或计算机模拟等方式进行求解。

4. 模型验证与优化:完成模型求解后,我们应该对模型进行验证和优化。

验证是指根据问题的实际情况,对模型的可靠性和实用性进行检验。

优化是指对模型进行修改和改进,以得到更准确和可行的结果。

5. 模型分析与应用:最后,我们需要对求解结果进行分析和应用。

分析是指对结果进行解释和说明,找出问题的规律和特点。

应用是指利用结果解决实际问题,为决策提供科学依据。

二、应用案例1. 食品配送问题:假设一家餐厅需要将食品从仓库送到不同的客户处,每个客户对食品的需求量不同,仓库到客户的距离也不同。

我们可以建立数学模型,将餐厅、仓库和客户看作点,建立起点、路径和终点间的数学关系。

通过模型求解,确定最佳配送路径,以提高配送效率和降低成本。

2. 疫情传播模型:在疫情爆发时,我们可以利用数学建模来研究疫情的传播规律和控制策略。

例如,可以建立传染病传播的差分方程模型,通过调整模型中的参数,预测疫情的传播趋势,评估防控措施的效果,为疫情防控提供科学依据。

3. 人口增长模型:人口增长是一个复杂而重要的问题。

通过建立人口增长的微分方程模型,我们可以研究人口数量的变化趋势和影响因素,了解人口增长与资源分配、环境保护等问题之间的关系,以制定科学的人口政策。

数学建模方法与应用

数学建模方法与应用

数学建模方法与应用数学建模是一种将现实问题转化为数学模型、通过数学方法进行求解与分析的过程。

它是数学与实际问题相结合的一种高级应用领域,涉及数学、计算机科学、物理学、经济学等多个学科的知识。

本文将介绍数学建模的基本方法和一些常见的应用领域。

一、数学建模的方法1.问题描述与分析:在进行数学建模前,首先需要对实际问题进行准确的描述和分析。

这包括确定问题的目标、特征和约束条件,并明确问题的可行性和难度。

2.建立数学模型:将实际问题转化为数学问题,并建立相应的数学模型。

常见的数学模型包括线性模型、非线性模型、优化模型等。

根据实际问题的特点选择合适的模型进行建立。

3.模型求解:使用数学方法对建立的数学模型进行求解。

常见的求解方法包括解析解法、数值解法、优化算法等。

根据问题的要求和模型的特点选择合适的求解方法。

4.模型评价与验证:对求解结果进行评价和验证,判断模型对实际问题的适应性和准确性。

通过与实际数据的比较,对模型进行修正和改进,提高模型的可靠性和实用性。

二、数学建模的应用领域1.物理学与工程学:数学建模在物理学和工程学中的应用非常广泛。

例如,在物理学中,可以利用数学模型研究天体运动、电磁场分布等问题。

在工程学中,可以使用数学模型分析材料的力学性能、流体的流动规律等。

2.经济学与金融学:数学建模在经济学和金融学中有着重要的作用。

例如,可以使用数学模型分析经济增长、市场供求关系等经济问题。

在金融学中,可以利用数学模型研究股票价格预测、风险管理等问题。

3.生物学与医学:数学建模在生物学和医学领域中的应用也越来越多。

例如,在生物学研究中,可以使用数学模型探究生物体内的化学反应、生物发育等过程。

在医学领域中,可以利用数学模型帮助诊断疾病、预测病情等。

4.社会学与心理学:数学建模在社会学和心理学中的应用正在不断扩大。

例如,在社会学研究中,可以使用数学模型分析人口变动、社会网络等问题。

在心理学领域中,可以利用数学模型研究认知过程、心理评估等。

数学建模的实例与应用

数学建模的实例与应用

数学建模的实例与应用现代社会发展的趋势使得数学建模成为一个越来越重要的领域。

数学建模可以被定义为利用数学模型来描述实际问题,并通过解决模型来得到问题的解决方案。

在本文中,我们将介绍一些数学建模的实例和应用,以展示其在不同领域中的作用和意义。

一、机器学习中的数学建模机器学习作为人工智能的重要分支,广泛应用于各个领域中。

数学建模在机器学习中起着关键作用,通过建立数学模型来分析和预测数据。

例如,在图像识别领域,数学模型可以通过处理大量的图像数据来训练机器学习算法,从而实现准确的图像识别。

二、金融风险管理中的数学建模金融风险管理是金融领域中的一个重要任务,数学建模在其中起到了不可或缺的作用。

通过建立数学模型,可以对金融市场的波动性进行评估和预测,并为投资者提供决策支持。

例如,Black-Scholes模型是一种经典的金融数学模型,用于计算期权的价格和风险。

三、交通流量优化中的数学建模城市交通拥堵是一个严重的问题,数学建模可以帮助优化交通流量,提高交通效率。

通过建立数学模型来分析交通流量的变化规律,可以预测交通状况,并提出相应的优化方案。

例如,交通信号灯控制系统可以使用数学模型来实现智能调控,减少交通阻塞。

四、医学影像处理中的数学建模医学影像处理是一项重要的医学技术,对于疾病的诊断和治疗起着重要作用。

数学建模在医学影像处理中被广泛应用,用于图像分割、图像增强和图像重建等方面。

通过建立数学模型,可以提取出影像中的关键信息,辅助医生进行疾病诊断。

五、气象预测中的数学建模天气预测是气象学中的一个重要课题,数学建模可以提供有效的模型来预测未来的天气变化。

通过收集大量的气象数据,并建立相应的数学模型,可以预测未来几天或几周的天气情况。

这对于农业、能源等行业具有重要意义。

总结数学建模在现代社会中的应用已经非常广泛,涉及的领域也越来越多。

通过建立数学模型,可以更好地理解和解决实际问题,为各行各业提供更有效的解决方案。

因此,深入研究数学建模的方法和技术,对于提升现代社会的发展水平具有重要意义。

数学建模方法及其应用

数学建模方法及其应用

数学建模方法及其应用
数学建模方法是将现实问题抽象化为数学模型,通过符号、计算、推理和实验等手段进行研究解决问题的方法。

数学建模方法的应用十分广泛,包括经济学、工程学、物理学、计算机科学、生物学等领域。

1. 经济学领域:数学建模方法在经济学中的应用包括宏观经济模型、金融市场模型、产业研究模型等,可以帮助经济学家预测经济走势、分析市场趋势、评估政策效果等。

2. 工程学领域:数学建模方法在工程学中的应用包括流体力学模型、热传导模型、结构力学模型、控制系统模型等,可以用来优化设计、预测性能、进行稳定性分析等。

3. 物理学领域:数学建模方法在物理学中的应用包括量子力学模型、场论模型、统计物理模型等,可以帮助物理学家研究物理现象、发掘物理规律、解释实验结果等。

4. 计算机科学领域:数学建模方法在计算机科学中的应用包括图论模型、优化算法模型、人工智能模型等,可以用于解决最优化问题、分类问题、自然语言处理等任务。

5. 生物学领域:数学建模方法在生物学中的应用包括遗传学模型、成因变异模
型、癌症模型等,可以用于预测疾病风险、优化治疗方案、研究基因组学等问题。

总之,数学建模方法是一种十分有价值的计算工具,在各个领域都得到广泛的应用和推广。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Mathematica软件常用功能【实验目的】1. 用Mathematica软件进行各种数学处理;2. 用Mathematica软件进行作图;3. 用Mathematica软件编写程序.【注意事项】Mathematica中大写小写是有区别的,如Name、name、NAME等是不同的变量名或函数名。

系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sin[x],Conjugate[z]等。

乘法即可以用*,又可以用空格表示,如2 3=2*3=6 ,x y,2 Sin[x]等;乘幂可以用“^”表示,如x^0.5,Tan[x]^y。

自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。

当你赋予变量任何一个值,除非你明显地改变该值或使用Clear[变量名]或“变量名=.”取消该值为止,它将始终保持原值不变。

一定要注意四种括号的用法:()圆括号表示项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],BesselJ[x,1];{}大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如{2x,Sin[12 Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[[1]]=1。

Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。

当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。

命令行“Shift+Enter”才是执行这个命令。

§1. 初等代数1.1 有理式的运算 1. 多项式的展开表1.1 多项式展开的常用命令In[1]:= Out[1]= 9+6x+x 2+6y+2xy+y 2 In[2]:= Factor[f] Out[2]= (3+x+y)2 In[3]:= Exponent[f,x] Out[3]= 2 In[4]:=Coefficient[f,x]Out[4]= 6+2y 2. 有理式的运算 In[5]:=Factor[(x^3+2x+1)/(x^3+x^2+x+1)]Out[5]= )x x)(1(1x 2x 123++++In[6]:=Apart[%]Out[6]= 2x 11x 111+++-表1.2有理式运算的常用命令3. 多项式的代数运算表1.3多项式代数运算的常用命令In[7]:= PolynomialQuotient[1+x^2,x+1,x] Out[7]= -1+x In[8]:=PolynomialGCD[x^2+2x+1,x^3+1,x^5+1]Out[8]= 1+x 1.2方程求解表1.4 方程(组)求解的常用命令In[1]:= Solve[a*x+b==0,x]Out[1]= }}ab {{x -→ In[2]:=Reduce[a*x+b==0,x]Out[2]= ab &x &0a ||0&a &0b -=≠==== In[3]:=FindRoot[Sin[x]==0,{x,3}]Out[3]= {x →3.14159}In[4]:= FindRoot[Sin[x]==0,{x,{6,6.5}}] Out[4]= {x →6.28319} In[5]:=FindRoot[{2^x+y^2==4,x^2+Sin[y]==1}, {x,0},{y,0}]Out[5]= {x →1.38686,y →-1.17682}§2. 微积分微积分的常用命令如表1.5所示,下面是一些例子. In[1]:=Limit[Sin[x]/x,x->0]Out[1]= 1 In[2]:=D[Sin[n*x],x]Out[2]= n Cos[n x] In[3]:=D[Sin[n*x],{x,3}]Out[3]= -n 3Cos[n x]In[4]:= Dt[Sin[n*x],x]Out[4]= Cos[n x] (n + x Dt[n, x]) In[5]:= Dt[Sin[n*x],x,Constants->n] Out[5]= n Cos[n x] In[6]:= Integrate[Log[x],x]Out[6]= -x + x Log[x] In[7]:=Integrate[Tan[x]*Tan[y],{x,0,1},{y,0,1}]Out[7]= Log[Cos[1]]2In[8]:= NIntegrate[Exp[-x^2/2],{x,0,Infinity}] Out[8]= 1.25331In[9]:= DSolve[y'[x]-y[x]==1,y[x],x] Out[9]= {{y[x] -> -1 + E x C[1]}} In[10]:= Series[ArcTan[x],{x,0,5}]Out[10]= 6530[x]5x 3x x ++-表1.5微积分的常用命令§3. 线性代数3.1 向量与矩阵的定义表1.6向量与矩阵的定义的常用命令In[1]:=a[1,1]=2;a[1,2]=3;a[2,1]=4;a[2,2]=5;AOut[2]={{2, 3}, {4, 5}}In[3]:=B=Table[1.0,{2},{2}]Out[3]= {{1., 1.}, {1., 1.}}3.2向量与矩阵的运算向量与矩阵都可以看作为集合,因此有关集合的运算都能适用于向量与矩阵.另外,向量与矩阵还有下面的一些运算:表1.7向量与矩阵的定义的常用命令In[4]:= R=A-2*BOut[4]= {{0., 1.}, {2., 3.}}In[5]:= Inverse[R]Out[5]= {{-1.5,0.5},{1,0}}In[6]:=Eigenvectors[R]Out[6]= {{-0.270323, -0.96277},{-0.871928,0.489634}}In[7]:=Exp[R]Out[7]={{1., 2.71828}, {7.38906, 20.0855}}§4. 计算方法4.1插值Mathematica软件中的插值有两种形式InterpolatingPolynomial[data,var] 多项式插值Interpolation[data]一般插值其中data为被插值的数据,形式为{{x1,y1},{x2,y2},…,{xn,yn}}var为插值变量,一般可取为x.In[1]:=d=Table[{x,Log[x]},{x,1.0,3.0}];InterpolatingPolynomial[d,x]Out[2]=(0.693147 - 0.143841 (-2. + x)) (-1. + x)In[3]:=dat=Table[{x,Sin[x]},{x,0,2.0,0.1}];f=Interpolation[dat]Out[4]=InterpolatingFunction[{{0., 2.}}, <>]在上面的第二个例子中,输出结果表示一个[0,2]上的插值函数,此插值函数无法给出表达式.我们可以比较函数Sin[x]与所得到的插值函数的误差.In[5]:=Plot[Sin[x]-f[x],{x,0,2}]图1.1 拟合误差图由图1.1可以看出,两个函数的误差相当小(数量级为10-6).4.2 拟合下面的命令用来对数据data进行最小二乘拟合.Fit[data,funs,vars]其中data为要拟合的数据,funs为拟合函数的基,vars为拟合的变量.In[6]:=Clear[d,dat];d=Table[{x,Log[x]},{x,1,10,1}];Fit[d,{1,x,x^2},x]Out[8]=-0.355396+0.529707x-0.0272091x24.3 最优化下面的命令用来求函数f[x]在x0附近的极小值.FindMinimum[f[x],{x,x0}]In[9]:=t=FindMinimum[Sin[x], {x, 5}]Out[9]= {-1., {x -> 4.71239}}若要在程序中引用上面的结果中的函数的极小值或x的值,可以用下面的命令:In[10]:=t[[1]]Out[10]=-1.In[11]:=x/.t[[2,1]] (*在此处等价于x/.x->4.71239*)Out[11]=4.71239§5. Mathematica软件中的作图5.1 二维函数作图给出一个一元函数及其作图区间,用Plot语句可以立刻作出函数在相应区间上的图形.In[1]:=Plot[Sin[x],{x,0,2Pi}] (*图1.2*)In[2]:= Plot[Sin[x],{x,0,2Pi},AspectRatio->Automatic, PlotStyle->{GrayLevel[0.1],Dashing[{0.02,0.01}],Thickness[0.01]}, AxesLabel->{”x”,”y”}] (*图1.3*)Plot 命令的一般形式为:Plot[f[x],{x,xmin,xmax},选项]在绘制图形时,允许使用选项对绘制图形的细节提出各种要求和设置.如果不设置任何选项,则Mathematica 软件作图时选项取默认值.图1.2x sin 的函数图形(1) 图1.3 x sin 的函数图形(2)Plot 语句的各种常用的选项如下:表1.8 Plot 语句的各种常用的选项PlotStyle 的常用选项见表1.9.表1.9 PlotStyle 的可选项5.2二维参数作图使用Plot 命令只能绘出一般的函数曲线,要绘制参数曲线,可以用ParametricPlot 命令,其一般形式为:ParametricPlot[{x[t],y[t]},{t,tmin,tmax},选项]In[3]:= ParametricPlot[{Cos[t],Sin[t]},{t,0,2Pi}]图1.4 参数方程绘制的圆(1)图1.5 参数方程绘制的圆(2)In[3]中输入的是一个圆的参数方程,但由于系统默认的高宽比为0.618,故画出的是一个椭圆(图1.4),改变图形的高宽比可画出一个圆.In[4]:= ParametricPlot[{Cos[t],Sin[t]},{t,0,2Pi},AspectRatio->Automatic] (*图1.5*)5.3 三维函数作图作出二元函数),(y x f 的立体图形的命令是Plot3D ,其格式为:Plot3D[f[x,y],{x,xmin,xmax},{y,ymin,ymax},选项] In[5]:= Plot3D[Sin[Sqrt[x^2+y^2]],{x,-5,5},{y,-5,5}] (*图1.6*)与Plot 语句类似,Plot3D 语句中也可以加入许多选项.图1.6 三维函数作图1 图1.7 三维函数作图2In[6]:=Plot3D[Sin[Sqrt[x^2+y^2]],{x,-5,5},{y,-5,5},Boxed->False,Axes->False,PlotPoints->50,Mesh->False] (*图1.7*)表1.10 Plot3D语句的各种常用的选项5.4 三维参数作图在Mathematica软件中三维参数作图有两种形式,一种是空间曲线参数作图,其命令为:ParametricPlot3D[{x[t],y[t],z[t]},{t,tmin,tmax},选项]下面的命令给出图1.8中的螺旋线.In[7]:=ParametricPlot3D[{6Cos[t],6Sin[t],3*t},{t,-8,8},AspectRatio->1]另一种是空间曲面参数作图,其命令为:ParametricPlot3D[{x[u,v],y[u,v],z[u,v]},{u,umin,umax},{v,vmin,vmax},选项]图1.9是如下命令画出的球面.In[8]:=ParametricPlot3D[{Cos[u]*Cos[v],Sin[u]*Cos[v],Sin[v]},{u,0,2Pi},{v,-Pi/2,Pi/2},Boxed->False]图1.8 空间曲线参数作图图1.9 空间曲面参数作图5.5 数据作图Mathematica软件也可以根据一组数据作出图形,其命令为:ListPlot[数据,选项]In[9]:=p=Table[{n,Prime[n]},{n,1,20}];ListPlot[p] (*图1.10*)In[10]:=ListPlot[p,PlotStyle->AbsolutePointSize[4]](*图1.11,将点的大小定义为4个单位*)In[11]:=ListPlot[p,PlotJoined->True](*图1.12,将相邻的点用线段相连*)图1.10 散点图1 图1.11 散点图2图1.12 连线散点图5.6 图形的组合上述的各种图形命令中,ParametricPlot, ParametricPlot3D,Plot 三个语句不仅可以画出一个函数的图形,而且可以同时画出几个函数的图形.其一般形式为:图形命令[{函数1,函数2,…},变量范围,选项] In[12]:= Plot[{Sin[x],x,x-x^3/6,x-x^3/6+x^5/120},{x,-2Pi,2Pi}] (*图1.13*) In[13]:=ParametricPlot3D[{{Cos[u]*Cos[v],Sin[u]*Cos[v],Sin[v]},{2Cos[u]*Cos[v],2Sin[u]*Cos[v],2Sin[v]}},{u,0,Pi},{v,-Pi/2,Pi/2},Boxed->False,Axes->False](*图1.14*)图1.13 组合图形(1) 图1.14 组合图形(2)5.7图形元素作图如果要绘制一些最基本的图形,如点,线段,圆等,可以先用Graphics语句(三维图用Graphics3D)作出基本的图形元素,再用Show语句显示图形.常用的二维图形元素与三维图形元素分别见表1.11及表1.12.表1.11常用的二维图形元素执行下列语句所得图形为图1.15:v1= Graphics[Circle[{0,0},{3.5,4}]];v2= Graphics[Line[{{-2,2.5},{-1,2.5}}]];v3= Graphics[Line[{{2,2.5},{1,2.5}}]];v4= Graphics[Circle[{-1.5,1.5},0.5]];v5= Graphics[Circle[{1.5,1.5},0.5]];v6= Graphics[Disk[{-1.65,1.5},0.15]];v7= Graphics[Disk[{1.35,1.5},0.15]];v8= Graphics[Polygon[{{-0.5,-1},{0.5,-1},{0,0}}]];v9= Graphics[Circle[{0,-2},{0.5,0.3}]];v10=Graphics[Text["我是谁?",{0,-5}]];Show[v1,v2,v3,v4,v5,v6,v7,v8,v9,v10, AspectRatio->Automatic]图1.15 图形元素作图表1.12常用的三维图形元素5.8 图形的重绘Mathematica软件在屏幕上显示图形后,可以用Show命令再现图形、组合图形和修改图形的各种选项.Show命令的一般形式见表1.13:表1.13 Show命令的一般形式§6. 编程6.1 分支结构在复杂的计算中常需要根据表达式的情况(它是否满足一些条件)确定是否做某些处理,或在满足不同的条件时做不同的处理.Mathematica软件提供了一些描述条件分支的结构,它们常用在程序里,用于控制程序的执行过程.1. If语句Mathematica软件中If语句有三种形式.形式一:If[test,expr]当test的值为True时,对expr求值,将它的值作为整个语句的值;当test 的值为False时,则给出空值Null.形式二:If[test,expr1,expr2]当test的值为True时,求expr1的值作为整个语句的值;当test的值为False时,求expr2的值作为整个语句的值.形式三:If[test,expr1,expr2,expr3]当test的值为True时,求expr1的值作为整个语句的值;当test的值为False时,求expr2的值作为整个语句的值;当test求不出值为True与False 时,求expr3的值作为整个语句的值.In[1]:= abs[x_]=If[x>=0,x,-x]In[1]中定义出的函数abs[x]即为绝对值函数Abs[x].In[2]:=f[x_]:=If[x>5,3,2,1]In[3]:=f[6]Out[3]=3In[4]:=f[5]Out[4]=2In[5]:=f[a]Out[5]= 12. Which 语句Which[test1,expr1,test2,expr2,]该语句依次求出每一个条件的值,当求出第一个值为True 的条件时,求出对应表达式的值作为整个语句的值. 例:In[6]:=g[x_]:=Which[x>=8,8,x>=6,6,x>=4,4,True,0]用“True ”作为Which 语句的最后一个条件,可以处理“其它”情况.在此处即为,当x<4时,g[x]取值为0.6.2 循环结构高级程序设计语言都提供了描述重复执行的循环语句.在Mathematica 软件中也提供了一些类似的循环控制结构.1. While[test,expr]在计算时,条件test 先被求值.若求出值为True ,则对表达式求值,然后再重复上述过程;一旦test 的值不是True ,整个循环结构计算结束.例如下面的程序可用来计算∑=1001k k 与!100k=1;s=0;p=1;While[k<=100,s=s+k;p=p*k;k++]; Print[“s=”,s,“ p=”,p] 2. For[start,test,incr,body]在计算时,其初始表达式start 首先求值,然后进入循环,依次计算条件test ,步进表达式incr 与循环体body .一旦test 的值不是True ,整个循环结构计算结束.我们可将上面的程序用For 循环的形式改写如下: s=0;p=1;For[k=1,k<=100,k++, s=s+k;p=p*k]Print[“s=”,s,“ p=”,p] 3. Do[expr,{i,imin,imax,di}]在循环变量i 依步长di 从imin 取到imax 时,重复计算循环表达式expr . 上述程序可用Do 循环的形式写为: s=0;p=1;Do[s=s+k;p=p*k,{k,1,100}];Print[“s=”,s,“ p=”,p]6.3 过程在高级程序设计语言中提供了子程序功能,用来将某些语句串在一起以实现某种目的.Mathematica软件中的过程也有类似的功能.在Mathematica 软件中主要有两种过程.1. {expr1;expr2;…;exprn}这一过程的输出值为最后一个表达式exprn的值.下面的程序用来检验一个正整数是否可以写成两个素数的和.如果正整数x不能写成两个素数的和,则p[x]是一个空集;若正整数x能写成两个素数的和,则p[x]给出两个素数构成的集合,这两个素数的和为x.p[x_]:={m=2;n=Floor[x/2];s={};While[s=={}&&m<=n,If[PrimeQ[m]&&PrimeQ[x-m],s={m,x-m}];m++];s}2. Module[{x=x0,y,…},expr1;expr2;…;exprn]在Module过程中,大括号中的语句用来说明局部变量,并可以赋初值.其输出结果也是表达式exprn的值.有时,我们为了输出多个结果,可将Return[{exprk1,exprk2,…}]置于Module过程的最后一个语句.下面的程序的作用与上一个程序类似.只是输出有所不同,除了输出上述程序的结果,p[x]还给出用该程序进行判断所需的步数.p[x_]:= Module[{m=2,n=Floor[x/2],s={}},While[s=={}&&m<=n,If[PrimeQ[m]&&PrimeQ[x-m],s={m,x-m}];m++];Return[{s, m-2}]]读者可以运行上述两个程序来比较它们的不同.。

相关文档
最新文档