[工学]MATLAB与科学计算课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[工学]MATLAB与科学计算课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 MATLAB 科学 计算 课件
- 资源描述:
-
1、MATLAB与科学计算一、前言一、前言 MATLAB:matrix laboratory的缩写,的缩写,矩阵实验室的意思。一开始它是一种矩阵实验室的意思。一开始它是一种专门用于矩阵数值计算的软件。自专门用于矩阵数值计算的软件。自MATLAB4.0版本问世以来,该软件成版本问世以来,该软件成为最具有吸引力,应用最为广泛的科为最具有吸引力,应用最为广泛的科学计算语言。我们这个课就拿学计算语言。我们这个课就拿MATLAB6.1版本来讲。(版本来讲。(6.x版本大版本大同小异)同小异)学习该软件的必要性:学习该软件的必要性:目前,目前,MATLAB软件不仅走入企业、公软件不仅走入企业、公司和科研机构,
2、而且在高等院校司和科研机构,而且在高等院校也是从大学生到博士生都必须掌也是从大学生到博士生都必须掌握的一项基本技能,是必不可少握的一项基本技能,是必不可少的计算工具,。的计算工具,。MATLAB功能:功能:数值计算、符号数值计算、符号运算和图形处理。运算和图形处理。学习它的意义:学习它的意义:随着计算机科学随着计算机科学和计算软件的发展,数学系学生和计算软件的发展,数学系学生必须掌握一门好的计算软件。这必须掌握一门好的计算软件。这是我们就业、继续身造或做科研是我们就业、继续身造或做科研工作所要用到的。是当代大学生工作所要用到的。是当代大学生必备的一项技能。必备的一项技能。其它计算软件:其它计算
3、软件:MATHEMATIC(数学分析问题的计算);(数学分析问题的计算);IDL(航天、控制),(航天、控制),FOETRAN、BASIC(科学计算)。可以说一(科学计算)。可以说一个人掌握了一门计算软件,再学个人掌握了一门计算软件,再学习其它计算软件很容易。习其它计算软件很容易。MATLAB桌面平台:桌面平台:(1)(1)主窗口:整个大的窗口(其它主窗口:整个大的窗口(其它几个窗口都包括在其中)几个窗口都包括在其中)(2 2)命令窗口()命令窗口(command command windowwindow):):为运算提示符,表为运算提示符,表示示MATLABMATLAB在准备状态。当在提示在
4、准备状态。当在提示符后输入一段运算式并按回车键符后输入一段运算式并按回车键后,就给出计算结果后,就给出计算结果(3 3)历史窗口)历史窗口(command history)(command history):保留命令历史记录,这方便于使保留命令历史记录,这方便于使用者查询。双击历史窗口中的某用者查询。双击历史窗口中的某一行命令,即可在命令窗口中执一行命令,即可在命令窗口中执行该命令。行该命令。(4 4)当前目录窗口()当前目录窗口(current current directorydirectory):在当前目录窗口中):在当前目录窗口中可显示或改变当前目录,也可以可显示或改变当前目录,也可以
5、显示当前目录下的文件,并提供显示当前目录下的文件,并提供搜索功能。搜索功能。(5)(5)发行说明书窗口(发行说明书窗口(launch padlaunch pad):用来说明用户所拥有的用来说明用户所拥有的MathworksMathworks公司产品的工具包、演示以及帮助公司产品的工具包、演示以及帮助信息。信息。(6 6)工作间管理窗口)工作间管理窗口(workspaceworkspace):显示目前内存中所显示目前内存中所有的有的MATLABMATLAB变量的变量名、数学结变量的变量名、数学结构、字节数及其类型。构、字节数及其类型。命令窗口查询帮助:命令窗口查询帮助:help+help+函数名
6、,函数名,当用户知道函数名字,而不知道当用户知道函数名字,而不知道其用法时,用其用法时,用helphelp命令可以去了命令可以去了解此函数的用法。解此函数的用法。如:如:help invhelp invMATLABMATLAB标点的含义:标点的含义:(1 1)分号;)分号;区分行以及取消区分行以及取消运行显示等。例:运行显示等。例:A=1,2,3,4A=1,2,3,4与与A=1,2;3,4A=1,2;3,4;的区别。的区别。(2)(2)逗号,逗号,区分列及函数参区分列及函数参数分隔符等。例:数分隔符等。例:=1,2;3,4=1,2;3,4,B=1,4,3;3,2,1;4,5,6B=1,4,3;
7、3,2,1;4,5,6(3)(3)小括号():指定运算过程的小括号():指定运算过程的先后次序等。例:先后次序等。例:x=0.5;x=0.5;y=sin(x)/(2+cos(x)y=sin(x)/(2+cos(x)z=sin(x)/2+cos(x)z=sin(x)/2+cos(x)(4)(4)方括号方括号 :矩阵定义标志等。:矩阵定义标志等。见上。见上。(5 5)续行号)续行号:例:例:y=sin(x)/(2+cos(x)y=sin(x)/(2+cos(x)也可写为也可写为 y=sin(xy=sin(x)/(2+cos(x)/(2+cos(x)(6)(6)百分号百分号%:注释标记,该行:注释标
8、记,该行%以以后的语句不执行。例后的语句不执行。例%线性规划程序线性规划程序%a=0.5;%a=0.5;b=sin(xb=sin(x);%);%正弦函数正弦函数 (6 6)等号)等号=:赋值标记。见上。:赋值标记。见上。(7 7)单引号)单引号 :字符串表示:字符串表示符,单引号里面的内容为字符串。符,单引号里面的内容为字符串。单引号一定在英文状态下输入例:单引号一定在英文状态下输入例:a=xingtai college(8 8)冒号)冒号:有多种应用功:有多种应用功能,学习过程中注意。如:选取能,学习过程中注意。如:选取矩阵的所有行、列;矩阵定义矩阵的所有行、列;矩阵定义二、数值计算二、数值
9、计算变量:变量:MATLAB语言不需要对所使用语言不需要对所使用的变量进行事先声明,也不需要指定其的变量进行事先声明,也不需要指定其类型,它会自动根据所赋予变量的值或类型,它会自动根据所赋予变量的值或所进行的操作来确定变量的类型。如果所进行的操作来确定变量的类型。如果变量重新赋值将会用新值代替旧值。如:变量重新赋值将会用新值代替旧值。如:a=1 b=0.5 c=a*b c=3 变量命名的规则:变量命名的规则:(1 1)变量名区分大小写;)变量名区分大小写;(2 2)变量名长度不能超过)变量名长度不能超过3131位;位;(3 3)必须以字母开头,变量名中)必须以字母开头,变量名中可包含字母、数字
10、、下划线,但可包含字母、数字、下划线,但不能使用标点。不能使用标点。常量:常量:MATLAB中有些预定义的中有些预定义的变量,这些特殊的变量称为常量。变量,这些特殊的变量称为常量。常用到的有:常用到的有:i,j:虚数单位;虚数单位;pi:;NaN:表示不定值表示不定值,比如比如0/0;inf:无穷大(无穷大(infinit),比如),比如1/0。算术操作符:算术操作符:+、-:加,减;可以通用。:加,减;可以通用。*,,/:分别为矩阵乘,乘:分别为矩阵乘,乘方,左除,右除;方,左除,右除;.*,.,.,./:分别为数组乘,:分别为数组乘,乘方,左除,右除;此时向量的乘方,左除,右除;此时向量的
11、运算不会满足矩阵的运算法则。运算不会满足矩阵的运算法则。注意矩阵的加点运算结果。注意矩阵的加点运算结果。如:如:a1=2;a2=1,2,3,4;b2=4,3,2,1;a1+a2a1-a2a2-a1a1*a2a1./a2%a1/a2是错误的写法是错误的写法a1.a2 a2-b2a2+b2a2.*b2%a2*b2是错误的写法是错误的写法a2./b2b2./a2a2.b2例例 已知水的黏度随温度的变化公式已知水的黏度随温度的变化公式为为=0/(1+at+bt2)其中)其中0 0=1.785=1.7851010-3-3,a=0.03368,b=0.000221,a=0.03368,b=0.000221
12、,求水在求水在0 0,2020,4040,8080时的黏度。时的黏度。程序如下:程序如下:miu0=1.785e-3;a=0.03368;b=0.000221;t=0:20:80 miu=miu0./(1+a*t+b*t.2)运行后的结果为运行后的结果为:miu=0.0018 0.0010 0.0007 0.0005 0.0003 字符串:字符串:字符串的约定(字符串的约定(1)字符串用单引)字符串用单引号括起来;(号括起来;(2)字符串的每个)字符串的每个每个字符(包括空格)都是字符每个字符(包括空格)都是字符数组的一个元素数组的一个元素.例例 s=xingtai college f=sin
13、(x)是字符串(是字符串(char array)向量的生成:向量的生成:(1)直接输入:如)直接输入:如a=1,2,5,3 (2)利用冒号表达式生成:如:利用冒号表达式生成:如:b=2:2:10,此时此时 可省略,步长可省略,步长为为1时,步长可省略。第一个数为时,步长可省略。第一个数为首元素的值,第首元素的值,第2个数为步长或差个数为步长或差值,第三个数为尾元素的限值,不值,第三个数为尾元素的限值,不能超过这个值。如能超过这个值。如b=2;2:11等价于等价于b=2:2:10(3)线性等份向量生成:)线性等份向量生成:y=linspace(x1,x2,n),生成生成n维向维向量,使得量,使得
14、y(1)=x1,y(n)=x2。如:。如:y=linspace(1,100,6)。l向量的基本运算向量的基本运算(1)向量的加减:用)向量的加减:用+、-。同维向。同维向量才可以加、减。相应元素加减量才可以加、减。相应元素加减(2 2)向量与数可以加、减。用)向量与数可以加、减。用+、-。数与向量的每个元素进行作用。数与向量的每个元素进行作用。(3 3)向量与数可以相乘。用)向量与数可以相乘。用*。(4)(4)向量与数可以相除。向量向量与数可以相除。向量/数,数,数数././向量。向量。(5 5)两个向量点积。必须是同维)两个向量点积。必须是同维向量。用向量。用dot(a,bdot(a,b)。
15、(6 6)两个向量叉积。)两个向量叉积。cross(a,b),a,bcross(a,b),a,b必须有是必须有是3 3维且次维且次序不能颠倒序不能颠倒,。(7 7)混合积。由以上两个函数实现。)混合积。由以上两个函数实现。dot(a,cross(b,cdot(a,cross(b,c)矩阵的生成:矩阵的生成:(1)直接输入直接输入:如如:a=1,3,4;4,3,2.(2)(2)创建创建M M文件输入大矩阵文件输入大矩阵:当矩阵当矩阵很大时很大时,直接输入显得很笨直接输入显得很笨,出错出错不易修改不易修改.我们可以编写一个我们可以编写一个M M文文件件,M,M文件的扩展名必须是文件的扩展名必须是m
16、.m.例例 编写一个名为编写一个名为matrix.mmatrix.m(名字名字自己随便起自己随便起)的的M M文件如下文件如下:%matrix.m%matrix.mmat=1,2,3,3;3,4,5,1;3,2,1,4;8,mat=1,2,3,3;3,4,5,1;3,2,1,4;8,9,7,59,7,5 在命令窗口中输入在命令窗口中输入matrix,matrix,就就会运行该文件会运行该文件.查看矩阵的结构可查看矩阵的结构可用用size(matsize(mat).).矩阵运算矩阵运算:(1)+(1)+、-、*:加、减、乘运算。:加、减、乘运算。(2 2)矩阵的除法有两种形式)矩阵的除法有两种形
17、式:左除左除“”和右除和右除/./.右除是先计算右除是先计算逆再做乘法逆再做乘法;而左除不计算逆直接而左除不计算逆直接进行除法运算进行除法运算,这样可避免奇异矩这样可避免奇异矩阵无法求逆带来的麻烦阵无法求逆带来的麻烦.如如:A=1,2,3,2;3,2,:A=1,2,3,2;3,2,4,1;3,1,5,6;2,5,3,2,4,1;3,1,5,6;2,5,3,2,b=1;3;2;1,b=1;3;2;1,求方程组求方程组Ax=bAx=b的解的解.由于由于rank(A)=rank(Brank(A)=rank(B)=4(B)=4(B为增为增广矩阵广矩阵),),所以有唯一解所以有唯一解,x=Ab,x=Ab
18、,或或x=inv(Ax=inv(A)*b.b.又如又如:A=361,625,961,1444,1936;1,1,1,A=361,625,961,1444,1936;1,1,1,1,1,b=1;1,1,1,b=1;1,求方程组求方程组Ax=bAx=b的的解解.由于由于rank(A)=rank(Brank(A)=rank(B)=2(B)=2(B为增为增广矩阵广矩阵),),所以有无穷多个所以有无穷多个解解,MATLAB,MATLAB中用除法解方程组时所中用除法解方程组时所得到的解是所有解中范数最小的一得到的解是所有解中范数最小的一个个x=Abx=Ab。(3 3)矩阵与常数间的运算)矩阵与常数间的运算
19、:+:+、-、*运算是数与矩阵的每个元素进行运算是数与矩阵的每个元素进行运算,除法运算,只能常数做除运算,除法运算,只能常数做除数。数。(4 4)矩阵求逆:)矩阵求逆:inv(Ainv(A)为为A A的逆的逆(inverse).(inverse).(5 5)求转置矩阵)求转置矩阵:A.:A.(6 6)求矩阵的行列)求矩阵的行列式式:det(A:det(A),(determinant),(determinant是行是行列式列式)。(7 7)矩阵幂运算:用)矩阵幂运算:用.如如A3,A3,表示表示A A*A A*A A。(8 8)矩阵指数运算:)矩阵指数运算:expm(A),Aexpm(A),A为
20、为方阵。方阵。(9 9)矩阵对数运算)矩阵对数运算:logm(A),A:logm(A),A为为方阵。方阵。如:如:a=rand(3)a=rand(3);%成生一个成生一个3 3阶阶随机矩阵随机矩阵 b=expm(ab=expm(a)c=logm(b c=logm(b)(1010)矩阵开方:)矩阵开方:sqrtm(asqrtm(a).).(11)(11)求矩阵呢的秩:求矩阵呢的秩:rank(arank(a).).特殊矩阵的生成:特殊矩阵的生成:(1 1)zeros(nzeros(n):):生成生成 n nn n阶阶0 0矩阵。矩阵。(2 2)zeros(m,nzeros(m,n):):生成生成
21、m mn n阶阶0 0矩矩阵。阵。(3 3)zeros(size(azeros(size(a):):生成与生成与a a阶数阶数相同的相同的0 0矩阵。矩阵。(4 4)eye(neye(n):):生成生成 n n阶单位矩阵。阶单位矩阵。(5 5)eye(m,neye(m,n):):生成生成 m mn n阶单位阶单位矩阵。矩阵。(6 6)eye(size(aeye(size(a):):生成与生成与a a阶数阶数相同的单位矩阵。相同的单位矩阵。(7 7)ones(nones(n):):生成生成 n n阶全阶全1 1矩阵。矩阵。(8 8)ones(m,nones(m,n):):生成生成 m mn n阶
22、全阶全1 1矩阵。矩阵。(9 9)ones(size(aones(size(a):):生成与生成与a a阶数阶数相同的全相同的全1 1矩阵。矩阵。(1010)rand(nrand(n):):生成生成 n nn n阶随机矩阶随机矩阵,其元素值在阵,其元素值在0 0和和1 1之间。之间。(1111)rand(m,nrand(m,n):):生成生成 m mn n阶随机阶随机矩阵。矩阵。(1212)randrand:生成一个随机数。:生成一个随机数。(1313)rand(size(arand(size(a):):生成与生成与a a阶阶数相同的随机矩阵。数相同的随机矩阵。l矩阵的特殊操作:矩阵的特殊操作
23、:(1 1)变维操作)变维操作reshape(a,m,nreshape(a,m,n):):把把矩阵矩阵a a变成变成n nn n阶矩阵。如阶矩阵。如 a=1:12,reshape(a,2,6),a=1:12,reshape(a,2,6),reshape(a,3,4)reshape(a,3,4)。注意变维操作。注意变维操作要保证元素个数一致。要保证元素个数一致。例例s=1:12;s=1:12;c=zeros(3,4);c=zeros(3,4);c(:)=s(:);%c(:)=s(:);%符号符号“:”:”表示表示变维操作,这两个矩阵必须预先变维操作,这两个矩阵必须预先定义维数,结果定义维数,结果
24、c c取的是取的是s s的元素。的元素。(2 2)对角元素抽取)对角元素抽取diag(a,kdiag(a,k)(注:(注:diagonaldiagonal为对角线的意思):抽为对角线的意思):抽取矩阵取矩阵a a的第的第k k条对角线的元素作条对角线的元素作为向量,为向量,k=0 k=0 时为主对角线,时为主对角线,k k为为正值时为上方第正值时为上方第k k条对角线,条对角线,k k为为负值时为下方第负值时为下方第k k条对角线。条对角线。diag(adiag(a)相当于相当于diag(a,0).diag(a,0).例例 a=rand(3);v=diag(aa=rand(3);v=diag(
25、a)说明:如果说明:如果b b是一个向量,则是一个向量,则diag(bdiag(b)为对角矩阵,其对角线元素为为对角矩阵,其对角线元素为b b的的元素。如:元素。如:b=1:3,diag(b).b=1:3,diag(b).(3 3)tril(atril(a)()(注:注:triangle triangle low):low):提取矩提取矩a a的主下三角。的主下三角。(4 4)tril(atril(a,k):k):提取矩提取矩a a的第的第k k条条对角线下面部分。对角线下面部分。k=0 k=0 时为主对时为主对角线,角线,k k为正值时为上方第为正值时为上方第k k条对条对角线,角线,k k
展开阅读全文