计算物理(研究生用)》[第1篇

上传人:san****019 文档编号:70541731 上传时间:2019-01-17 格式:PPT 页数:47 大小:276.01KB
返回 下载 相关 举报
计算物理(研究生用)》[第1篇_第1页
第1页 / 共47页
计算物理(研究生用)》[第1篇_第2页
第2页 / 共47页
计算物理(研究生用)》[第1篇_第3页
第3页 / 共47页
计算物理(研究生用)》[第1篇_第4页
第4页 / 共47页
计算物理(研究生用)》[第1篇_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《计算物理(研究生用)》[第1篇》由会员分享,可在线阅读,更多相关《计算物理(研究生用)》[第1篇(47页珍藏版)》请在金锄头文库上搜索。

1、计算物理学,合肥工业大学理学院,合肥工业大学理学院,第一篇 绪 论,1.1 计算物理学概述,一、计算物理学:以计算机技术为手段,运用数学方法,解决复杂物理问题的一门应用学科。,说明: 1、边缘学科;是物理、数学、计算机科学相结合的交叉科学; 2、物理学的一个分支,与理论物理和实验物理密切相关。 3、对复杂物理规律进行研究的重要手段。,合肥工业大学理学院,1)实验数据的处理; 2)实时控制; 3)自动控制。,实验物理:,例如:在核物理和高能物理实验中,计算机能自动处理数据,并挑选出对研究最有用的一些数据。 再如:计算分析宇宙飞船的最优飞行路线等。神洲六。 另外,非线性物理学问题,微观结构计算。,

2、合肥工业大学理学院,杂志的发展 1966年,美国,伯尼、奥尔德等,计算物理杂志; 1969年,西欧(英),伯基,计算物理通讯; 1984年,中国,核学会,计算物理。,1)经过简化假设,实验上升到理论模型; 2)利用现有数学知识进行分析,遇到计算困难; 3)计算机导致了数值分析方法、蒙特卡罗方法、分子动力学方法; 4)量子物理、统计物理、非线性物理;,理论物理,合肥工业大学理学院,二、计算物理学研究方法: 分析物理问题建立模型选择算法计算机上运算、分析和模拟 结果。,1、算法的选择:当确定了物理问题的模型后,就要选择算法进行数值或非数值计算求解。 它是计算物理的基础; 算法选择的好坏,直接影响到

3、能否计算出结果、运算精度的高低、计算量的大小等; 如果提出新的算法,对算法进行分析。,合肥工业大学理学院,(1)模型误差:将实际的物理问题归结为数学问题时,忽略了某些次要因素,是理想化的“数学模型”,模型本身存在着一定的误差。 (2)观测误差:数学模型中含有实验测量的物理参数,带有一定的误差。如:物质密度、比热等。 (3)截断(方法)误差:计算机有限次运算,不能获得精确解而引来的误差。 (4)舍入误差:计算机有限字长带来的舍入误差。,2、算法的误差:所有数值计算方法(逼近)都存在误差。来源主要有以下四个方面:,合肥工业大学理学院,3、计算的收敛性和稳定性:,(2)稳定性:更关注舍入误差的问题,

4、这是由于计算机的有限字长带来的误差 在一定条件下,两者是关联的和等价的,两者的关系表现得很复杂,要弄清所采取的方法是否具有收敛性或稳定性往往非常困难。,(1)收敛性:主要是研究算法误差的变化问题。有时随着计算的进行,误差越来越大,达到完全不可靠的程度,这时收敛性就差或称发散。,合肥工业大学理学院,1.2 MATLAB语言基础,1.2.1 MATLAB的窗口环境 一、MATLAB语言的显著特点 1、具有强大的矩阵运算能力:Matrix Laboratory(矩阵实验室),使得矩阵运算非常简单。 2、 MATLAB是一种演算式语言 基本数据单元的维数和类型不需要特别说明; 数学表达式和运算规则与通

5、常的习惯类同; 含有丰富的数学函数、数学处理方法和绘图功能;,合肥工业大学理学院,1、启动MATLAB命令窗口 启动:安装好MATLAB后,双击MATLAB图标进入命令窗口,在命令窗口中直接输入命令语句。 命令:MATLAB语句格式 XXXX,如: 变量表达式; 将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则只要在语句之后加上一个分号(;)即可。,二、MATLAB命令窗口,合肥工业大学理学院,(1)编辑修改命令用方向键和控制键来完成 :回上一行命令 :回下一行命令 (2)分页输出命令 more off:不允许分页 mor

6、e on:允许分页 “回车键”前进一行,“空格键”显示下一页,“q”结束当前显示。 (3)多行的续行命令() 如果命令语句太长希望分行输入,则可用此命令。,2、命令行编辑器,合肥工业大学理学院,1、变量 (1)变量的命名:规则与其它语言类同。,三、变量和数值显示格式,(2)一些特殊的标示符(其中有些可以认为是变量或常量) ans:用于结果的缺省变量名 i、j:虚数单位 realmax:最大正实数2+1023 pi:圆周率 realmin:最小正实数2-1022 eps:运算最小数10-52 Inf:无穷大 NaN:不定值,合肥工业大学理学院,变量值的提取:在命令窗口中,变量值可以在任何需要的时

7、候被调用。 命令格式如:a,(3)变量操作,2、数值显示格式 语句后不加“;”时,执行结果可以在屏幕上显示,同时赋值给指定的变量。如果没有指定变量,则赋值给一个特殊的变量ans。 如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式由format命令来控制。,合肥工业大学理学院,1、常用的数学运算符 ;*;/(右除);(左除);(幂) 在运算式中,多条命令可以放在一行中,它们之间需要用“;”或“,”隔开。 “,”要求显示结果,而“;”则禁止结果显示。,四、简单的数学运算,例、jswlx_1_4_ 2.m,2、常用数学函数 abs;sin;cos;tan;asin;sqrt;exp;si

8、gn;mod(求余);log;imag(复数虚部);real (复数实部) ;conj(共扼复数) 等,合肥工业大学理学院,1、MATLAB的工作空间常用命令: who:显示工作空间中所有变量的一个简单列表 whos:列出变量的大小、数据格式等详细信息 clear :清除工作空间中所有的变量 clear +变量名:清除指定的变量 clc:清屏,五、MATLAB的工作空间(workspace),1、help + 命令:在命令窗口中显示某命令帮助信息 help graphics_通用图形函数的帮助信息。 2、demo:打开示例窗口 3、Help菜单,六、使用帮助,合肥工业大学理学院,y=2,4,

9、5 3 6 8 y= 2 4 5 3 6 8,一、向量与矩阵的创建,1.2.2 向量与矩阵运算,a=1; b=2; c=3; x=5 b c; a*b a+c c/b x= 5.000 2.000 3.000 2.000 4.000 1.500,1、在命令窗口中输入,矩阵的元素:纯数字(含复数)或变量(表达式)。 矩阵的元素放在方括号内,行与行之间用“;”隔开,行内元素用空格或“,”隔开。回车键同“;” 。 一行的矩阵就是向量。大的矩阵可用分行输入。,合肥工业大学理学院,(1)用线性等间距生成向量矩阵start:step:end a=1:2:10 a= 1 3 5 7 9,start为起始值,

10、step为步长,end为终止值。当步长为1时可省略step参数;另外step也可以取负数。,2、语句生成,(2)a=linspace(n1,n2,n) 在线性空间上,行矢量的值从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方阵,合肥工业大学理学院,全一矩阵:ones(m,n); ones(

11、m),(0,1)均匀分布随机矩阵:rand(m,n)产生一个mn的均匀分布在(0,1)间的随机矩阵,合肥工业大学理学院,1、转置:对于实矩阵用()符号或(.)求转置结果是一样的;然而对于含复数的矩阵,则()将同时对复数进行共轭处理,而 (.)则只是将其排列形式进行转置。,a=1 2 3;4 5 6 a = 1 4 2 5 3 6,a=1 2 3;4 5 6. a = 1 4 2 5 3 6,b=1+2i 2-7i b = 1.0000 - 2.0000i 2.0000 + 7.0000i b=1+2i 2-7i. b = 1.0000 + 2.0000i 2.0000 - 7.0000i,二、

12、矩阵的运算,合肥工业大学理学院,+ ; - ;* ; 和 / ; ; .* ; . ; ./ ; . 如:a=1 2;3 4;b= 3 5; 5 9 c=a+b d=a-b c= d= 4 7 -2 -3 8 13 -2 -5 a*b13 23; 29 51 a/b -0.50 0.50;3.50 1.50 ab -1 -1;2 3 a3 37 54; 81 118 a.*b 3 10;15 36 a./b 0.33 0.40;0.60 0.44 a.b 3.00 2.50;1.67 2.25 a.3 1 8; 27 64,2、四则运算与幂运算,只有维数相同的矩阵才能进行加减运算。 注意矩阵乘

13、运算条件(前列后行相同)。 ab左除运算等效于求a*x=b的解;而右除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.0000 det(a) ans = -3,合肥工业大学理学院,1、矩阵下标操作 A(m,n):提取第m行,第n列元素 A(:,n)

14、:提取第n列元素 A(m,:):提取第m行元素 A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到第n2列的所有元素(提取子块)。,三、矩阵的操作,合肥工业大学理学院,2、矩阵的大小,合肥工业大学理学院,1.4.3 MATLAB绘图简介,MATLAB提供了丰富的绘图功能 help graph2d可得到所有画二维图形的命令 help graph3d可得到所有画三维图形的命令,1、基本的绘图命令 plot(x1,y1,option1,x2,y2,option2,) x1,y1给出的数据分别为x,y轴坐标值,option1为选项参数,以逐点连折线的方式绘制1个二维图形;同时类似地绘制第

15、二个二维图形,.。,合肥工业大学理学院,例如: plot(x,y);plot(x,y,option) 选项参数option定义了图形曲线的颜色、线型及标示符号,它由一对单引号括起来。 例、 jswlx_1_4_ 3.m jswlx_1_4_ 3_.m,2、选择图像 figure(1);figure(2);figure(n) 打开不同的图形窗口,以便绘制不同的图形。,3、grid on:在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格,合肥工业大学理学院,4、hold on:把当前图形保持在屏幕上不变,同时 允许在这个坐标内绘制另外一个图形。 hold off:使新图覆盖旧的图形 例、jswlx_1_4_4.m jswlx_1_4_ 4_.m,5、设轴的范围 axis(xmin xmax ymin ymax) 例jswlx_1_4 _5.m axis(equal):将x坐标轴和y坐标轴的单位刻度大小调整为一样。,合肥工业大学理学院,title(字符串):在图形的上端显示字符串(标题)。 xlabel(字符串),ylabel(字符串):设置x,y坐标轴的名称。 text(x,y,字符串):在图的坐标 (x,y)处,标示单引号内的字符串。特殊文字要用反斜杠()开头。 7、legend(字符串1,字符串2,字符串n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号