《计算物理(研究生用)》[第1篇]共48页文档课件.ppt

上传人(卖家):三亚风情 文档编号:2892149 上传时间:2022-06-08 格式:PPT 页数:48 大小:331KB
下载 相关 举报
《计算物理(研究生用)》[第1篇]共48页文档课件.ppt_第1页
第1页 / 共48页
《计算物理(研究生用)》[第1篇]共48页文档课件.ppt_第2页
第2页 / 共48页
《计算物理(研究生用)》[第1篇]共48页文档课件.ppt_第3页
第3页 / 共48页
《计算物理(研究生用)》[第1篇]共48页文档课件.ppt_第4页
第4页 / 共48页
《计算物理(研究生用)》[第1篇]共48页文档课件.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、第第一一讲讲绪绪论论合肥工业大学理学院第一篇第一篇 绪绪 论论1.1 计算物理学概述计算物理学概述 一、计算物理学一、计算物理学:以计算机技术为手段,运用数学:以计算机技术为手段,运用数学方法,解决复杂物理问题的一门应用学科。方法,解决复杂物理问题的一门应用学科。说明说明: 1、边缘学科;是物理、数学、计算机科学相结合、边缘学科;是物理、数学、计算机科学相结合的交叉科学;的交叉科学; 2、物理学的一个分支,与理论物理和实验物理密、物理学的一个分支,与理论物理和实验物理密切相关。切相关。 3、对复杂物理规律进行研究的重要手段。、对复杂物理规律进行研究的重要手段。第第一一讲讲绪绪论论合肥工业大学理

2、学院1 1)实验数据的处理;)实验数据的处理;2 2)实时控制;)实时控制;3 3)自动控制。)自动控制。实验物理:实验物理:例如:在核物理和高能物理实验中,计算机能自例如:在核物理和高能物理实验中,计算机能自动处理数据,并挑选出对研究最有用的一些数据。动处理数据,并挑选出对研究最有用的一些数据。再如:计算分析宇宙飞船的最优飞行路线等。神再如:计算分析宇宙飞船的最优飞行路线等。神洲六。洲六。 另外,非线性物理学问题,微观结构计算另外,非线性物理学问题,微观结构计算。第第一一讲讲绪绪论论合肥工业大学理学院 杂志的发展杂志的发展1966年,美国年,美国,伯尼、奥尔德等伯尼、奥尔德等,计算物理杂志计

3、算物理杂志;1969年,西欧(英),伯基,年,西欧(英),伯基,计算物理通讯计算物理通讯;1984年,中国,核学会,年,中国,核学会,计算物理计算物理。1 1)经过简化假设,实验上升到理论模型;)经过简化假设,实验上升到理论模型;2 2)利用现有数学知识进行分析,遇到计算困难;)利用现有数学知识进行分析,遇到计算困难;3 3)计算机导致了数值分析方法、蒙特卡罗方法、分)计算机导致了数值分析方法、蒙特卡罗方法、分子动力学方法子动力学方法;4 4)量子物理、统计物理、非线性物理)量子物理、统计物理、非线性物理;理论物理理论物理第第一一讲讲绪绪论论合肥工业大学理学院二、计算物理学研究方法:二、计算物

4、理学研究方法: 分析物理问题分析物理问题建立模型建立模型选择算法选择算法计算机计算机上运算、分析和模拟上运算、分析和模拟 结果。结果。1、算法的选择算法的选择:当确定了物理问题的模型后,:当确定了物理问题的模型后,就要选择算法进行数值或非数值计算求解。就要选择算法进行数值或非数值计算求解。它是计算物理的基础;它是计算物理的基础;算法选择的好坏,直接影响到能否计算出结果、算法选择的好坏,直接影响到能否计算出结果、运算精度的高低、计算量的大小等;运算精度的高低、计算量的大小等;如果提出新的算法,对算法进行分析。如果提出新的算法,对算法进行分析。第第一一讲讲绪绪论论合肥工业大学理学院(1)模型误差模

5、型误差:将实际的物理问题归结为数学问题:将实际的物理问题归结为数学问题时,忽略了某些次要因素,是理想化的时,忽略了某些次要因素,是理想化的“数学模数学模型型”,模型本身存在着一定的误差。,模型本身存在着一定的误差。(2)观测误差观测误差:数学模型中含有实验测量的物理参:数学模型中含有实验测量的物理参数,带有一定的误差。如:物质密度、比热等。数,带有一定的误差。如:物质密度、比热等。(3)截断(方法)误差截断(方法)误差:计算机有限次运算,不能:计算机有限次运算,不能获得精确解而引来的误差。获得精确解而引来的误差。(4)舍入误差:舍入误差:计算机有限字长带来的舍入误差。计算机有限字长带来的舍入误

6、差。2、算法的误差:算法的误差:所有数值计算方法(逼近)都存在所有数值计算方法(逼近)都存在误差。来源主要有以下四个方面:误差。来源主要有以下四个方面:第第一一讲讲绪绪论论合肥工业大学理学院3、计算的收敛性和稳定性:计算的收敛性和稳定性:(2)稳定性稳定性:更关注舍入误差的问题,这是由于计:更关注舍入误差的问题,这是由于计算机的有限字长带来的误差算机的有限字长带来的误差 在一定条件下,两者是关联的和等价的,两者在一定条件下,两者是关联的和等价的,两者的关系表现得很复杂,要弄清所采取的方法是否的关系表现得很复杂,要弄清所采取的方法是否具有收敛性或稳定性往往非常困难。具有收敛性或稳定性往往非常困难

7、。(1)收敛性收敛性:主要是研究算法误差的变化问题。有:主要是研究算法误差的变化问题。有时随着计算的进行,误差越来越大,达到完全不时随着计算的进行,误差越来越大,达到完全不可靠的程度,这时收敛性就差或称发散。可靠的程度,这时收敛性就差或称发散。第第一一讲讲绪绪论论合肥工业大学理学院1.2 MATLAB语言基础语言基础1.2.1 MATLAB的窗口环境的窗口环境一、一、MATLAB语言的显著特点语言的显著特点1、具有强大的矩阵运算、具有强大的矩阵运算能力:能力:Matrix Laboratory(矩阵实验室),使得矩阵运算非常简单。(矩阵实验室),使得矩阵运算非常简单。2、 MATLAB是一种演

8、算式语言是一种演算式语言基本数据单元的基本数据单元的维数维数和和类型类型不需要特别说明;不需要特别说明;数学表达式和运算规则与通常的习惯类同;数学表达式和运算规则与通常的习惯类同;含有丰富的数学函数、数学处理方法和含有丰富的数学函数、数学处理方法和绘图功能绘图功能;第第一一讲讲绪绪论论合肥工业大学理学院1、启动、启动MATLAB命令窗口命令窗口启动启动:安装好:安装好MATLAB后,双击后,双击MATLAB图标图标进入命令窗口,在命令窗口中直接输入命令语句。进入命令窗口,在命令窗口中直接输入命令语句。命令:命令:MATLAB语句格式语句格式 XXXX,如:,如:变量表达式;变量表达式; 将表达

9、式的值赋予变量。当键入回车键时,该语将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句句被执行。语句执行之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则只要在执行的结果。如果希望结果不被显示,则只要在语句之后加上语句之后加上一个分号(;)一个分号(;)即可。即可。二、二、MATLAB命令窗口命令窗口第第一一讲讲绪绪论论合肥工业大学理学院(1)编辑修改命令用方向键和控制键来完成)编辑修改命令用方向键和控制键来完成 :回上一行命令回上一行命令 :回下一行命令:回下一行命令(2)分页输出命令)分页输出命令more off:不允许分页:不允许分页 more

10、 on:允许分页:允许分页“回车键回车键”前进一行,前进一行,“空格键空格键”显示下一页,显示下一页,“q”结束当前显示。结束当前显示。(3)多行的续行命令()多行的续行命令()如果命令语句太长希望分行输入,则可用此命令。如果命令语句太长希望分行输入,则可用此命令。2、命令行编辑器、命令行编辑器S=1-12+13+4+ 9-4-18;例、例、 jswlx_1_4_1.m第第一一讲讲绪绪论论合肥工业大学理学院1、变量、变量(1)变量的命名变量的命名:规则与其它语言类同。:规则与其它语言类同。三、变量和数值显示格式三、变量和数值显示格式(2)一些特殊的标示符(其中有些可以认为是变量或)一些特殊的标

11、示符(其中有些可以认为是变量或常量)常量)ansans:用于结果的缺省变量名:用于结果的缺省变量名 i i、j j:虚数单位:虚数单位realmaxrealmax:最大正实数:最大正实数2 2+1023 +1023 pipi:圆周率:圆周率realminrealmin:最小正实数:最小正实数2 2-1022-1022 eps eps:运算最小数:运算最小数1010-52-52InfInf:无穷大:无穷大 NaNNaN:不定值:不定值第第一一讲讲绪绪论论合肥工业大学理学院变量值的提取变量值的提取:在命令窗口中,变量值可以在任何:在命令窗口中,变量值可以在任何需要的时候被调用。需要的时候被调用。

12、命令格式如:命令格式如:a(3)变量操作变量操作2、数值显示格式、数值显示格式语句后不加语句后不加“;”时,执行结果可以在屏幕上显时,执行结果可以在屏幕上显示,同时赋值给指定的变量。如果没有指定变量,示,同时赋值给指定的变量。如果没有指定变量,则赋值给一个特殊的变量则赋值给一个特殊的变量ans。如果结果为整数,则显示没有小数;如果结果不如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式由是整数,则输出形式由format命令来控制。命令来控制。第第一一讲讲绪绪论论合肥工业大学理学院1、常用的数学运算符、常用的数学运算符;*;/(右除);(右除);(左除);(左除);(幂)(幂)在运算式

13、中,多条命令可以放在一行中,它们之在运算式中,多条命令可以放在一行中,它们之间需要用间需要用“;”或或“,”隔开。隔开。 “,”要求显示要求显示结果,而结果,而“;”则禁止结果显示。则禁止结果显示。四、简单的数学运算四、简单的数学运算例、例、jswlx_1_4_ 2.m2、常用数学函数、常用数学函数 abs;sin;cos;tan;asin;sqrt;exp;sign;mod(求余);(求余);log;imag(复数虚部);(复数虚部);real (复(复数实部)数实部) ;conj(共扼复数)(共扼复数) 等等第第一一讲讲绪绪论论合肥工业大学理学院1、MATLAB的工作空间常用命令:的工作空

14、间常用命令:who:显示工作空间中所有变量的一个简单列表:显示工作空间中所有变量的一个简单列表whos:列出变量的大小、数据格式等详细信息:列出变量的大小、数据格式等详细信息clear :清除工作空间中所有的变量:清除工作空间中所有的变量clear +变量名:清除指定的变量变量名:清除指定的变量clc:清屏:清屏五、五、MATLAB的工作空间(的工作空间(workspace)1、help + 命令:在命令窗口中显示某命令帮助信息命令:在命令窗口中显示某命令帮助信息help graphics_通用图形函数的帮助信息。通用图形函数的帮助信息。2、demo:打开示例窗口:打开示例窗口 3、Help菜

15、单菜单六、使用帮助六、使用帮助第第一一讲讲绪绪论论合肥工业大学理学院yy=2,4, 53 6 8y= 2 4 5 3 6 8一、向量与矩阵的创建一、向量与矩阵的创建1.2.2 向量与矩阵运算向量与矩阵运算a=1; b=2; c=3;x=5 b c; a*b a+c c/bx= 5.000 2.000 3.000 2.000 4.000 1.5001、在命令窗口中输入、在命令窗口中输入矩阵的元素:纯数字矩阵的元素:纯数字(含复数含复数)或变量或变量(表达式表达式)。矩阵的元素放在矩阵的元素放在方括号方括号内,行与行之间用内,行与行之间用“;”隔隔开开,行内元素用,行内元素用空格或空格或“,”隔开

16、。回车键同隔开。回车键同“;” 。一行的矩阵就是向量。大的矩阵可用分行输入。一行的矩阵就是向量。大的矩阵可用分行输入。第第一一讲讲绪绪论论合肥工业大学理学院(1)用线性等间距生成向量矩阵)用线性等间距生成向量矩阵start:step:endstart:step:enda=1:2:10a= 1 3 5 7 9start为起始值,为起始值,step为步长,为步长,end为终止值。当步长为为终止值。当步长为1时可省略时可省略step参数;另外参数;另外step也可以取负数。也可以取负数。2、语句生成、语句生成(2 2)a=linspace(n1,n2,n)在线性空间上,行矢量的值从在线性空间上,行矢

17、量的值从n1到到n2,数,数据个数为据个数为n,缺省,缺省n为为100。a=linspace(1,10,10)a= 1 2 3 4 5 6 7 8 9 10第第一一讲讲绪绪论论合肥工业大学理学院单位矩阵单位矩阵:eye(m,n); %m行行n列对角线为列对角线为1的矩阵的矩阵 eye(m) ; % m阶单位方阵阶单位方阵(3)一些常用的特殊矩阵)一些常用的特殊矩阵零矩阵零矩阵:zeros(m,n); %m行行n列全列全0矩阵矩阵 zeros(m); %m阶全阶全0方阵方阵eye(2,3)ans= 1 0 0 0 1 0eye(2)ans= 1 0 0 1zeros(2,3)ans= 0 0 0

18、 0 0 0zeros(2)ans= 0 0 0 0第第一一讲讲绪绪论论合肥工业大学理学院ones(2)ans= 1 1 1 1ones(2,3)ans= 1 1 1 1 1 1全一矩阵全一矩阵:ones(m,n); ones(m)(0,1)均匀分布随机矩阵均匀分布随机矩阵:rand(m,n)产生一个产生一个mn的均匀分布在(的均匀分布在(0,1)间的随机矩阵)间的随机矩阵第第一一讲讲绪绪论论合肥工业大学理学院1、转置:对于实矩阵用(、转置:对于实矩阵用()符号或()符号或(.)求转置)求转置结果是一样的;然而对于含复数的矩阵,则(结果是一样的;然而对于含复数的矩阵,则()将同时对复数进行共轭

19、处理,而将同时对复数进行共轭处理,而 (.)则只是将)则只是将其排列形式进行转置。其排列形式进行转置。a=1 2 3;4 5 6a = 1 4 2 5 3 6a=1 2 3;4 5 6.a = 1 4 2 5 3 6b=1+2i 2-7ib = 1.0000 - 2.0000i 2.0000 + 7.0000ib=1+2i 2-7i.b = 1.0000 + 2.0000i 2.0000 - 7.0000i二、矩阵的运算二、矩阵的运算第第一一讲讲绪绪论论合肥工业大学理学院+ ; - ;* ; 和和 / ; ; .* ; . ; ./ ; .如:如:a=1 2;3 4;b= 3 5; 5 9c=

20、a+b d=a-bc= d= 4 7 -2 -3 8 13 -2 -5a*b13 23; 29 51a/b -0.50 0.50;3.50 1.50ab -1 -1;2 3a3 37 54; 81 118a.*b 3 10;15 36a./b 0.33 0.40;0.60 0.44a.b 3.00 2.50;1.67 2.25a.3 1 8; 27 642、四则运算与幂运算、四则运算与幂运算 只有维数相同的矩阵才能只有维数相同的矩阵才能进行加减运算。进行加减运算。 注意矩阵乘运算条件(前注意矩阵乘运算条件(前列后行相同)。列后行相同)。 ab左除运算等效于求左除运算等效于求a*x=b的解;而右

21、除的解;而右除a/b等等效于求效于求 b*x =a的解。的解。 只有方阵才可以求幂。只有方阵才可以求幂。 “.” .”运算是两个维数相同矩运算是两个维数相同矩阵对应元素之间的运算。阵对应元素之间的运算。第第一一讲讲绪绪论论合肥工业大学理学院3、逆矩阵与行列式计算(方阵)、逆矩阵与行列式计算(方阵)求逆:求逆:inv(A);求行列式:;求行列式:det(A)a=1 2 3; 4 5 6; 2 3 5;b=inv(a)b = -2.3333 0.3333 1.0000 2.6667 0.3333 -2.0000 -0.6667 -0.3333 1.0000det(a)ans = -3第第一一讲讲绪

22、绪论论合肥工业大学理学院1、矩阵下标操作、矩阵下标操作A(m,n):提取第:提取第m行,第行,第n列元素列元素A(:,n):提取第:提取第n列元素列元素A(m,:):提取第:提取第m行元素行元素A(m1:m2,n1:n2):提取第:提取第m1行到第行到第m2行和第行和第n1列到第列到第n2列的所有元素(提取子块)。列的所有元素(提取子块)。三、矩阵的操作三、矩阵的操作第第一一讲讲绪绪论论合肥工业大学理学院m,n=size(A,x):返回矩阵的行列数:返回矩阵的行列数m与与n,当,当x=1,则只返回行数则只返回行数m,当,当x=2,则只返回列数,则只返回列数n。a=1 2 3;3 4 5;m,n

23、=size(a)m = 2n = 32、矩阵的大小、矩阵的大小length(a)ans = 3max(size(a)ans = 3length(A)或或max(size(A):返回行或列数的最大值。:返回行或列数的最大值。rank(a)ans = 2rank(A):求矩阵的秩:求矩阵的秩第第一一讲讲绪绪论论合肥工业大学理学院1.4.3 MATLAB绘图简介绘图简介MATLAB提供了丰富的绘图功能提供了丰富的绘图功能help graph2d可得到所有画二维图形的命令可得到所有画二维图形的命令help graph3d可得到所有画三维图形的命令可得到所有画三维图形的命令1、基本的绘图命令、基本的绘图

24、命令plot(x1,y1,option1,x2,y2,option2,)t x1,y1给出的数据分别为给出的数据分别为x,y轴坐标值,轴坐标值,option1为为选项参数,以逐点连折线的方式绘制选项参数,以逐点连折线的方式绘制1个二维图个二维图形;同时类似地绘制第二个二维图形,形;同时类似地绘制第二个二维图形,.。第第一一讲讲绪绪论论合肥工业大学理学院例如:例如: plot(x,y)plot(x,y);plot(x,y,option)plot(x,y,option)选项参数选项参数optionoption定义了图形曲线的颜色、线型及定义了图形曲线的颜色、线型及标示符号,它由一对单引号括起来。标

25、示符号,它由一对单引号括起来。例、例、 jswlx_1_4_ 3.m jswlx_1_4_ 3_.m2 2、选择图像、选择图像figure(1););figure(2););figure(n)打开不同的图形窗口,以便绘制不同的图形。打开不同的图形窗口,以便绘制不同的图形。3 3、grid on:在所画出的图形坐标中加入栅格:在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格:除去图形坐标中的栅格第第一一讲讲绪绪论论合肥工业大学理学院4、hold on:把当前图形保持在屏幕上不变,同时:把当前图形保持在屏幕上不变,同时 允许在这个坐标内绘制另外一个图形。允许在这个坐标内绘制另外

26、一个图形。 hold off:使新图覆盖旧的图形:使新图覆盖旧的图形例、例、jswlx_1_4_4.m jswlx_1_4_ 4_.m5、设轴的范围、设轴的范围axis(xmin xmax ymin ymax)例例jswlx_1_4 _5.maxis(equal):将:将x坐标轴和坐标轴和y坐标轴的单位刻度大坐标轴的单位刻度大小调整为一样。小调整为一样。第第一一讲讲绪绪论论合肥工业大学理学院title(字符串字符串):在图形的上端显示字符串:在图形的上端显示字符串(标题标题)。xlabel(字符串字符串),ylabel(字符串字符串):设置:设置x,y坐标轴的名称。坐标轴的名称。text(x,

27、y,字符串字符串):在图的坐标:在图的坐标 (x,y)处,标示单处,标示单引号内的字符串。引号内的字符串。特殊文字要用反斜杠(特殊文字要用反斜杠()开头)开头。7、legend(字符串字符串1,字符串字符串2,字符串字符串n)在屏幕上开启一个小视窗,依据绘图命令的先后,在屏幕上开启一个小视窗,依据绘图命令的先后,用对应的字符串区分图形上的线。用对应的字符串区分图形上的线。 例、例、jswlx_1_4 _6.m6、文字标示、文字标示第第一一讲讲绪绪论论合肥工业大学理学院8、subplot(mnk):分割图形显示窗口):分割图形显示窗口m:上下分割个数,上下分割个数,n:左右分割个数,左右分割个数

28、,k:子图编号子图编号例、例、jswlx_1_4 _7.m9、了解应用型绘图指令:可用于数值统计分析或了解应用型绘图指令:可用于数值统计分析或离散数据处理离散数据处理bax(x,y););x、y的高度条形图的高度条形图 hist( x, y ););x在在y的范围直方图的范围直方图stairs(x,y);台阶图);台阶图 stem(x,y);火柴杆图);火柴杆图例、例、jswlx_1_4 _8.m第第一一讲讲绪绪论论合肥工业大学理学院1.2.4 MATLABMATLAB程序设计入门程序设计入门一、一、MATLBA程序的基本设计原则程序的基本设计原则1、程序的注释程序的注释:使程序更具可读性。:

29、使程序更具可读性。(_1_4_4_.m)2、主程序开头用主程序开头用clear:消除工作空间中其他变量对消除工作空间中其他变量对程序运行的影响。但注意在程序运行的影响。但注意在子程序子程序中不要用中不要用clear。3、参数值集中放在程序的开始部分参数值集中放在程序的开始部分:便于维护。:便于维护。4、语句行之后输入语句行之后输入“;”:中间结果不显示。:中间结果不显示。5、程序尽量模块化程序尽量模块化:采用主程序调子程序的方法。:采用主程序调子程序的方法。6、工作路径:工作路径:设置好设置好MATLAB的工作路径。的工作路径。第第一一讲讲绪绪论论合肥工业大学理学院Editor/Debugge

30、r窗口窗口:MATLAB的程序编辑器。的程序编辑器。在编辑器中,文字的不同颜色表明不同的属性。在编辑器中,文字的不同颜色表明不同的属性。绿色:注解;绿色:注解; 黑色:程序主体;黑色:程序主体; 红色:属性值的设定;红色:属性值的设定; 蓝色:控制流程。蓝色:控制流程。工作路径的设置工作路径的设置:在运行程序之前,必须设置好:在运行程序之前,必须设置好MATLAB的工作路径,使得所要运行的程序及运的工作路径,使得所要运行的程序及运行程序所需要的其他文件处在设置的目录之下。行程序所需要的其他文件处在设置的目录之下。通过路径浏览器(通过路径浏览器(path browser)就可进行设置)就可进行设

31、置二、二、M文件的编辑文件的编辑第第一一讲讲绪绪论论合肥工业大学理学院1 、程序文件、程序文件以以.m格式进行存取格式进行存取,包含一连串的,包含一连串的MATLAB指令。指令。需要在工作空间中创建变量,没有输入参数,也需要在工作空间中创建变量,没有输入参数,也不会返回参数。不会返回参数。程序运行程序运行:用快捷菜单;或在工作空间中键入其:用快捷菜单;或在工作空间中键入其名称(注意当前路径名称(注意当前路径Current Directory)。)。三、三、MATLAB的程序类型的程序类型MATLAB的程序类型主要有两种:的程序类型主要有两种: (1)程序文件;)程序文件; (2) 函数(函数(

32、function)文件。)文件。第第一一讲讲绪绪论论合肥工业大学理学院(1)函数定义行(关键字)函数定义行(关键字function)格式:格式:function out1,out2,.=filename(in1,in2,.)放在函数的最开始。放在函数的最开始。输入和输出(返回)的参数个数分别由输入和输出(返回)的参数个数分别由MATLAB的保留变量来定。的保留变量来定。filename:函数名函数名与与文件名文件名同名。同名。2、函数文件、函数文件函数接受输入参数,然后执行并输出结果。函数函数接受输入参数,然后执行并输出结果。函数中语句顺序是:中语句顺序是:第第一一讲讲绪绪论论合肥工业大学理学

33、院(3)函数体语句)函数体语句与命令窗口的语句一样书写。与命令窗口的语句一样书写。(2)函数注释(或)函数注释(或help)行)行在定义行之后。在定义行之后。以(以(%)开头和空行结束的连续数个注释行组成。)开头和空行结束的连续数个注释行组成。用用help命令可以显示它的注释说明。命令可以显示它的注释说明。 例例jswlx_1_4 _9.m第第一一讲讲绪绪论论合肥工业大学理学院1、函数程序调用:函数程序调用:函数程序与主程序之间的数据是函数程序与主程序之间的数据是通过参数进行传递的。函数程序是采用主程序传递通过参数进行传递的。函数程序是采用主程序传递来的参数进行计算后,将结果返回主程序的。来的

34、参数进行计算后,将结果返回主程序的。 例例jswlx_1_4 _10.m四、函数程序中的变量四、函数程序中的变量2、局部变量、全局变量:局部变量、全局变量:如果函数内的变量没有特如果函数内的变量没有特别声明,那么这个变量只在函数内部使用,即为别声明,那么这个变量只在函数内部使用,即为局局部变量部变量。如果多个函数共用一个变量,那么可以用。如果多个函数共用一个变量,那么可以用global来将它声明为来将它声明为全局变量全局变量。 例例jswlx_1_4 _11.m第第一一讲讲绪绪论论合肥工业大学理学院五、常用的编程命令五、常用的编程命令 pausepause:停止:停止m m文件的执行直至有键按

35、下。文件的执行直至有键按下。pause(n)pause(n)将使程序暂停将使程序暂停n n秒。秒。 echo on/offecho on/off:控制是否在屏幕上显示程序内容。:控制是否在屏幕上显示程序内容。 x=input(prompt)x=input(prompt):把输入的字符串作为提示:把输入的字符串作为提示符,等待使用者输入一个响应,然后把它赋值到符,等待使用者输入一个响应,然后把它赋值到x x。第第一一讲讲绪绪论论合肥工业大学理学院MATLAB的运算符有三种类型:算术运算符、关的运算符有三种类型:算术运算符、关系运算符、逻辑运算符。计算优先顺序依次为算术系运算符、逻辑运算符。计算优

36、先顺序依次为算术运算符、关系运算符、逻辑运算符。运算符、关系运算符、逻辑运算符。六、关系与逻辑运算符六、关系与逻辑运算符1、关系运算符、关系运算符假设有:假设有:A=1 2 -1 -5 B=0 2 3 1 小于小于 AB ans=0 0 1 1 ; A 大于大于 AB ans=1 0 0 0 ; A1 ans=0 1 0 0= 小于等于小于等于 A= 大于等于大于等于 A=B ans=1 1 0 0 = = 等于等于 A=B ans=0 1 0 0 ;A=1 ans=1 0 0 0= 不等于不等于 A=B ans=1 0 1 1 ; A=1 ans=0 1 1 1第第一一讲讲绪绪论论合肥工业大

37、学理学院 非非 A 0 0 1 0 1 02、逻辑运算符、逻辑运算符注意:在处理逻辑运算时,运算元只有两个值即注意:在处理逻辑运算时,运算元只有两个值即0 0和和1 1(非(非0 0)。如果指定的数为)。如果指定的数为0 0,则,则MATLAB认认为其为为其为0 0;若数不为;若数不为0 0,则认为是,则认为是1 1。设有:设有:A=5 -4 0 -0.5 B=0 1 0 9& 与与 (串联)(串联) A&B0 1 0 1 A&1 1 1 0 1| 或或 (并联)(并联) A|B 1 1 0 1 A|1 1 1 1 1第第一一讲讲绪绪论论合肥工业大学理学院步长缺省值为步长缺省值为1,可以在正实

38、数或负实数范围内任,可以在正实数或负实数范围内任意指定。对于正数,循环变量的值大于终止值时,意指定。对于正数,循环变量的值大于终止值时,循环结束;对于负数,循环变量的值小于终止值循环结束;对于负数,循环变量的值小于终止值时,循环结束。循环结构可以嵌套使用。时,循环结束。循环结构可以嵌套使用。 例例jswlx_1_4 _12.m 七、程序流程控制七、程序流程控制1、for循环语句循环语句for 循环变量起始值:步长:终止值循环变量起始值:步长:终止值 循环体循环体end第第一一讲讲绪绪论论合肥工业大学理学院2、while循环语句循环语句while 表达式表达式 循环体循环体end 若表达式为真,

39、则执行循环体的内容,执行后再若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若不为真,则跳出循环体,判断表达式是否为真,若不为真,则跳出循环体,向下继续执行。向下继续执行。 例例jswlx_1_4 _13.m While循环和循环和for循环的区别在于,循环的区别在于,while循环结循环结构的循环体被执行的次数不是确定的,而构的循环体被执行的次数不是确定的,而for结结构中循环体的执行次数是确定的。构中循环体的执行次数是确定的。第第一一讲讲绪绪论论合肥工业大学理学院3、if,else语句语句(1)if 逻辑表达式逻辑表达式 执行语句执行语句 end当逻辑表达式的值为真时,执行该

40、当逻辑表达式的值为真时,执行该结构中的执行语句,执行完之后继结构中的执行语句,执行完之后继续向下进行;若为假,则跳过结构续向下进行;若为假,则跳过结构中的内容,向下执行。中的内容,向下执行。(2)if 逻辑表达式逻辑表达式 (3) if 逻辑表达式逻辑表达式1 执行语句执行语句1 执行语句执行语句1 else elseif 逻辑表达式逻辑表达式2 执行语句执行语句2 执行语句执行语句2 end end if-else的执行方式为:如果逻辑表达式的值为真,则执行语的执行方式为:如果逻辑表达式的值为真,则执行语句句1,然后跳过语句,然后跳过语句2,向下执行;如果为假,则执行语句,向下执行;如果为假

41、,则执行语句2,然后向下执行。然后向下执行。 例例jswlx_1_4 _14.m第第一一讲讲绪绪论论合肥工业大学理学院格式:格式:switch 表达式(可以是标量或字符串)表达式(可以是标量或字符串) case 值值1 语句语句1 case 值值2 语句语句2 . otherwise 语句语句3 end 例例jswlx_1_4 _15.m执行方式:表达式的值和哪执行方式:表达式的值和哪种情况种情况(case)的值相同,就的值相同,就执行哪种情况中的语句,如执行哪种情况中的语句,如果不同,则执行果不同,则执行otherwise中的语句。格式中也可以不中的语句。格式中也可以不包括包括otherwi

42、se,这时如果,这时如果表达式的值与列出的各种情表达式的值与列出的各种情况都不相同,则继续向下执况都不相同,则继续向下执行。行。4、switch语句语句第第一一讲讲绪绪论论合肥工业大学理学院1.2.5 几个简单的模拟实例几个简单的模拟实例实例一、振动合成和拍频模拟实例一、振动合成和拍频模拟 (例例jswlx_1_5_1.m)t=0:0.001:10;a1=5;w1=300;v1=3;a2=10;w2=310;v2=4; %振幅振幅;角频率角频率;初位相初位相y1=a1*sin(w1*t+v1);%振动一振动一y2=a2*sin(w2*t+v2);%振动二振动二y=y1+y2;%振动合成振动合成

43、subplot(3,1,1),plot(t,y1),ylabel(y1);subplot(3,1,2),plot(t,y2),ylabel(y2);subplot(3,1,3),plot(t,y),ylabel(y),xlabel(t);pause,sound(y1);%pause:等待用户按键再执行等待用户按键再执行;sound(x):x声音声音pause(2),sound(y2);%pause(n):等待等待n秒后继续执行秒后继续执行pause(2),sound(y);pause;)221221cos()221221sin()21( )221221cos()221221sin()21(vv

44、twwvvtwwaavvtwwvvtwwaay第第一一讲讲绪绪论论合肥工业大学理学院实例二、阻尼振动模拟实例二、阻尼振动模拟(例例jswlx_1_5_2.m)单自由度阻尼系统振动方程:单自由度阻尼系统振动方程:mx+cx+kx=0 解得解得:x(t)=Aexp(-nt) sin(dt+)其中其中2000022020001),arctan(,)()(nddddxvxxxvAx0和和v0分别为初位置和初速度。分别为初位置和初速度。程序中取程序中取n=10, x0 =2, v0 =1,计算终点时间,计算终点时间tf=3,从从0.1到到0.9。第第一一讲讲绪绪论论合肥工业大学理学院实例三、赫姆霍兹线圈

45、磁场分布模拟实例三、赫姆霍兹线圈磁场分布模拟(例例jswlx_1_5_3.m)赫姆霍兹线圈就是间距正好等于线圈半径的一对相赫姆霍兹线圈就是间距正好等于线圈半径的一对相同的共轴载流圆线圈。轴线附近的磁场的大小十分同的共轴载流圆线圈。轴线附近的磁场的大小十分均匀,而且都是沿均匀,而且都是沿x方向。方向。程序模拟结果是其中一个线圈在轴线程序模拟结果是其中一个线圈在轴线x=-R,R内的磁内的磁场分布。场分布。y是是R方向。方向。实例四、迈克尔逊干涉现象模拟实例四、迈克尔逊干涉现象模拟(例例jswlx_1_5_4.m)实例五、杨氏双缝干涉现象模拟实例五、杨氏双缝干涉现象模拟(例例jswlx_1_5_5.

46、m)实例六、夫朗和费孔衍射现象模拟实例六、夫朗和费孔衍射现象模拟(例例jswlx_1_5_6.m)第第一一讲讲绪绪论论合肥工业大学理学院作业及上机内容作业及上机内容1、简述计算物理学概念及研究内容。、简述计算物理学概念及研究内容。2、简述计算物理学中算法的主要误差来源。、简述计算物理学中算法的主要误差来源。3、熟悉、熟悉MATLAB命令窗口及部分命令。主要有:命令窗口及部分命令。主要有:行编辑命令行编辑命令、;分页输出;分页输出more on/off;续行;续行4、变量定义、数值显示、特殊标示符识别,主要有、变量定义、数值显示、特殊标示符识别,主要有ans、i、j、pi、eps、inf、NaN

47、等。等。5、熟悉常用数学运算符、熟悉常用数学运算符+、-、*、/、.;熟悉;熟悉常用数学函数常用数学函数 abs、sin、cos、sqrt、exp、mod、log、imag、real、conj等。等。第第一一讲讲绪绪论论合肥工业大学理学院6、熟悉工作空间命令、熟悉工作空间命令who、whos、clear、clc、help、demo等。等。7、熟悉矩阵(向量)的创建:、熟悉矩阵(向量)的创建:直接生成直接生成,;,;语句生成;语句生成xmin:n:xmax,linspace(xmin,xmax,m);特殊矩阵生成;特殊矩阵生成 eye()、zeros()、ones()、rand() 。8、熟悉矩

48、阵的运算,主要有:四则与幂、熟悉矩阵的运算,主要有:四则与幂+、-、*、/、 .*、./、.、.;转置;转置、.;逆;逆inv()、行列、行列式式det();求秩;求秩rank()等。等。9、熟悉矩阵的操作,提取矩阵元素或子块、熟悉矩阵的操作,提取矩阵元素或子块A(m,n)、A(:,n)、A(m,:)、A(m1:m2,n1:n2)第第一一讲讲绪绪论论合肥工业大学理学院10、熟悉绘图命令,主要有、熟悉绘图命令,主要有plot()、figure()、grid on/off、hold on/off、axis()、text()、title()、x/ylabel()、subplot()等。等。11、熟悉程序文件和函数文件的编写,主要有函数、熟悉程序文件和函数文件的编写,主要有函数文件编写基本原则;变量运用;数学、关系、逻文件编写基本原则;变量运用;数学、关系、逻辑运算符运用;条件语句和循环语句运用。辑运算符运用;条件语句和循环语句运用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《计算物理(研究生用)》[第1篇]共48页文档课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|