版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习MATLAB编程入门目目 录录第第1章章 MATLAB简介简介第第2章章 MATLAB基本语法基本语法2.1 变量及其赋值变量及其赋值2.2 矩阵的初等运算矩阵的初等运算2.3 元素群运算元素群运算2.4 逻辑判断及流程控制逻辑判断及流程控制2.5 基本绘图方法基本绘图方法2.6 M文件及程序调试文件及程序调试第第3章章 MATLAB在电路中的应用在电路中的应用3.1 电阻电路电阻电路3.2 动态电路动态电路3.3 正弦稳态电路正弦稳态电路3.4 频率响应频率响应3.5 二端口电路二端口电路第一章第一章 MATLAB简介简介 MATLAB(MATrix LABoratory,即矩阵实验室即
2、矩阵实验室)是是MathWork公司公司推出的一套高效率的数值计算和可视化软件。推出的一套高效率的数值计算和可视化软件。 MATLAB是当今科学界最具影响力、也是最具活力的软件,是当今科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。 它提供了强大的科学运算、灵活的程序设计流程、高质量的它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。图形可视化与界面设计、便捷的与其他程序和语言接口的功能。 MATLAB语言有如下优点:语言有如下优点:
3、1.编程简单使用方便编程简单使用方便 MATLAB的基本数据单元是既不需要指定维数、也不需要说明数据的基本数据单元是既不需要指定维数、也不需要说明数据类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。因此,在类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。因此,在MATLAB环境下,数组的操作与数的操作一样简单。环境下,数组的操作与数的操作一样简单。 MATLAB的矩阵和向量操作功能是其他语言无法比拟的。的矩阵和向量操作功能是其他语言无法比拟的。 2.函数库可任意扩充函数库可任意扩充 由于由于MATLAB语言库函数与用户文件的形式相同,所以用户文件可以语言库函数与用户文件的形式相同,
4、所以用户文件可以像库函数一样随意调用。所以用户可根据自己的需要任意扩充函数库。像库函数一样随意调用。所以用户可根据自己的需要任意扩充函数库。 3.语言简单内涵丰富语言简单内涵丰富 MATLAB语言中最重要的成分是函数,其一般形式为:语言中最重要的成分是函数,其一般形式为: Function a,b,c=fun(d,e,f) fun是自定义的函数名,只要不与库函数名相重,并且符合字符串的是自定义的函数名,只要不与库函数名相重,并且符合字符串的书写规则即可。这里的函数既可以是数学上的函数,也可以是程序块或子书写规则即可。这里的函数既可以是数学上的函数,也可以是程序块或子程序,内涵十分丰富。每个函数
5、建立一个同名的程序,内涵十分丰富。每个函数建立一个同名的M文件,如上述函数的文文件,如上述函数的文件名为。这种文件简单、短小、高效,并且便于调试。件名为。这种文件简单、短小、高效,并且便于调试。 4.简便的绘图功能简便的绘图功能 MATLAB具有二维和三维绘图功能,使用方法十分简便。而且用具有二维和三维绘图功能,使用方法十分简便。而且用户可以根据需要在坐标图上加标题。坐标轴标记。文本注释及栅格等,户可以根据需要在坐标图上加标题。坐标轴标记。文本注释及栅格等,也可一指定图线形式也可一指定图线形式(如实线、虚线等如实线、虚线等)和颜色,也可以在同一张图上和颜色,也可以在同一张图上画不同函数的曲线,
6、对于曲面图还可以画出等高线。画不同函数的曲线,对于曲面图还可以画出等高线。 5.丰富的工具箱丰富的工具箱 由于由于MATLAB的开放性,许多领域的专家都为的开放性,许多领域的专家都为MATLAB编写了各种程编写了各种程序工具箱。序工具箱。 这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效不必花大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。果。第二章第二章 MATLAB基本语法基本语法2.1 变量及其赋值变量及其赋值(1)标识符与数)标识符与数
7、标识符是标识变量名、常量名、函数名和文件名的字符串的总称。标识符是标识变量名、常量名、函数名和文件名的字符串的总称。标识符可以是英文字母、数字和下划线等符号。标识符第标识符可以是英文字母、数字和下划线等符号。标识符第1个字符必个字符必须是英文字母,须是英文字母,MATLAB对大、小写敏感。对大、小写敏感。 MATLAB只有一种数据格式,双精度(即只有一种数据格式,双精度(即64位)二进制,对位)二进制,对应于十进制应于十进制16位有效数和位有效数和 308次幂。次幂。(2)矩阵及其元素的赋值)矩阵及其元素的赋值变量变量=表达式(数)表达式(数)a=1 2 3; 4 5 6;7 8 9x=-1.
8、3 sqrt(3) (1+2+3)/5*4x(5)=abs(x(1)a = 元素之间用逗号、空格分开。不同行以分号隔开。语句结尾元素之间用逗号、空格分开。不同行以分号隔开。语句结尾用回车或逗号,会显示结果,如果不想显示结果,用分号。用回车或逗号,会显示结果,如果不想显示结果,用分号。 元素用讲义元素用讲义中的数字(下标)来注明,一维用中的数字(下标)来注明,一维用一个下标,二维用两个下标,逗号分开。一个下标,二维用两个下标,逗号分开。 a(5,:)=5,4,3b=a(2,4,1,3)a(2,4,5, : )=a/7 如果赋值元素的下标超过原来矩阵的大小,矩如果赋值元素的下标超过原来矩阵的大小,
9、矩阵的行列会自动扩展。阵的行列会自动扩展。 全行赋值,用冒号。全行赋值,用冒号。 提取交点元素;提取交点元素; 抽取某行元素用空矩阵。抽取某行元素用空矩阵。 (3)复数)复数z=1+2i,3+4i; 5+6i,7+8iz=1,3; 5,7+2,4; 6,8*if=sqrt(1+2i)f*f 复数的虚数部分用复数的虚数部分用i或或j表示,如曾表示,如曾用过用过i, j 作变量,用作变量,用clear i,j 复数矩阵有两种赋值方法:复数矩阵有两种赋值方法: 将其元素逐个赋予复数;将其元素逐个赋予复数; 将其实部和虚部矩阵分别赋值。将其实部和虚部矩阵分别赋值。w=z (共轭转置)(共轭转置)u=c
10、onj(z) (共轭)(共轭)v=conj(z) (转置)(转置) Z复数矩阵共轭转置:行列互换,复数矩阵共轭转置:行列互换,各元素的虚部反号。各元素的虚部反号。 函数函数conj(z)共轭:只把各元素的虚)共轭:只把各元素的虚部反号。部反号。 转置转置conj(z):行列互换。:行列互换。w=z(共轭转置)(共轭转置)u=conj(z) (共轭)(共轭)v=conj(z) (转置)(转置)(4)变量检查)变量检查whowhosinfNaN 检查工作空间中的变量;检查工作空间中的变量; 检查变量的详细特征检查变量的详细特征 无穷大无穷大 1/0; 非数(非数(Not a Number) 0/0
11、 inf/inf 0*inf。 系统不停止运算,结果仍为系统不停止运算,结果仍为inf或或NaN。(5)基本赋值矩阵)基本赋值矩阵f1=ones(3,2)f2=zeros(2,3)f3=magic(3)f4=eye(2)f5=linspace(0,1,5)fb1=f1,f3;f4,f2fb2=fb1;f5 全全1矩阵矩阵 全全0矩阵矩阵 魔方矩阵:元素由魔方矩阵:元素由1到到nn的自然数组成,每行、每列的自然数组成,每行、每列及两对角线上的元素之和均等于及两对角线上的元素之和均等于(n3+n)/2。 单位矩阵是单位矩阵是n n阶的方阵。对角线上元素为阶的方阵。对角线上元素为1。 线性分割函数线
12、性分割函数 大矩阵可由小矩阵组成,其行列数必须正确,恰好填满全部元大矩阵可由小矩阵组成,其行列数必须正确,恰好填满全部元素。素。 f1 = 1 1 1 1 1 1 全全1矩阵矩阵f3 = 8 1 6 魔方矩阵魔方矩阵 3 5 7 4 9 2线性分割函数线性分割函数大矩阵可由小矩阵组成大矩阵可由小矩阵组成fb2 =1.0000 1.0000 1.0000 1.0000 0 0 0 0 0 1.0000 0 0 0 f2 = 0 0 0 全全0矩阵矩阵 0 0 0f4 = 1 0 单位矩阵单位矩阵 0 1fb1 = 1 1 8 1 6 1 1 3 5 7 1 1 4 9 2 1 0 0 0 0 0
13、 1 0 0 0fb1=f1,f3;f4,f2fb2=fb1;f5 2.2 矩阵的初等运算矩阵的初等运算(1)矩阵的加减乘法)矩阵的加减乘法i. 加、减法:相加减的两矩阵阶数必须相同,对应加、减法:相加减的两矩阵阶数必须相同,对应元素相加减。元素相加减。n,m=size(fb2)x=-1 0 1; y=x-1y = -2 -1 0 语句语句size检查矩阵阶数,两矩阵相检查矩阵阶数,两矩阵相加,阶数必须相同。加,阶数必须相同。 两相加减的矩阵中有一个是标量时,两相加减的矩阵中有一个是标量时,MATLAB将标量扩展成同等元素矩将标量扩展成同等元素矩阵,与另一矩阵相加减。阵,与另一矩阵相加减。 p
14、i*x 标量与矩阵相乘,不检查阶数,标量乘以矩阵的每一个元素。标量与矩阵相乘,不检查阶数,标量乘以矩阵的每一个元素。x=-1 0 1; X与与y内阶数不同,将内阶数不同,将y转置转置 y。读作。读作x左乘左乘y。y =-2 -1 0;x*y ans = 2 ans = 2 0 -2y*x X右乘右乘y。 1 0 -1 0 0 0eye(3)*a 左、右乘结果不同,只有单位矩阵例外。左、右乘结果不同,只有单位矩阵例外。a*eye(3) 单位矩阵乘以矩阵单位矩阵乘以矩阵A,左、右乘结果仍等于该矩阵。,左、右乘结果仍等于该矩阵。a = 1 2 3 ans = 1 2 3 ans = 1 2 3 4
15、5 6 4 5 6 4 5 6 7 8 9 7 8 9 7 8 9ii.矩阵乘法矩阵乘法矩阵矩阵A n p阶与阶与矩阵矩阵B p m阶的乘积阶的乘积 C是是n m阶矩阵。阶矩阵。P是是A阵的列数,阵的列数,B阵的行数,称为两个相乘矩阵的内阶数。阵的行数,称为两个相乘矩阵的内阶数。两矩阵相乘的必要条件是内阶数相等。两矩阵相乘的必要条件是内阶数相等。C(i,j)=kA(i,k)B(k,j)值为值为A阵第阵第i行和行和B阵第阵第j列对应元素乘积的和。列对应元素乘积的和。(2)矩阵的除法及线性方程组的解)矩阵的除法及线性方程组的解a =1 2 3 4 5 6 7 8 9AV=I V=A-1V=inv(
16、a) inv(a)*aV = 1.0e+016 * n n阶方阵阶方阵A和同阶的方阵和同阶的方阵V相乘,得出相乘,得出n阶单位矩阵阶单位矩阵I。 I为为eye(n)。 V是是A的逆阵。的逆阵。V存在条件:存在条件:A的行列式不等于的行列式不等于0,det(A)0 V=A-1 MATLAB内部函数内部函数inv,得出,得出A的逆阵的逆阵V。D*X=B inv(D)*D*X=inv(D)*B inv(D)*D=I I*X=XX=inv(D)*B=DBX*D=B X=B*inv(D)=B/D D与与B行数相等行数相等 两端同时左乘以两端同时左乘以inv(D) 逆阵逆阵 单位阵单位阵 DB为为D左除左
17、除BX=DB,左除时阶数检查条件:两矩阵的行数必须相等。,左除时阶数检查条件:两矩阵的行数必须相等。 未知矩阵在左未知矩阵在左. D的逆阵右乘以的逆阵右乘以B,记作,记作 /D 右除。右除。 右除时阶数检查条件:两矩阵的列数必须相等。右除时阶数检查条件:两矩阵的列数必须相等。a=1 2 3; 3 -5 4; 7 8 9x=x1,x2,x3b=2;0;2ax=b x=ab a左除b方程组 X1+2X2+3X3=2 3X1- 5X2+4X3=0 7X1+8X2+9X3=2可以表示为ax=ba=1 2 3;4 5 6b=2 4 0; 1 3 5d=1 4 7; 8 5 2; 3 6 0运算:a*b
18、daa*b? Error using = *Inner matrix dimensions must agree.da? Error using = Matrix dimensions must agree.a*b ans = 6 16 20 9 23 25 12 30 30a*b ans = 10 22 28 49da ans = -0.0370 0 -0.1481 0a/d ans =解线性方程组解线性方程组Ax=B 6x1+3x2+4x3=3 -2 x1+5 x2+7 x3=-48 x1-4 x2-3 x3=-7 A=6 3 4; -2 5 7; 8 -4 -3B=3;-4; -7X=A
19、B A = 6 3 4 -2 5 7 8 -4 -3B = 3 -4 -7(3)矩阵的乘方和幂次函数)矩阵的乘方和幂次函数 MATLAB的运算符的运算符*、/、和、和,指数函数,指数函数expm、对数函数、对数函数logm和开方函数和开方函数sqrtm是对矩阵进行的,即把矩阵作为一个整体来运算。除此以外,其他是对矩阵进行的,即把矩阵作为一个整体来运算。除此以外,其他MATLAB函数都是对矩阵中的元素分别进行,英文直译为数组运算(函数都是对矩阵中的元素分别进行,英文直译为数组运算(Array Operations),译为),译为“元素群运算元素群运算”S=1 2; 3 4D=1 4 7; 8 5
20、 2; 3 6 0D22.DDS 幂次运算:矩阵为底数,指数是标量,同矩阵乘法一样,为保幂次运算:矩阵为底数,指数是标量,同矩阵乘法一样,为保内阶数相同,底数的矩阵必须是方阵。矩阵是指数,底数是标内阶数相同,底数的矩阵必须是方阵。矩阵是指数,底数是标量,矩阵也必须是方阵。底数和指数不能同时为矩阵。量,矩阵也必须是方阵。底数和指数不能同时为矩阵。 按矩阵运算,等于按矩阵运算,等于D* D 按元素群运算按元素群运算 非法运算非法运算U1=sqrtm(S)U2=sqrt(S)V1=expm(S)V2=exp(S)Logm(D)Log(D) 按矩阵运算,求平方根,可以用按矩阵运算,求平方根,可以用U1
21、* U1=S验证验证 按元素群运算,按元素群运算,U2* U2S,U2. U2=S 按矩阵运算按矩阵运算 按元素群运算按元素群运算 按矩阵运算按矩阵运算 按元素群运算按元素群运算 S =1 2 3 4D = 1 4 7 8 5 2 3 6 0D2 ans = 54 66 15 54 69 66 51 42 33 2.D ans = 2 16 128 256 32 4 8 64 1DS? Error using = At least one operand must be scalar.V1=expm(S)V2=exp(S)U1=sqrtm(S)U2=sqrt(S)Logm(D)anslog(D
22、)Warning: Log of zero.ans 1.0986 1.7918 -Inf(4)矩阵结构形式的提取与变换)矩阵结构形式的提取与变换A=8 1 6 0; 3 5 7 1; 4 9 2 2B1=fliplr(A)B2=flipud(A)B3=reshape(A,2,6) 提取矩阵中某些特殊结构的元素,提取矩阵中某些特殊结构的元素, 组成新的矩阵,改变矩阵结构。组成新的矩阵,改变矩阵结构。 fliplr矩阵左右翻转矩阵左右翻转 flipud矩阵上下翻转矩阵上下翻转 reshape阶数重组(元素总数不变)阶数重组(元素总数不变)B4=rot90(A)B5=diag(A)B6=tril(A
23、)B7=triu(A)B8=A(: ) rot90矩阵整体反时针旋转矩阵整体反时针旋转90度度 diag提取或建立对角阵提取或建立对角阵 tril取矩阵的左下三角部分取矩阵的左下三角部分 triu取矩阵的右上三角部分取矩阵的右上三角部分 将元素按列取出排成一列将元素按列取出排成一列 A = 8 1 6 0 3 5 7 1 4 9 2 2B1=fliplr(A)B1 = 0 6 1 8 1 7 5 3 2 2 9 4B2=flipud(A)B2 = 4 9 2 2 3 5 7 1 8 1 6 0B3=reshape(A,2,6)B3 = 8 4 5 6 2 1 3 1 9 7 0 2B4=rot
24、90(A)B4 = 0 1 2 6 7 2 1 5 9 8 3 4B5=diag(A)B5 = 8 5 2B6=tril(A)B6 = 8 0 0 0 3 5 0 0 4 9 2 0B7=triu(A)B7 = 8 1 6 0 0 5 7 1 0 0 2 2B8=A(: ) B8 =8 3 4 1 5 9 6 7 2 0 1 22.3 元素群运算元素群运算(1)数组及其赋值)数组及其赋值数组是单行或单列的矩阵,一个数组是单行或单列的矩阵,一个N阶的数组可以表述为一个阶的数组可以表述为一个N组向组向量。量。t=0 : 0.02 : 1z=10 : -3: -5k=1 : 6用两个冒号组成等增量语
25、句用两个冒号组成等增量语句格式:格式:t=初值:增量:终值初值:增量:终值增量也可以设为负值,此时初值要比终值大增量也可以设为负值,此时初值要比终值大增量为增量为1时,增量值可以省略。时,增量值可以省略。theta= linspace (0, 2*pi, 9)w=logspace (0, 1, 11) 用用linspace函数函数 格式:格式:linspace(初值、终值、点数)(初值、终值、点数)logspace函数,自变量按等比级数赋值。函数,自变量按等比级数赋值。从从10的的0次幂到次幂到1次幂之间按幂等分为次幂之间按幂等分为11点点(数是等比的)(数是等比的) (2)元素群的四则运算和
26、幂次运算)元素群的四则运算和幂次运算 元素群的运算是矩阵中所有元素按单个元素运算。运算符前加元素群的运算是矩阵中所有元素按单个元素运算。运算符前加.号,表示元素群运算。号,表示元素群运算。 元素群的运算的两个矩阵必须是同阶的。(标量会自动扩展为同阶矩阵参与运算)元素群的运算的两个矩阵必须是同阶的。(标量会自动扩展为同阶矩阵参与运算)x=1, 2, 3y=4, 5, 6z=x.*yz=x.yz=x.yz=x.2z=2.x yz =4 10 18 x*y不能成立不能成立z =4.0 2.5 2.0 元素群没有左除右除之分元素群没有左除右除之分z =1 32 729 xy 能成立吗?能成立吗?z =
27、1 4 9 x2能成立吗?能成立吗?z =2 4 8 16 32 64 2x y 能成立吗?能成立吗?d=1 4 7; 8 5 2; 3 6 0dd3d.33.d3d 元素群的幂次运算是各个元素自行作幂次运算,对每个元元素群的幂次运算是各个元素自行作幂次运算,对每个元素的这种运算和对标量运算一样。但是,不能将元素群运素的这种运算和对标量运算一样。但是,不能将元素群运算称为数组运算。算称为数组运算。 区别左边运算区别左边运算 输入算式输入算式 dd3d.3输出结果输出结果 1 4 7 8 5 2 3 6 0 627 636 510 804 957 516 486 612 441 1 64 343
28、 512 125 8 27 216 0输入输入算式算式 3.d3d输出输出结果结果 3 81 2187 6561 243 9 27 729 1 1.0e+005 * 2.6388 - 0.0000i 3.0233 + 0.0000i 1.9754 + 0.0000i 3.4735 - 0.0000i 3.9797 + 0.0000i 2.6003 + 0.0000i 2.3170 - 0.0000i 2.6546 + 0.0000i 1.7345 + 0.0000i (3)元素群的函数)元素群的函数 除矩阵运算的乘、右除、左除、幂指数(除矩阵运算的乘、右除、左除、幂指数( / )、)、sqrt
29、m、expm、logm函数外,基函数外,基本函数库中的常用函数都可用于元素群运算。自变量可以是任意阶的矩阵。本函数库中的常用函数都可用于元素群运算。自变量可以是任意阶的矩阵。 基本函数库(基本函数库(elfun)x=0: 0.1: pi/4x = 0disp(显示显示 x sin(x) cos(x) tan(x)disp(x, sin(x) cos(x) tan(x) 显示显示 x sin(x) cos(x) tan(x) 0 0 1.0000 02.4 逻辑判断及流程控制逻辑判断及流程控制 1. 关系运算关系运算a= 2+2=4a=(2+2=4)a=(34)a=(43)a=(3=4)a=(4
30、3)a=(34)等于等于a = 1a = 1小于小于a = 1 a = 0小于等于小于等于a = 1a = 0大于大于a =1a =0a=(4=3)a=(3=4)a=(3=4)A=magic(6)rem(A,3)p=(rem(A, 3)=0)lp=find (p) 大于等于大于等于a=1a=0不等于不等于a=1魔方矩阵,每行、每列、对角线的元素之和魔方矩阵,每行、每列、对角线的元素之和=(n3+n)/2A整除整除3,求余数,求余数余数为余数为0,是真,即整除,是真,即整除找出找出p矩阵中不为零元素的序号,矩阵元素是按列排序号的。矩阵中不为零元素的序号,矩阵元素是按列排序号的。A=magic(6
31、)A =35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11rem(A,3)ans = 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2p=(rem(A, 3)=0)p =0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0lp=find (p) lp=2 5 9 12
32、13 16 20 23 27 30 31 34矩阵元素的序号排法:矩阵元素的序号排法: n m阵中下标为阵中下标为(j,k)的元素序号为的元素序号为 l=(k-1)*n+j171319253128142026323915212733410162228345111723293561218243036符号符号意义意义符号符号意义意义符号符号意义意义+加加-减减*矩阵乘矩阵乘矩阵左除矩阵左除/矩阵右除矩阵右除矩阵乘幂矩阵乘幂.*矩阵元素乘矩阵元素乘./矩阵元素除矩阵元素除.矩阵元素乘幂矩阵元素乘幂( )优先,下标输入优先,下标输入参量参量矩阵,向量输入矩阵,向量输入变量变量:整行(列)等增量整行(列
33、)等增量赋值赋值.小数点小数点.母目录母目录行命令延续符行命令延续符,语句分割符,显语句分割符,显示示;语句分割符,不语句分割符,不显示显示=赋值符赋值符转置,引用转置,引用!操作系统命令操作系统命令%注释符注释符=关系相等符关系相等符关系大小符关系大小符=关系不等符关系不等符&逻辑与逻辑与|逻辑或逻辑或逻辑非逻辑非xor异或异或kronKronecker积积数数学学及及逻逻辑辑运运算算符符号号 exist检查变量或函数是否有定义检查变量或函数是否有定义any检查向量中有无非零元素检查向量中有无非零元素all检查向量中元素是否全为非检查向量中元素是否全为非零零find找到非零元素的序号
34、找到非零元素的序号isnan元素为元素为NaN时得时得1isinf元素为元素为Inf时得时得1isfinite元素为有限值时得元素为有限值时得1isempty矩阵为空阵时得矩阵为空阵时得1isreal矩阵为实数阵时得矩阵为实数阵时得1issparse矩阵为稀疏阵时得矩阵为稀疏阵时得1isstr为文本字符串时得为文本字符串时得1isglobal变量为全局变量时得变量为全局变量时得1bitand按位求按位求“与与”bitcmp按位求按位求“非非”(补)(补)bitor按位求按位求“或或”bitmax最大浮点整数最大浮点整数bitxor按位求按位求“异或异或”bitset设置位设置位bitget获取
35、位获取位bitshift按位移动按位移动union集合集合“合合”unique去除集合中的重复元素去除集合中的重复元素intersect集合集合“交交”setdiff集合集合“差差”setxor集合集合“异或异或”ismember是集合中的元素时为真是集合中的元素时为真逻逻辑辑字字符符检检查查 位位运运算算 集集合合运运算算 2. 逻辑运算逻辑运算A=0 0 1 1B=0 1 0 1A&BA|BAxor(A, B)G=magic(6)rem(G,3)将逻辑运算用于元素群,得出同阶的将逻辑运算用于元素群,得出同阶的0-1矩阵。矩阵。与与或或非非异或异或G整除整除3,求余数,求余数p=(r
36、em(G, 3)=0)u=p|pall(p)all(u)any(p) 可以按行、按列判断一群元素的逻辑值。可以按行、按列判断一群元素的逻辑值。两个对元素群运算的函数:两个对元素群运算的函数:列中有一个元素为列中有一个元素为0,即为,即为0列中元素全为列中元素全为1,才为,才为1列中有一个元素为列中有一个元素为1,即为,即为1A =0 0 1 1B =0 1 0 1A&B ans = 0 0 0 1A|B ans = 0 1 1 1A ans = 1 1 0 0 xor(A, B) ans = 0 1 1 0G=magic(6)G = 35 1 6 26 19 24 3 32 7 21
37、23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11rem(G,3) ans = 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2rem(G,3) ans = 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2p=(rem(G, 3)=0) p = 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0
38、0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0u=p|pu = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1all(p)all(u)any(p) ans = 0 0 0 0 0 0ans = 1 1 1 1 1 1ans = 1 1 1 1 1 13. 流程控制语句流程控制语句(1)if语句语句if (表达式表达式) 语句组语句组A,endif (表达式表达式1) 语句组语句组A,else 语句组语句组B,endif (表达式表达式1) 语句组语句组A,elseif (表达
39、式表达式2) 语句组语句组B,else 语句组语句组C,end n=input( n=), if rem(n, 2)=0 a=even, else a=odd, end n = 7 a =odd; n = 8 a =even n = a =odd n=input( n=), if isempty(n)=1 a=empty, elseif rem(n,2)=0 a=even, else a=odd, end n = a =empty 输入数输入数n,判断奇偶性。如果用户没有键入,判断奇偶性。如果用户没有键入数就回车,程序会判断为数就回车,程序会判断为odd。 修改为用户无输入时程序自动中止。修改
40、为用户无输入时程序自动中止。(2)while语句语句while (表达式表达式) 语句组语句组A,endx=1; while x=inf, x1=x; x=2*x; end, x1x1 = 8.9885e+307x=1; while x=inf, x1=x; x=1.1*x; end, x1x1 =1.7837e+308求求MATLAB中的最中的最大实数。大实数。X不断增不断增大,直到无法表示大,直到无法表示它的值,只能用它的值,只能用inf表示为止。表示为止。y=1; while 1+y1, y1=y y=y/2; end, y1 求求MATLAB相对精度,相对精度,y不断减小,直至不断减小
41、,直至MATLAB分不出分不出1+y与与1的差别为止。的差别为止。 (3) for语句语句for k= 初值:增量:终值初值:增量:终值 语句组语句组A,end将语句组将语句组A反复执行反复执行N次,每次执行时程序中的次,每次执行时程序中的k值不同。值不同。N=1+(终值(终值-初值)初值)/增量增量用用for语句求三角函数表语句求三角函数表for x=0: 0.1: pi/4 disp(x, sin(x), cos(x), tan(x), end运行结果运行结果 x sin(x) cos(x) tan(x) 0 0 1 0 1/10 839/8404 1195/1201 1499/14940
42、 1/5 209/1052 295/301 374/1845 3/10 409/1384 1647/1724 275/889 2/5 368/945 2882/3129 1777/4203 1/2 501/1045 1699/1936 820/1501 3/5 1153/2042 430/521 979/1431 7/10 947/1470 992/1297 486/577 列出构成列出构成Hilbert矩阵的程序矩阵的程序 format rat显示形式是分数近似显示形式是分数近似 n=input(n=), format rat for i=1:n, for j=1:n, h(i, j)=1/
43、(i+j-1); end, end, hn =5h = 1 1/2 1/3 1/4 1/5 1/2 1/3 1/4 1/5 1/6 1/3 1/4 1/5 1/6 1/7 1/4 1/5 1/6 1/7 1/8 1/5 1/6 1/7 1/8 1/9 增加可读性增加可读性format rat, n=input(n=) for i=1:n for j=1:n, h(i, j)=1/(i+j-1); endendh 在在if,for,while与表达式之间留空与表达式之间留空格,在表达式与语句组之间必须用格,在表达式与语句组之间必须用空格或逗号分隔,必须用逗号或分空格或逗号分隔,必须用逗号或分号分
44、隔号分隔end和和else。 break 是中止循环的命令,在多重是中止循环的命令,在多重循环中,循环中,break只能使程序跳出包只能使程序跳出包含它的最内部的那个循环。含它的最内部的那个循环。(4)switch语句语句switch-case-otherwiseswitch 表达式(标量或字符串)表达式(标量或字符串)case 值值1语句组语句组ACase 值值2语句组语句组B.Otherwise语句组语句组Nend 当表达式的值(或字符串)当表达式的值(或字符串)与某与某case语句中的值(或字符语句中的值(或字符串)相同时,它就执行该串)相同时,它就执行该case语句后的语句组,然后跳到
45、终语句后的语句组,然后跳到终点的点的end。 case语句可以有语句可以有N-1个,个,如果没有任何一个如果没有任何一个case值能值能与表达式值相符,则执行与表达式值相符,则执行otherwise后面的语句组后面的语句组N。n=input( n=), switch mod(n,2), case 1, a=奇奇, case 0, a=偶偶, otherwise, a=空空, endn = 5 a =奇奇n=input( n=), switch rem(n,2), case 1, a=奇奇, case 0, a=偶偶, otherwise, a=空空, end n = 8 a =偶偶判断输入数判
46、断输入数n的奇、偶、空的程序的奇、偶、空的程序mod(x,m)x整除整除m取正余数,取正余数,rem(a,b) a整除整除b,求余数,求余数n= 负数负数 n = -5 a =奇n=-8a =偶2.5 基本绘图方法基本绘图方法1直角坐标中的两维曲线直角坐标中的两维曲线(1)plot(y)-输入一个数组的情况输入一个数组的情况y=5*(rand(1,10) -.5)plot(y)title (my first plot)xlabel(x), ylabel(y)grid 画出画出10个随机数的曲线。个随机数的曲线。加标题,加标题,坐标轴说明坐标轴说明加坐标网格线加坐标网格线 t=0:0.5:4*p
47、iy=exp(-0.1*t).*sin(t)plot(t,y)y1=exp(-0.1*t).*sin(t+1)plot(t,y1,:) t是横坐标,是横坐标,y为纵坐标为纵坐标y1相位超前相位超前1弧度。弧度。 (2)Plot(x,y)-输入两个数组的情况输入两个数组的情况2线型、点型和颜色线型、点型和颜色y2=exp(-0.1*t).*sin(t+1)plot(y2,*b)plot(y1,:y)plot(y2,+r) 蓝色蓝色*号线号线黄色虚线黄色虚线红色红色+号线号线 t=0:0.5:4*pi;y=exp(-0.1*t).*sin(t);y1=exp(-0.1*t).*sin(t+1);p
48、lot(t,y;y1)t是向量,是向量,y是矩阵,如果是矩阵,如果t是列(行)向量,则是列(行)向量,则y的列(行)长度与的列(行)长度与t相同。相同。y的行(列)数就是曲的行(列)数就是曲线的根数。线的根数。这种方法要求所有的输出量有同样的长度和同样这种方法要求所有的输出量有同样的长度和同样的自变量向量。不便于用户自行设定线型和颜色。的自变量向量。不便于用户自行设定线型和颜色。 3多条曲线的绘制多条曲线的绘制有四种方法在一张图上显示多条曲线有四种方法在一张图上显示多条曲线(1)用)用plot(t,y1,y2,)命令命令(2)用)用hold命令命令plot(x1,y1,x2,y2,.xn,yn
49、)plot(t,y,+g,t2,y2,:r);title(线型,点型和颜色线型,点型和颜色); xlabel(时间时间),ylabel(Y) x1,y1,x2,y2,xn,yn分别为数组对,每一对数组分别为数组对,每一对数组可以绘出一条曲线,每一组数组对的长度可以不同,可以绘出一条曲线,每一组数组对的长度可以不同,在后面都可以加线型标志符。在后面都可以加线型标志符。 为曲线图加标题为曲线图加标题 y3=5*y2; plotyy(t,y,t2,y3);grid, gtext(t, t2);gtext(y),gtext(y3) Plotyy设有两个纵坐标,可以绘制两个设有两个纵坐标,可以绘制两个y
50、尺度尺度不同的变量,不同的变量,x仍只用同一比例尺。仍只用同一比例尺。用用gtext命令可以标注纵坐标和曲线。命令可以标注纵坐标和曲线。 plot(t,y), hold on ,plot(t,y1,g);t2=0:.2:2*pi; y2=exp(-0.5*t2).*sin(5*t2+1);plot(t2,y2);hold off 画完一张图用命令保持住,再画下一条曲线。画完一张图用命令保持住,再画下一条曲线。两张图的变量长度可以各不相同。只要每张图的两张图的变量长度可以各不相同。只要每张图的自变量和因变量长度相同就可以。自变量和因变量长度相同就可以。 (4)用)用plotyy命令命令 (3)在
51、)在plot后使用多输入变量后使用多输入变量4. 屏幕控制和其他二维绘图屏幕控制和其他二维绘图(1)图形屏幕控制命令)图形屏幕控制命令图形屏幕可以开、关,可以开几个图形窗,可以在一个图形窗内图形屏幕可以开、关,可以开几个图形窗,可以在一个图形窗内华几幅分图,每幅分图可以用不同坐标。华几幅分图,每幅分图可以用不同坐标。figureclfholdhold onhold offcloseclose allsubplot(n,m,p)打开图形窗口;打开图形窗口;清除当前图形窗的内容;清除当前图形窗的内容;保持当前图形窗的内容;保持当前图形窗的内容;再次用再次用hold就解除保持状态。就解除保持状态。关
52、闭当前图形窗口。关闭当前图形窗口。关闭所有图形窗口。关闭所有图形窗口。将图形窗口分为将图形窗口分为n*m个子图,在第个子图,在第p个子图处绘个子图处绘制图形。制图形。 figure创建图形窗口创建图形窗口shg显示图形显示图形图形图形窗的窗的控制控制 gcf获取当前图形窗的句柄获取当前图形窗的句柄refresh刷新图形刷新图形clf清除当前图形窗清除当前图形窗close关闭图形窗关闭图形窗axes在任意位置创建坐标系在任意位置创建坐标系ishold保持当前图形状态为真保持当前图形状态为真轴系轴系的的控制控制gca获取当前坐标系的句柄获取当前坐标系的句柄box形成轴系方向形成轴系方向cla清除当
53、前坐标系清除当前坐标系line创建直线创建直线surface创建曲面创建曲面图形图形对象对象 patch创建图形填充块创建图形填充块light创建照明创建照明image创建图象创建图象通用图形函数(通用图形函数(graphics)(h)set设置对象特性设置对象特性gcbo获得回叫对象的曲柄获得回叫对象的曲柄图形图形get获得对象特性获得对象特性gcbf获得回叫图形的曲柄获得回叫图形的曲柄句柄句柄reset复位对象特性复位对象特性drawnow直接等待图形事件直接等待图形事件操作操作delet删除对象删除对象findobj寻找具有特定值的对象寻找具有特定值的对象gco获得当前对象的句柄获得当前
54、对象的句柄copyobj为图形对象及其子项作硬拷为图形对象及其子项作硬拷贝贝工具工具 closereq请求关闭图形窗请求关闭图形窗ishandle是图形句柄时为真是图形句柄时为真newplot说明说明Nextplot的的M文件文件ginput从鼠标作图形输入从鼠标作图形输入uiputfile给出存储文件的对话框给出存储文件的对话框杂项杂项 graymon设定图形窗灰度监视器设定图形窗灰度监视器uigetfile给出询问文件名的对话框给出询问文件名的对话框rbbox涂抹块涂抹块whitebg设定图形窗背景色设定图形窗背景色rotate围绕指定方向旋转对象围绕指定方向旋转对象zoom二维图形的放大
55、和缩小二维图形的放大和缩小terminal设定图形终端类型设定图形终端类型warndlg警告对话框警告对话框(2)其他二维绘图命令)其他二维绘图命令stemstairsbarerrorbarhistfill(t,y,颜色标注符颜色标注符)绘脉冲图绘脉冲图绘阶梯图绘阶梯图绘条形图绘条形图绘误差条形图绘误差条形图绘直方图绘直方图颜色标注符颜色标注符 rsubplot (2,2,1), stem(t,y);title(stem(t,y)subplot (2,2,2), stairs(t,y);title(stairs(t,y)subplot (2,2,3), bar(t,y);title(bar(t
56、,y)subplot (2,2,4), fill(t,y,r);title( fill(t,y,r)subplot(1,1,1)loglogsemilogxsemilogypolar(theta,rho) 取消子图取消子图绘出以绘出以log10-log10为坐标刻度的对数图为坐标刻度的对数图使用半对数刻度绘图,使用半对数刻度绘图,x轴为轴为log10刻度,刻度,y轴为线性刻度。轴为线性刻度。使用半对数刻度绘图,使用半对数刻度绘图, y轴为轴为log10刻度,刻度,x轴为线性刻度。轴为线性刻度。极坐标绘图,角度极坐标绘图,角度theta为一个坐标,单位是弧度,另一坐标是矢径为一个坐标,单位是弧度
57、,另一坐标是矢径rho。 二维图形函数库二维图形函数库基本基本plot线性线性X-Y坐标绘图坐标绘图polar极坐标绘图极坐标绘图X-Yloglog双对数双对数X-Y坐标绘图坐标绘图plotyy用左、右两种用左、右两种Y坐标画图坐标画图图形图形semilogx半对数半对数X坐标绘图坐标绘图semilogy半对数半对数Y坐标绘图坐标绘图坐标坐标axis控制坐标轴比例和外观控制坐标轴比例和外观subplot在平铺位置建立图形轴系在平铺位置建立图形轴系控制控制 hold保持当前图形保持当前图形图图title标出图名(适用于三维图形)标出图名(适用于三维图形)gtext用鼠标定位文字用鼠标定位文字形形
58、xlabelX轴标注(适用于三维图形)轴标注(适用于三维图形)legend标注图例标注图例注注ylabelY轴标注(适用于三维图形)轴标注(适用于三维图形)grid图上加坐标网格(适用于三图上加坐标网格(适用于三维)维)释释textt在图上标文字(适用于三维)在图上标文字(适用于三维)打打print打印图形或把图存为打印图形或把图存为M文件文件orient设定打印纸方向设定打印纸方向印印printop打印机默认选项打印机默认选项(3)虚数的绘图)虚数的绘图figure(2)t=0:.2:4*piz=exp(-0.1+i)*t)subplot(2,2,1)plot(z), pausetitle(
59、复数绘图复数绘图plot(z)subplot(2,2,2)plot(t,z), pausetitle(复数绘图复数绘图plot(t,z)subplot(2,2,3), polar(angle(z), abs(z)title(polar(angle(z),abs(z)subplot(2,2,4),semilogx(t,z)title(semilogx(t,z)plot(t,real(z),imag(z)plot(z)中的中的z为复数单变量时(即含有非零的虚为复数单变量时(即含有非零的虚部),复数的实部为部),复数的实部为x坐标,虚部为坐标,虚部为y坐标进行坐标进行绘图。即相当于绘图。即相当于pl
60、ot(real(z),imag(z)。如果是双变量,如如果是双变量,如plot(t,z) ,则,则z中的虚数部分中的虚数部分将被丢弃。将被丢弃。要在复平面内绘多条曲线,必须用要在复平面内绘多条曲线,必须用hold命令,命令,或将多条曲线的实部和虚部明确地写出,作为或将多条曲线的实部和虚部明确地写出,作为函数的输入变元,即函数的输入变元,即Plot(real(z1),imag(z1),real(z2),imag(z2)子图子图1画出了复数图形;画出了复数图形;子图子图2只画出了只画出了z的实部随的实部随t 的变化规律,的变化规律,子图子图3是用极坐标绘制的复数曲线;是用极坐标绘制的复数曲线;子图子图4说明了半对数坐标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肠道病毒CoxA16型手足口病病因介绍
- 羊奶课件教学课件
- 部编版四年级语文上册第27课《故事二则》精美课件
- 部编版四年级语文上册《语文园地一》教学设计
- 部编版四年级语文上册《语文园地八》精美课件
- 细菌性上呼吸道感染病因介绍
- 《客户关系管理实务》电子教案 18实训项目:产品推介会组织开展
- 《中国历史总复习》课件
- 教科版小学综合实践6下(教案+课件)60 饮料与健康教案
- 2024版家具定制销售合同6篇
- 军人抚恤优待条例培训2024
- 帝国的兴衰:修昔底德战争史学习通超星期末考试答案章节答案2024年
- 食品安全与质量检测技能大赛考试题库400题(含答案)
- 田间管理记录表
- 社会信用法概论智慧树知到期末考试答案章节答案2024年湘潭大学
- 食品风味研究专题智慧树知到期末考试答案章节答案2024年中国农业大学
- 经典导读与欣赏-知到答案、智慧树答案
- 社会保障2024年社会保障体系改革
- 九省高三适应性联考诗歌鉴赏《临江仙+正月二十四日晚至湖上》译文赏析及试题含答案解析详解讲评课件
- 【教学创新大赛】《数字电子技术》教学创新成果报告
- TWSJD 002-2019 医用清洗剂卫生要求
评论
0/150
提交评论