MATLAB自学教程
72页1、精讲多练 MATLAB主讲:张安莉 第第1 1章章 MATLABMATLAB语言的基本使用方法语言的基本使用方法 了解了解MATLABMATLAB的基本知识及其上机环境的基本知识及其上机环境 学会利用学会利用MATLABMATLAB进行基本的数学运算进行基本的数学运算MATLAB的工作环境的工作环境 Matlab Matlab 首先是一个视窗软件,意思是说,它在一个图形首先是一个视窗软件,意思是说,它在一个图形操作界面內开启自己的视窗。我们目前都使用操作界面內开启自己的视窗。我们目前都使用Windows Windows 操作操作界面,那也就是说,我们在界面,那也就是说,我们在WindowsWindows桌面上,双击桌面上,双击MatlabMatlab的图的图标,就进入标,就进入MatlabMatlab的工作环境,也就是它的视窗。如下图:的工作环境,也就是它的视窗。如下图: MATLAB的工作环境的工作环境 他的外框和功能表、工具列,都与一般的他的外框和功能表、工具列,都与一般的 Windows Windows 视视窗软件窗软件( (例如例如 MS-Word) MS-Word) 长得很像
2、,因此在一般性质的操作长得很像,因此在一般性质的操作上,也是相同的。上,也是相同的。 Matlab Matlab 视窗的工作区域被切分为三块:视窗的工作区域被切分为三块:Workspace(Workspace(工作空工作空间间) )、command historycommand history(历史命令窗口)和(历史命令窗口)和command windowcommand window(命令窗口)。(命令窗口)。 command windowcommand window是用户与是用户与MatlabMatlab进行人机对进行人机对话的主要环境。话的主要环境。v命令窗口:用户在命令窗口:用户在提示符后键入命令,回车后,系统会执提示符后键入命令,回车后,系统会执行输入的命令,并给出计算结果。行输入的命令,并给出计算结果。v有很多的控制键和命令键可用于命令行的编辑。例如用有很多的控制键和命令键可用于命令行的编辑。例如用,箭头键可以将所用过的指令调回来重复使用。其他的如箭头键可以将所用过的指令调回来重复使用。其他的如,Home,End,Delete,InsertHome,End,Delete,In
3、sert等,其功能一用便知。等,其功能一用便知。v清除命令窗口:清除命令窗口:clcclcv清除工作空间:清除工作空间:clear allclear all(清除全部变量);(清除全部变量);clear aclear a(清除已(清除已存在的变量存在的变量a a););1.1 基本计算基本计算 MATLABMATLAB具备最普通的掌上型计算器具备最普通的掌上型计算器 (calculator) (calculator) 功能。功能。使用使用MATLABMATLAB进行数学式的计算就象用计算器进行数字运算进行数学式的计算就象用计算器进行数字运算一样简便方便。一样简便方便。他可以做基本的四則运算,例如:他可以做基本的四則运算,例如: 假设要计算假设要计算 1+2+3+4+51+2+3+4+5的结果,则只需在命令窗的系统的结果,则只需在命令窗的系统提示符号提示符号之后键入该算式之后键入该算式: : 1+2+3+4+5 1+2+3+4+5 ans =ans =1515 他知道先乘除后加減,例如他知道先乘除后加減,例如 2*3-4 2*3-4 ,得到正确的答案,得到正确的答案 2 2。 遇到需要先
4、加減的情況,可以用一对小括号,例如:遇到需要先加減的情況,可以用一对小括号,例如: (1 + 2) * (3 - 12) (1 + 2) * (3 - 12) 得到正确的答案得到正确的答案 -27-27。 计算器当然不能只会计算整数,他也会处理小数。例计算器当然不能只会计算整数,他也会处理小数。例如以下是一个除法计算如以下是一个除法计算 1 / 2 1 / 2 得到答案得到答案 0.50.5。但是。但是 Matlab Matlab 输出的格式输出的格式0.50000.5000。再试试看再试试看 1.23 * 4 1.23 * 4 或者或者 1.2 * 3.41.2 * 3.4 。 除了四则运算与括号之外,除了四则运算与括号之外,Matlab Matlab 也具备一般掌上型也具备一般掌上型计算器该有的最基本功能,这包括计算平方根计算器该有的最基本功能,这包括计算平方根(square root)(square root),指,指令是令是 sqrt( )sqrt( ),例如,例如 sqrt(4) sqrt(4) 在在 sqrt( ) sqrt( ) 里面可以有其他的运算,例如里面可以有其他的
5、运算,例如 sqrt(1+2) sqrt(1+2) 或或者者sqrt(1+2*3) sqrt(1+2*3) 另一个基本功能是绝对值另一个基本功能是绝对值 (absolute value)(absolute value),指令是,指令是abs( )abs( ),例如,例如 abs(-3) abs(-3) 或者或者 abs(7-3) abs(7-3) 或者或者 abs(3-7) abs(3-7) 像像sqrt( )sqrt( )和和abs( )abs( )这种功能,在这种功能,在 Matlab Matlab 中称为函数中称为函数(function)(function)。函数可以和其他常数或函数做计算,例如函数可以和其他常数或函数做计算,例如 7+abs(3-7) 7+abs(3-7) 或者或者 sqrt(9)+abs(7-3) sqrt(9)+abs(7-3) MatlabMatlab其实具备一般工程性计算器该有的基本功能。其实具备一般工程性计算器该有的基本功能。这包这包括幂次方、指数与对数函数、三角与反三角函数等等。我们先括幂次方、指数与对数函数、三角与反三角函数等等。我们先看看幂次方。
6、计算幂次方的符号就是常用的看看幂次方。计算幂次方的符号就是常用的 记号。指数部记号。指数部分可以是任意数。例如分可以是任意数。例如 22 22 或者或者 2(-1) 2(-1) 或者或者 2(1/2) 2(1/2) 或者或者 2(1.25)2(1.25) MatlabMatlab具备一般工程性计算器该有的基本功能具备一般工程性计算器该有的基本功能指数指数与对数。与对数。科学与工程领域惯用标准指数函数,也就是科学与工程领域惯用标准指数函数,也就是以以e e为底为底的指数函数。其中,的指数函数。其中,e e是一个无理数,大约等于是一个无理数,大约等于2.718282.71828。 MatlabMatlab并不提供并不提供e e这个常数,我们不能按幂指数的形式来写这个常数,我们不能按幂指数的形式来写, ,比如:比如: e2 e2 !是非法的。是非法的。 MatlabMatlab以函数以函数exp( )exp( )来计算以来计算以e e为底的指数函数。比如:为底的指数函数。比如: exp(1)exp(1)得到常数得到常数e e的近似值。的近似值。 Matlab Matlab 分别提供三个函数分
7、别提供三个函数 log( ) log( ) 、 log10( ) log10( ) 和和 log2( )log2( ),分别表示以,分别表示以 e e 为底的对数(自然对数),以为底的对数(自然对数),以1010为底为底的对数(常用对数)。例如的对数(常用对数)。例如 log(exp(2) log(exp(2) 和和 log10(100) log10(100) 和和 log2(4) log2(4) 的答案都是的答案都是 2 2。 MatlabMatlab具备一般工程性计算器该有的基本功能具备一般工程性计算器该有的基本功能三角与三角与反三角函数。反三角函数。六个三角函数在六个三角函数在MatlabMatlab中对应的函数分别为中对应的函数分别为: 正弦()余弦()正切()余切()正割()余割()MatlabMatlab具备一般工程性计算器该有的基本功能具备一般工程性计算器该有的基本功能三角与三角与反三角函数。反三角函数。六个反三角函数在六个反三角函数在MatlabMatlab中对应的函数分别为中对应的函数分别为: 反正弦()反余弦()反正切()反余切()反正割()反余割()他们的用法并没
8、有什么特殊的,需要注意的就是使用他们的用法并没有什么特殊的,需要注意的就是使用三角函数时,角度的单位是三角函数时,角度的单位是“弧度弧度”,而不是,而不是“度度”如果如果题设的已知条件给的是题设的已知条件给的是“度度”,我们需要将他转化为弧度,我们需要将他转化为弧度来计算。来计算。 Matlab Matlab 甚至超越了一般工程型计算器该有的基本功能,甚至超越了一般工程型计算器该有的基本功能,以后我们会看到更多超越的功能,现在先看一个:复数。以后我们会看到更多超越的功能,现在先看一个:复数。比如我们要比如我们要MatlabMatlab計算計算 sqrt(-1)sqrt(-1)而以为他不会,但是他回答而以为他不会,但是他回答 0 + 1.0000i0 + 1.0000i Matlab Matlab 的所有运算符号、所有函数,都懂得如何做复数的所有运算符号、所有函数,都懂得如何做复数计算。例如计算。例如 (1+2i)-(1-2i) (1+2i)-(1-2i) 或者或者 3* (1+2i)3* (1+2i) abs( ) abs( ) 计算的是复数的长度,也就是复数的模。例计算的是复数的长度
9、,也就是复数的模。例如:如:abs(3+4i) abs(3+4i) 我们知道答案的确是我们知道答案的确是5 5。 复数的平方根是由比较系数法求得,例如要找复数的平方根是由比较系数法求得,例如要找 1+2i 1+2i 的平方根,就计算的平方根,就计算 (a + bi)2 = 1+2i (a + bi)2 = 1+2i 然后比较系数得到联立然后比较系数得到联立方程式方程式 a2 - b2 = 1a2 - b2 = 1 2ab = 2 2ab = 2 Matlab Matlab 可以代劳,只要说可以代劳,只要说 sqrt(1+2i) sqrt(1+2i) 就行了。就行了。由此,我们知道了由此,我们知道了MatlabMatlab他认识复数。他认识复数。 1.2 变量变量 Matlab Matlab 比工程型计算器更好,除了因为他会计算复数之比工程型计算器更好,除了因为他会计算复数之外,还因为他接受变量外,还因为他接受变量 (variable(variable)。变量是指在程序执行)。变量是指在程序执行过程中其值可以变化的量。简化来说,过程中其值可以变化的量。简化来说,MatlabMatlab的
10、变量应该有的变量应该有两个属性:两个属性:(1 1)变量名)变量名(2 2)它的值)它的值想象变量是一口箱子,在箱子上贴了标签,表明他的名想象变量是一口箱子,在箱子上贴了标签,表明他的名字,箱子里面放着他的值。字,箱子里面放着他的值。箱子本来不存在,只要你的箱子本来不存在,只要你的Matlab Matlab 的操作视窗里的操作视窗里“呼唤呼唤”他的名字,他就出现了。比如:他的名字,他就出现了。比如:foo foo Matlab Matlab 可能回应可能回应Undefined function or variable Undefined function or variable foofoo,这就是这就是Matlab Matlab 沒有一个名叫沒有一个名叫 foo foo 的函数,也沒有一口名叫的函数,也沒有一口名叫 foo foo 的箱子。的箱子。但是,只要说但是,只要说 foo = 5 foo = 5 Matlab Matlab 就自动制造了一口名叫就自动制造了一口名叫foofoo的箱子,并且在箱子里放的箱子,并且在箱子里放了数值了数值5 5。之后,你可以再说之后,你可以再说 fo
11、o foo Matlab Matlab 就会告告诉你,就会告告诉你,foo foo 的值是的值是 5 5。 把一个数值放进箱子的学名叫做指派把一个数值放进箱子的学名叫做指派 (assign)(assign),也就是,也就是赋值。赋值。Matlab Matlab 用用 = = 作为指派符号。用法是作为指派符号。用法是 变量名字变量名字 = = 数值数值如果变量名字原来不存在,如果变量名字原来不存在,Matlab Matlab 就临时开一口新箱子给你;就临时开一口新箱子给你;如果它原来就存在,如果它原来就存在,Matlab Matlab 放进新的数值,旧的便不见了,放进新的数值,旧的便不见了,就好像新的数值覆盖了旧的数值。因为箱子里面的数值很就好像新的数值覆盖了旧的数值。因为箱子里面的数值很容易改变,所以我们称它为变量。容易改变,所以我们称它为变量。 指派的数值可以是一指派的数值可以是一个常数,例如个常数,例如 foo = 2.7183 foo = 2.7183 或者任何计算的结果,例如或者任何计算的结果,例如foo = 2.7183(-2) foo = 2.7183(-2) 或者或者 f
12、oo = exp(i*pi)foo = exp(i*pi) 变量的显然用处就是节省打字。如果某个数值要一用再用,可变量的显然用处就是节省打字。如果某个数值要一用再用,可以利用变量把它存起來,将来再用。比如可以说以利用变量把它存起來,将来再用。比如可以说x = (-8)(1/3) x = (-8)(1/3) 然后再说然后再说 x3 x3 看看看看 Matlab Matlab 是不是真的计算了是不是真的计算了 -8 -8 的三次方根?的三次方根?在在 Matlab Matlab 中,等号中,等号 = = 是是“指派指派”的意思,不是数学中的意思,不是数学中“相等相等“的意思的意思 。比如。比如foo = 1/5; foo = 1/5; 那么那么 0.2 0.2 就被指派给就被指派给foofoo,但是,但是 Matlab Matlab 并没有回应。看起来并没有回应。看起来好像好像 Matlab Matlab 没反应,但是其实他已经做好了。不信的话,就没反应,但是其实他已经做好了。不信的话,就下指令下指令 foofoo 只写一个变量名字只写一个变量名字 ( (別加分号別加分号) ),Matla
13、b Matlab 就会回应那个变量的就会回应那个变量的值。其实,这是一个简单的规则:变量如果出现在等号的左值。其实,这是一个简单的规则:变量如果出现在等号的左边,就是要被指派的意思。边,就是要被指派的意思。除此而外,只要在除此而外,只要在 Matlab Matlab 指令的任何地方写出变量的名指令的任何地方写出变量的名字,就是要取出它的值。而取出來之后,那个数值就可以如同字,就是要取出它的值。而取出來之后,那个数值就可以如同常数般做任何计算。例如常数般做任何计算。例如 foo * 5 foo * 5 或者或者 1 / foo 1 / foo 都会执行正确的计算。都会执行正确的计算。 第章第章 MATLABMATLAB的数值运算的数值运算介绍介绍MATLABMATLAB的两种基本的数值运算:的两种基本的数值运算:、矩阵、矩阵、多项式、多项式.1 矩阵矩阵Matlab Matlab 原本就是原本就是 Matrix Laboratory (Matrix Laboratory (矩阵实验室矩阵实验室) ) 的缩的缩写,所以他会认识矩阵,我们应该不会感到意外。我们用写,所以他会认识矩阵,我们应该
14、不会感到意外。我们用 A = 1, 2; 3, 4 A = 1, 2; 3, 4 指派一个指派一个 2x2 2x2 方阵给变量方阵给变量 A A。输入矩阵的时候,我们用中括号夹住两端,用逗号(,)输入矩阵的时候,我们用中括号夹住两端,用逗号(,)或者空格分开元素,用分号(;)分列。元素可以是常数、变或者空格分开元素,用分号(;)分列。元素可以是常数、变量和任何计算出来的数值。量和任何计算出来的数值。例如例如x = pi;x = pi;B = pi, exp(1),log(2);sin(x/2),-cos(3*x/4),1+2(-2)+3(-2)B = pi, exp(1),log(2);sin(x/2),-cos(3*x/4),1+2(-2)+3(-2)生成一个生成一个2x3 2x3 矩阵,并指派给变量矩阵,并指派给变量 B B。MatlabMatlab是一个超级计算器是一个超级计算器以矩阵为物件。以矩阵为物件。一般的计算一般的计算器或数值计算软件,都能做加减乘除这些运算,通常也都用器或数值计算软件,都能做加减乘除这些运算,通常也都用作为运算符,但是这些运算符都是作用在两个整数或者作为
15、运算符,但是这些运算符都是作用在两个整数或者有理数之间,很少能够作用在两个复数甚至是矩阵之间,而有理数之间,很少能够作用在两个复数甚至是矩阵之间,而Matlab Matlab 就可以。而且他还可以根据就可以。而且他还可以根据“物件物件”类型的不同而决类型的不同而决定该采取什么样的步骤来进行计算。定该采取什么样的步骤来进行计算。MatlabMatlab对于矩阵与矩阵之间的运算的处理方法与线形代数对于矩阵与矩阵之间的运算的处理方法与线形代数中是相同的。中是相同的。v矩阵的加减运算矩阵的加减运算v矩阵乘法矩阵乘法运算符:运算符:* *条件:前一个矩阵的列数和后一个矩阵的行数相同或者其中一个是标量。条件:前一个矩阵的列数和后一个矩阵的行数相同或者其中一个是标量。(记忆:前一个矩阵(记忆:前一个矩阵行行元素的个数与后一个矩阵元素的个数与后一个矩阵列列元素的个数相等)元素的个数相等)v矩阵除法矩阵除法运算符:有两种运算符运算符:有两种运算符“/ /”(除以)和(除以)和“ ”(除),分别表示右除和左(除),分别表示右除和左除。除。区别区别 : 凡是按规则可以和凡是按规则可以和相乘的矩阵,都可以根据
16、左乘和右乘作相乘的矩阵,都可以根据左乘和右乘作“除除”或或“除除以以”的运算。的运算。例如:例如:线性联立方程式可以写成线性联立方程式可以写成 Ax=b Ax=b 的形式,其中的形式,其中 A A 是一个是一个n n维可逆方维可逆方阵,阵,b b是一个是一个n n维向量,则维向量,则 x = Ab x = Ab 就是前述联立方程式的一组解。就是前述联立方程式的一组解。例如以下线性联立方程式例如以下线性联立方程式可以如此求解:令可以如此求解:令 A = 4 6 -1; 5 -8 3; 1 4 1A = 4 6 -1; 5 -8 3; 1 4 1 b = 1 0 0 b = 1 0 0 x = Ab x = Ab 得到一組數值解得到一組數值解 0.1667 0.0167 -0.23330.1667 0.0167 -0.2333 v求特征值求特征值函数函数eigeig()用来计算()用来计算n n 阶矩阵的特征值。阶矩阵的特征值。v求方阵的行列式求方阵的行列式把方阵看作行列式,则对应的行列式的值用函数把方阵看作行列式,则对应的行列式的值用函数det()来计算。()来计算。G=120;25-1
17、;410-1;det(G)Ans=1v向量:向量: 向量可以看作是矩阵的组成元素。向量分为行向量和列向量。其中行向量可以看作是矩阵的组成元素。向量分为行向量和列向量。其中行向量还可以看作是一组序列。一个行向量和一个列向量相乘得到一个向量还可以看作是一组序列。一个行向量和一个列向量相乘得到一个1X11X1的的方阵,也就是一个纯量,这便是这两个向量的方阵,也就是一个纯量,这便是这两个向量的“内积内积”。例如。例如 b = -3; -1; 0; 1b = -3; -1; 0; 1和和v = 2, 0, 2, 4v = 2, 0, 2, 4 则则,v * b,v * b 结果为一个纯量:结果为一个纯量:-2-2 那既然向量是特殊的矩阵,那向量的加、减、乘运算都和矩阵的运算那既然向量是特殊的矩阵,那向量的加、减、乘运算都和矩阵的运算法则相同。需要说的是向量的构造除了直接输入外,还有几种构造方法:法则相同。需要说的是向量的构造除了直接输入外,还有几种构造方法:1 1、利用字符利用字符“:”来生成行向量;来生成行向量;n:s:m:s:m 产生以产生以s s为间隔,从为间隔,从n n开始,到开始,到“
18、不超过不超过”m m的数。的数。 对行向量的作转置运算就可以得到列向量。对行向量的作转置运算就可以得到列向量。2、利用内部函数产生;利用内部函数产生;linspace(a,b,c)产生首项为产生首项为a,末项为,末项为b,项数为,项数为c的等差数列。的等差数列。v多项式多项式在在MATLAB中,多项式用行向量表示。中,多项式用行向量表示。在在MATLAB中,用中,用ploy(A)来产生行向量所对应的形如)来产生行向量所对应的形如所对应的多项式。此多项式还是行向量的形式。有一个函数所对应的多项式。此多项式还是行向量的形式。有一个函数poly2sym(p,x)可以将行向量形式的多项式转化为多项式形式。其中,可以将行向量形式的多项式转化为多项式形式。其中,p为要转换的行向为要转换的行向量,量,x为多项式中的变量。为多项式中的变量。v多项式的运算多项式的运算1、加减运算:加减运算:进行加减运算的多项式应该具有相同的阶次,如果阶进行加减运算的多项式应该具有相同的阶次,如果阶次不同,需要补零。次不同,需要补零。例:求两个多项式例:求两个多项式和和的和、积、商。的和、积、商。a=54321;b=30
19、1;c=a+00bc=54622对应的结果是对应的结果是2、乘法乘法多项式乘法采用多项式乘法采用conv()函数。()函数。3、除法除法用用deconv()函数实现多项式除法。不同的是多项式的除法需要指定()函数实现多项式除法。不同的是多项式的除法需要指定商多项式和余数多项式两部分。计算多项式除法形如商多项式和余数多项式两部分。计算多项式除法形如div,rest=deconv()()4、微分微分用函数用函数polyder()来实现多项式的微分。()来实现多项式的微分。例如:求多项式例如:求多项式的微分。的微分。p=2-6307;q=polyder(p)q=8-18605、求根求根求多项式的根,用函数求多项式的根,用函数roots。6、求值求值我们想要计算多项式中未知数为某个特定值时该多项式的值,这时,我们想要计算多项式中未知数为某个特定值时该多项式的值,这时,我们会用到我们会用到polyval函数。举例说明用法:函数。举例说明用法:polyval(p,1)Ans=6我们可以看出来,此语句是求多项式我们可以看出来,此语句是求多项式p当当x=1时,多项式的值。时,多项式的值。v代表矩阵元素
《MATLAB自学教程》由会员桔****分享,可在线阅读,更多相关《MATLAB自学教程》请在金锄头文库上搜索。
日语格助词用法及习题
2015年浙江大学自学考试主考专业毕业论文培训、答
城镇化路子必须走正
计算机英语专业毕业生求职信范文.doc
2023年植树节的演讲稿范文合集10篇
山东省威海市文登区八年级化学下学期期中试题五四制
重点标准厂房专项项目可行性专题研究报告
文艺部干事工作计划范文(3篇)
大连理工大学21春《财务管理》学在线作业三满分答案43
肝素钠链项目商业计划书写作模板
院感整改报告范本
电能量采集器技术协议
2023《水孩子》读后感
XX年教师节学生代表演讲稿
朔州稀土永磁材料技术研发项目招商引资方案_范文
一年级上语文测试题
幼儿园实习总结模板(4篇).doc
企业自行监测方案
关键部位施工方法
安全系统风险分级管控工作方案设计
2024-02-26 33页
2024-02-26 30页
2024-02-26 31页
2024-02-26 31页
2024-02-26 23页
2024-02-26 29页
2024-02-26 31页
2024-02-26 33页
2024-02-26 34页
2024-02-26 33页