书签 分享 收藏 举报 版权申诉 / 307
上传文档赚钱

类型MATLAB及在电子信息课程中的应用课件.ppt

  • 上传人(卖家):ziliao2023
  • 文档编号:6148224
  • 上传时间:2023-06-03
  • 格式:PPT
  • 页数:307
  • 大小:1.31MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《MATLAB及在电子信息课程中的应用课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    MATLAB 电子信息 课程 中的 应用 课件
    资源描述:

    1、2023-6-31MATLAB及在电子信息课程中的应用2023-6-32第一篇 语言篇 第1章 MATLAB 语言概述 第2章 基本语法 第3章 MATLAB 的开发环境和工具 第4章 MATLAB 的其他函数库2023-6-33第二篇 应用篇 第5章 MATLAB在电路中的应用 第6章 MATLAB在信号与系统中的应用 第7章 MATLAB在数字信号处理中应用 第8章 MATLAB在自动控制原理中应用 第9章 MATLAB工具箱简介 附录A、B、C、D2023-6-34第1章 MATLAB语言概述 1.1 MATLAB语言的发展 1.2 MATLAB语言的特点 1.3 MATLAB的工作环境

    2、 1.3.1 命令窗 1.3.2 图形窗 1.3.3 文本编辑窗 1.4 演示程序 1.5 网络资源2023-6-351.1 MATLAB语言的发展 1.1.1 MATLAB 概述 MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言,是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。它的优点在于快速开发计算方法,而不在于计算速度。MATLAB已成为一门高校必修的课程,也是最为普遍的计算工具之一。2023-6-361.1 MATLAB语言的发展(续)1.1.2 Matlab的发展 MATLAB名字由MATrix和 LABoratory 两词的前三个

    3、字母组合而成。那是20世纪七十年代,时任美国新墨西哥大学计算机科学系主任的Cleve Moler出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK矩阵软件工具包库程序的的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。1984年由Little、Moler、Steve Bangert合作成立MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。2023-6-37 1997年仲春,年仲春,MATLAB5.0版问世,紧接着是版问世,紧接着是5.1、5.2,以

    4、及和以及和1999年春的年春的5.3版。现今的版。现今的MATLAB拥有更丰富拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。的应用开发工具。2000年末又推出6.0版本。无论在界面的设计上还是在内容上较以前版本都有很大的进展。2004年又推出了7.0版本,2023-6-381.1 MATLAB语言的发展(续)1.1.3 Matlab的版本演化1.Matlab 1.02.Pc matlab-matlab 3863.Matlab3.5+

    5、simulink4.Matlab 4.0:simlink内嵌(1992)5.Matlab 5.0:全面的面向对象6.Matlab 5.15.3 (1999)7.Matlab 6.0 (2000)8.Matlab 6.5:购并了MATRIXx9.Matlab 7.0:(2004)2023-6-391.2 MATLAB语言的特点 友好的工作平台和编程环境 简单易用的程序语言 强大的科学计算及数据处理能力 出色的图形处理功能 应用广泛的模块集和工具箱 实用的程序接口和发布平台 模块化的设计和系统级的仿真2023-6-3101.3 MATLAB的工作环境1.3.1 命令窗(Command Window

    6、)单行命令执行方式 执行结果直接显示1.3.2 图形窗(Figure Window)用图形方式表示计算结果1.3.3 文本编辑窗(File Editor)多行命令组成语言组,可以文件方式存盘下面就具体看一下MATLAB 的工作环境演示。2023-6-3111.4 演示程序 在MATLAB的命令窗中键入 demo或demos%pend.mplot(-0.2,0.2,0;0,color,y,linestyle,-,linewidth,10);g=0.98;l=1;theta0=pi/6;x0=l*sin(theta0);y0=-l*cos(theta0);axis(-0.75,0.75,-1.25

    7、,0);axis(off);head=line(x0,y0,color,r,linestyle,.,erasemode,xor,markersize,40);body=line(0;x0,0,y0,color,b,linestyle,-,erasemode,xor);t=0;dt=0.01;while t=50 t=t+dt;theta=theta0*cos(sqrt(g/l)*t);x=l*sin(theta);y=-l*cos(theta);set(head,xdata,x,ydata,y);set(body,xdata,0;x,ydata,0;y);drawnow;end2023-6-3

    8、13部分命令的演示例1.求 的算术运算结果。(12+2*(7-4)/32 ans=2 例2.简单矩阵 的输入步骤。A=1,2,3;4,5,6;7,8,9 A=1 2 3 4 5 6 7 8 923)47(212987654321A例例3.矩阵的分行输入。矩阵的分行输入。A=1,2,34,5,67,8,9 A=1 2 3 4 5 6 7 8 9 例例4.4.指令的续行输入指令的续行输入S=11/2+1/31/4+1/51/6+1/7-1/8 S=0.6345例5.复数 表达,及计算 。(1)z1=3+4i z1=3.0000+4.0000i (2)z2=1+2*iz3=2*exp(i*pi/6)

    9、z=z1*z2/z3 z2=1.0000+2.0000iz3=1.7321+1.0000iz=0.3349+5.5801i ieziziz63212,21,43321zzzz 例6.复数矩阵的生成及运算 A=1,3;2,4-5,8;6,9*i B=1+5i,2+6i;3+8*i,4+9*i C=A*B A=1.0000-5.0000i 3.0000-8.0000i 2.0000-6.0000i 4.0000-9.0000i B=1.0000+5.0000i 2.0000+6.0000i 3.0000+8.0000i 4.0000+9.0000i C=1.0e+002*0.9900 1.1600

    10、-0.0900i 1.1600+0.0900i 1.3700 例7.求上例复数矩阵C的实部、虚部、模和相角。C_real=real(C)C_imag=imag(C)C_magnitude=abs(C)C_phase=angle(C)*180/pi C_real=99 116 116 137 C_imag=0 -9 9 0 C_magnitude=99.0000 116.3486 116.3486 137.0000 C_phase=0 -4.4365 4.4365 0 例8.用MATLAB计算 能得到 2 吗?(1)a=-8;r=a(1/3)r=1.0000+1.7321i (2)全部方根计算如

    11、下 m=0,1,2;R=abs(a)(1/3);Theta=(angle(a)+2*pi*m)/3;rrr=R*exp(i*Theta)rrr=1.0000+1.7321i -2.0000+0.0000i 1.0000-1.7321i 38(3)图形表示 t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t);plot(x,y,b:),grid hold on plot(rrr(1),.,MarkerSize,30,Color,r)plot(rrr(2,3),o,MarkerSize,15,Color,b)axis(-3,3,-3,3),axis square hold of

    12、f -3-2-10123-3-2-10123例9.画出衰减振荡曲线 及其它的包络线 。t的取值范围是 t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,-r,t,y0,:b,t,-y0,:b)teyt3sin330tey4,002468101214-1-0.8-0.6-0.4-0.200.20.40.60.81 例10.画出 所表示的三维曲面。的取值范围是-8,8.clear;x=-8:0.5:8;y=x;X=ones(size(y)*x;Y=y*ones(size(x);R=sqrt(X.2+Y.2)+eps;Z=sin(R

    13、)./R;mesh(X,Y,Z);colormap(hot)xlabel(x),ylabel(y),zlabel(z)2222)sin(yxyxzyx,2023-6-3221.5 网络资源1.USENET新闻组MATLAB的新闻组是comp.soft-sys.MATLAB。浏览器指向http:/ http:/2.网络上的工具箱http:/ 网络资源(续)3.BBS哈尔滨工业大学bbs:telnet:/上海交通大学bbs:telnet:/清华大学bbs mathtools4.www服务http:/http:/Matlab 大观园:http:/www.matlab-2023-6-324第2章 基本

    14、语法 2.1 变量及其赋值 2.2 矩阵的初等运算 2.3 元素群运算 2.4 逻辑判断及流程控制 2.5 基本绘图方法 2.6 M文件及程序调试2023-6-3252.1 变量及其赋值 2.1.1 标识符与数 标识符是标识变量名、常量名、函数名、文件名的字符串的总称。1、表示符第1个字符必须是字母。2、长度不超过31个。3、区分大小写。4、变量中不能含有标点符号。5、变量可直接参与计算。6、变量一般无需事先定义2023-6-3262.1.1 标识符与数(续)7、特殊变量2023-6-3272.1.1 标识符与数(续)8、数值显示格式 MATLAB中所有的量为双字长浮点数,显示按下面显示规则:

    15、1.在缺省情况下,当结果为整数,作为整数显示;当结果为实数,以小数后4位的精度近似显示。2.如果结果中的有效数字超出了这一范围,以科学计数法显示结果。3.format命令改变显示格式,常用的的格式有 long(16位)bank(2个十进制位)hex(十六进制)short(缺省)short e(5位加指数)+(符号)long e(16位加指数)rat(有理数近似)2023-6-3282.1.2 矩阵及其元素的赋值 矩阵获取格式:变量=表达式(或数)1、直接输入:A=1 2 3;4 5 6;7,8,9 *矩阵用中括号括起。矩阵用中括号括起。*元素间用空格隔开,或用逗号隔开。元素间用空格隔开,或用逗

    16、号隔开。*每行用分号;号表示回车。每行用分号;号表示回车。2、行向量 B=1 2 3 4 53、列向量 C=1;2;3;4;5;每行命令后面的分号;表示结果不显示每行命令后面的分号;表示结果不显示。2023-6-3292.1.2 矩阵及其元素的赋值(续)4、元素可用表达式表示 D=-1.3 sqrt(3)(1+2+3)/5+15、用语句生成 行向量 E=from:step:to 即E=开始数:步长:结束数 E=1:2:10 得E=1 3 5 7 96、矩阵连接 B=a b V=a;b2023-6-3302.1.2 矩阵及其元素的赋值(续)7、用函数创建 如:zeros(m,n)ones(m,n

    17、)eye(m,n)zeros(3);zeros(3,3);zeros(2,3);zeros(3,2);ones(3);ones(3,3);ones(2,3);ones(3,2);eye(3);eye(3,3);eye(3,4);eye(4,3);0000000001111110001000100012023-6-3312.1.2 矩阵及其元素的赋值(续)8、rand(m,n)%产生均匀分布随机数(产生均匀分布随机数(0,1)9、rand(state,0)%把均匀分布伪随机发生器置为把均匀分布伪随机发生器置为0状态状态10、randn(m,n)%产生正态分布随机数产生正态分布随机数 11、mag

    18、ic(m)%产生魔方数组(对高维不适用)产生魔方数组(对高维不适用)%即每行、每列及对角元素之和为即每行、每列及对角元素之和为(n3+n)/212、linspace(a,b,n)%在在a和和b之间均匀产生之间均匀产生n个点的值个点的值如:如:f=linspace(0,1,5)则则 f=0 0.25 0.5 0.75 1.013、logspace(a,b,n)%在在a和和b之间对数分布产生之间对数分布产生n个点的值个点的值如:如:f=logspace(0,1,5)则则 f=1.0000 1.7783 3.1623 5.6234 10.00002023-6-3322.1.2 矩阵及其元素的赋值(续

    19、)矩阵中的元素(用圆括号中数字来注明)1.A(i,j)表示第i 行,第j列元素。2.A(i)表示第i个元素。矩阵中元素的排序如右所示矩阵中元素的排序如右所示3.A(i,j)=常量,表示给A中元素赋值。当下标超出原矩阵的尺寸,则自动扩展行列并补零。当下标超出原矩阵的尺寸,则自动扩展行列并补零。20161284191511731814106217139512023-6-3332.1.2 矩阵及其元素的赋值(续)4.A(:,j)表示A阵中第j 列所有元素。5.A(i,:)表示A阵中第i 行所有元素。6.A(2:3,4:6)表示第2行到第3行,第4列到第6列的子矩阵。7.A(3:7)指A阵中第3个到第

    20、7个元素(列优先)(列优先)矩阵的序号编址:按列计数。8.A(2)=表示去除矩阵中元素。此时矩阵变为行矩阵。9.A(:)指A阵中所有元素组成列向量。2023-6-3342.1.3 复数1、复数的虚部部分用i 或j表示。如:2+3i,3-4j2、复数可直接计算。如如:z=2+3i;3-4j 或 f=z+2+j;3;3、复数的实部和虚部可分别赋值。但 i和j需先清除。如:clear i j f=1,3;5,7+2,4;6,8*j2023-6-3352.1.3 复数4、B=Z 表示共轭转置。5、B=conj(Z)表示共轭。如:Z=1+2i,3-4j则:B=Z 有 B=1-2i 3+4j B=conj

    21、(Z)有 B=1-2i,3+4j2023-6-3362.1.3 复数6、B=conj(Z)表示转置。7、B=Z.表示非共轭复数转置。如:Z=1+2i,3-4j则:B=conj(Z)有 B=1+2i 3-4j B=Z.有 B=1+2i 3-4j2023-6-3372.1.4 变量的查询,存储,提取1、变量的查询 who 或 whos2、变量的存储 save 文件名.mat 变量列表 如:save sar a b c 变量中间用空格隔变量中间用空格隔开,不能加逗号。开,不能加逗号。3、变量的提取 load 文件名4、变量的清除 clear 变量列表5、清除所有变量 clear all2023-6-

    22、3382.1.5 基本赋值矩阵 为了方便给大量元素赋值,MATLAB提供了一些基本矩阵。见书中表2.1 如:A=zeros(m,n)全0矩阵B=ones(m,n)全1矩阵C=eye(m,n)单位矩阵D=rand(m,n)01之间随机数均匀分布randn(state,0);%把随机数发生器置0E=randn(m,n)均值为0的,单位方差正态分布随机矩阵 F=magic(m)魔方矩阵2023-6-339G=linspace(a,b,n)线性分隔,a,b之间均匀产生n个数H=logspace(a,b,n)对数分隔,a,b之间产生n个数K=diag(A);取A中对角线元素得到列向量列向量。P=diag

    23、(diag(A)产生对角阵 a=1 2 3 4;b=diag(a)产生对角阵如 A=1 2 3;4 5 6;7 8 9 B=diag(A)则:B=1;5;9;4000030000200001b2023-6-3402.2 矩阵的初等运算2.2.1 矩阵的加减乘除矩阵的加减乘除1、+,-,*,/,2、点乘:、点乘:.*右除:右除:./左除:左除:.1、C=A+B;C=A-B C=A*B 注意:矩阵注意:矩阵 必须相匹配必须相匹配2、X=AB 表示表示AX=B X=A-1B 即 X=inv(A)*B3、X=A/B 表示表示XB=A X=AB-1 即 X=A*inv(B)4、m,n=size(A)计算

    24、矩阵计算矩阵A的行列大小的行列大小5、K=length(A)计算矩阵计算矩阵A的行列大小中最大的数的行列大小中最大的数2023-6-3412.2.1 矩阵的加减乘除点乘、点除点乘、点除6、C=A.*B 对应元素间相乘。2012624321*.54322023-6-3427、C=A./B 对应元素间相除。8、C=A.B5815124321/.202430128.075.0125.04321.54242023-6-3432.2.2 矩阵除法及线性方程组的解1、方阵的行列式 B=det(A)即B=|A|2、方阵的求逆 B=inv(A)即B=A-1 条件|A|03、方阵的伪逆矩阵 B=pinv(A)条

    25、件|A|=04、方阵的伴随矩阵 B=inv(A)*det(A)即B=A-1|A|2023-6-3442.2.3 矩阵的乘方和幂次函数1、矩阵乘方矩阵乘方2、.元素对元素的乘方元素对元素的乘方 C=An 表示A阵自乘n次。C=A(-n)表示A阵的逆矩阵自乘n次。C=A.n 表示A阵中每个元素自乘n次。C=A.(-n)表示A阵中每个元素自乘n次后的逆阵,即每个元素为1/(An)。C=A2 C=A.2 C=A(-2)=inv(A)2 C=A.(-2)4321A2215107C16941C75.175.35.25.5C0625.0111.025.01C2023-6-3462.2.4 矩阵结构形式的提取

    26、与变换 B=fliplr(A)%将A矩阵左右翻转 B=flipud(A)%将A矩阵上下翻转 B=reshape(A,m,n)%将A阵重组为mxn矩阵 B=rot90(A)%将A矩阵逆时针翻转90度 B=diag(A)%提取A矩阵的对角组成列向量 B=tril(A)%提取A矩阵的左下三角部分 B=triu(A)%提取A矩阵的右上三角部分 如:B=fliplr(A)B=flipud(A)B=rot90(A)B=tril(A)987654321A789456123B321654987B741852963B987054001B2023-6-3482.3 元素群运算 2.3.1 数组及其赋值1、t=初值

    27、:步长:终值;如t=0:0.1:1 tt=10:-1:12、t=linspace(初值,终值,点数)如:tr=linspace(0,2*pi,9)3、t=logspace(初值,终值,点数)如:tp=logspace(0,1,11)2023-6-3492.3.2 元素群的四则运算 表示对矩阵中每个元素进行运算 如如 X=1 2 3;Y=4 5 6 Z=X.*Y Z=4 10 18 Z=X.Y Z=4 2.5 2 Z=X.Y Z=1 32 729 Z=X.N N=2 Z=1 4 9 Z=2.X Y Z=2 4 8 16 32 642023-6-3502.3.3 元素群的函数 等命令可以直接MAT

    28、LAB中exp、sprt、sin、cos使用在矩阵上,这种运算只是定义在矩阵的单个元素上,即分别对矩阵的每个元素进行运算。MATLAB中也提供了基本的三角函数。注意其中的取整注意其中的取整函数名函数名含义含义abs绝对值或者复数模sqrt平方根real实部imag虚部conj复数共轭round4舍5入到整数fix舍入到最接近0的整数floor舍入到最接近-的整数ceil舍入到最接近的整数2023-6-3512.3.3 元素群的函数函数名函数名含义含义sign符号函数rem留数sin正弦cos余弦tan正切asin反正弦acos反余弦atan反正切atan2第四象限反正切函数名函数名含义含义si

    29、nh双曲正弦cosh双曲余弦tanh双曲正切exp自然指数log自然对数log10以10为底的对数bessel贝赛尔函数gamma伽吗函数rat有理逼近2023-6-3522.4 逻辑判断及流程控制2.4.1 关系操作符 MATLAB常用的关系操作符有:(小于)、(大于)、=(大于或等于)、=(等于)、=(不等于)。MATLAB的关系操作符可以用来比较两个大小相同的数组,或者比较一个数组和一个标量。在与标量比较时,结果和数组大小一样。a=1:9;b=a4 b=0 0 0 0 1 1 1 1 1 c=a(a4)c=5 6 7 8 92023-6-3532.4.1 关系操作符 矩阵查找和排序 子矩

    30、阵的查找使用find命令完成,它返回关系表达式为真的下标。例如:a=10:20;find(a15)ans=7 8 9 10 11 矩阵的排序使用sort函数,它将矩阵按照升序排列。2023-6-3542.4.2 逻辑运算 逻辑操作符定义了一种与或非的关系表达式。MATLAB的逻辑操作符有&(与)、|(或)、(非)、xor(异或)。例如:c=(a4)c=1 1 1 1 0 0 0 0 0 c=(a4)&(a7)c=0 0 0 0 1 1 0 0 0 C=xor(A,B)2023-6-3552.4.3 其他关系与逻辑函数 xor(x,y)异或运算。x或y非零(真)返回1,x和y都是零(假)或都是非

    31、零(真)返回0。any(x)如果在一个向量x中,任何元素是非零,返回1;矩阵x中的每一列有非零元素,返回1。all(x)如果在一个向量x中,所有元素非零,返回1;矩阵x中的每一列所有元素非零,返回1。%逻辑函数的运用示例。randn(state,1),R=randn(3,6)%创建正态随机阵 L=abs(R)1.5%不等式条件运算,结果给出逻辑数组 R(L)=0%逻辑1对应的元素赋0值。s=(find(R=0)%利用find获得符合关系等式条件的元素单下标 R(s)=111%利用单下标定位赋值 ii,jj=find(R=111);%利用find获得符合关系等式条件的元素双下标disp(ii),

    32、disp(jj)【例】关系运算运用之一:求近似极限,修补图形缺口。t=-2*pi:pi/10:2*pi;y=sin(t)./t;subplot(1,2,1),plot(t,y),axis(-7,7,-0.5,1.2),xlabel(t),ylabel(y),title(残缺图形)tt=t+(t=0)*eps;yy=sin(tt)./tt;subplot(1,2,2),plot(tt,yy),axis(-7,7,-0.5,1.2)xlabel(t),ylabel(yy),title(正确图形)Warning:Divide by zero.2023-6-359【例】逻辑操作应用之一:逐段解析函数的

    33、计算和表现。本例演示削顶整流正弦半波的计算和图形绘制。t=linspace(0,3*pi,500);y=sin(t);z1=(t2*pi).*y;w=(tpi/3&t7*pi/3&t8*pi/3);w_n=w;z2=w*sin(pi/3)+w_n.*z1;subplot(1,3,1),plot(t,y,:r),ylabel(y)subplot(1,3,2),plot(t,z1,:r),axis(0 10-1 1)subplot(1,3,3),plot(t,z2,-b),axis(0 10-1 1)0510-1-0.8-0.6-0.4-0.200.20.40.60.81y0510-1-0.8-0

    34、.6-0.4-0.200.20.40.60.810510-1-0.8-0.6-0.4-0.200.20.40.60.812023-6-361【例】写出生成下图所示波形的MATLAB脚本文件M文件。图中虚线为正弦波,要求它的负半波被置零,且在 处被削顶。38,37,32,3t=linspace(0,3*pi,500);y=sin(t);z1=(t2*pi).*y;w=(tpi/3&t7*pi/3&t=10 y=x2+3;elseif x=0 y=x3+4*x;else y=x5+x;end yx=input(x=);if x=10 y=x2+3;else if x=0 y=x3+4*x;else

    35、 y=x5+x;endendy2023-6-3672.4.4 流程控制语句 for循环 for循环允许一组命令以固定的次数重复,它的一般形式是 for x=array command end for 和end之间的命令串按数组array的每一列执行一次,直到n次后终止。如:for j=1:2:10 y=j+j.2;end2023-6-3682.4.4 流程控制语句1.for循环不能使用内部重新赋值循环变量而终止;2.for循环内部接受任何有效的MATLAB数组;3.for循环可以嵌套;4.只要有矩阵形式可以解决的问题,不要使用for循环。使用for循环的算法执行很慢,一个好的MATLAB算法不

    36、应当出现循环语句。Tic/toc5.循环可以使用break跳出,但只跳出所在的循环,不跳出整个嵌套结构。2023-6-3692.4.4 流程控制语句 while循环 与for循环以固定的次数求一组指令相反,while循环以不定的次数求一组语句的值。While循环的一般形式为:while expression commonds end 只要表达式expression里的所有元素为真,就执行命令串commands。通常表达式求值给一个标量值,单数组值也同样有效。2023-6-370求1001xxy NjNijiyy111y=0;for x=1:100 y=y+x;endyN=input(N=);y

    37、=0;for i=1:N for j=1:N y=y+1/(i+j);endendyN=input(N=);y=0;i=1;while i=N j=1;while j=N y=y+1/(i+j);j=j+1;end i=i+1;endy2023-6-371【例】Fibonacci数组的元素满足Fibonacci 规则:,;且 。现要求该数组中第一个大于10000的元素 a(1)=1;a(2)=1;i=2;while a(i)=10000 a(i)break;end;Endi 结果:ans=10946 i=21 2023-6-3732.4.4 流程控制语句Switch 语句是一种均衡实现的多分支

    38、语句。Switch expression Case 值1 commands1 Case 值2 commands2 Otherwise commandsN end2023-6-374学生的成绩管理,用来演示switch结构的应用。clear;for i=1:10 ai=89+i;bi=79+i;ci=69+i;di=59+i;end;c=d,c;Name=Jack,Marry,Peter,Rose,Tom;Mark=72,83,56,94,100;Rank=cell(1,5);S=struct(Name,Name,Marks,Mark,Rank,Rank);for i=1:5 switch S(

    39、i).Marks case 100 S(i).Rank=满分满分;case a S(i).Rank=优秀优秀;case b S(i).Rank=良好良好;case c S(i).Rank=及格及格;otherwise S(i).Rank=不及格不及格;endenddisp(学生姓名学生姓名 ,得分得分 ,等级等级);disp()for i=1:5;disp(S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i).Rank);end;结果:结果:学生姓名 得分 等级 Jack 72 及格 Marry 83 良好 Peter 56 不及格 Ro

    40、se 94 优秀 Tom 100 满分 2023-6-3762.5 基本绘图方法2.5.1 直角坐标中的两维曲线 plot(y)以y的下标作为x坐标,以y值作为y坐标。plot(x,y)数组x和y的长度应匹配。每次绘制将清除以前的图形。2023-6-3772.5.1 直角坐标中的两维曲线 图形的标注和图例1、title(text)%给图形加上标题2、xlabel(text)%给X轴加上说明3、ylabel(text)%给Y轴加上说明4、zlabel(text)%给Z轴加上说明5、text(x,y,string)%在图形指定位置加上说明6、gtext(string)%利用鼠标在图形加上说明7、l

    41、egend(string1,string2,.)%给图形加图例8、legend off%关闭图例如:作y=sin(t)的二维图形 t=linspace(0,3*pi,200);y=sin(t);plot(t,y);title(y=sin(t);xlabel(t/s);ylabel(y=sin(t);text(3,0.4,y=sin(t);legend(y=sin(t);gtext(y=sin(t)2023-6-3792.5.2 线型、点型和颜色 plot(x,y,r:)后面是颜色和线型标识符颜色标识符线型标识符线型y黄.点S正方形标记m品红o圆圈D菱形标记c青xX号朝上三角形r红+号V朝下三角

    42、形g绿-实线朝右三角形b蓝*星号1 error(VAL must be a scalar.)end 这里,如果变量valval 不是一个标量,error error 显示消息字符串,把控制权返回给命令命令窗口和键盘。M函数文件示例。circle.mfunction sa=circle(r,s)%CIRCLE plot a circle of radii r in the line specified by s.%r指定半径的数值%s指定线色的字符串%sa圆面积%circle(r)利用蓝实线画半径为 r 的圆周线.%circle(r,s)利用串 s 指定的线色画半径为 r 的圆周线.%sa=ci

    43、rcle(r)计算圆面积,并画半径为 r 的蓝色圆面.%sa=circle(r,s)计算圆面积,并画半径为 r 的 s 色圆面.%编写于2006年4月7日,修改于2006年6月27日。if nargin2 error(输入宗量太多。);end;if nargin=1 s=b;end;clf;t=0:pi/100:2*pi;x=r*exp(i*t);if nargout=0 plot(x,s);else sa=pi*r*r;fill(real(x),imag(x),s)endaxis(square)2023-6-3115第3章 MATLAB 的开发环境和工具 3.1 MATLAB与其它软件的接口

    44、关系 3.2 MATLAB的文件管理系统 3.3 MATLAB 6.x的开发环境2023-6-31163.1 MATLAB与其它软件的接口关系 3.1.1 与磁盘操作系统的接口关系1、变量的存储和下载 如:save aa a b c%将内存变量a,b,c内容以文件aa.mat的方式存储在磁盘中。或save aa a b c ascii%以ASCII码格式存储2023-6-31173.1.1 与磁盘操作系统的接口关系 load aa 表示将磁盘上存储的aa.mat 数据文件内容取回到工作空间即内存中。此时内存中的变量与存储时的变量相同。此时必须注意,原来内存中不能有与提取文件中的变量相同的变量,

    45、否则原来内存中的变量内容将被取代而丢失。2023-6-31183.1.1 与磁盘操作系统的接口关系2、工作日志的记录 diary 命令可以把MATLAB工作过程中的全部屏幕文字和数据以文本方式记录下来,成为一个工作记录。diary on%默认文件名diary.txt diary bbb%文件名为bbb.txt diary off%结束记录2023-6-31193.1.1 与磁盘操作系统的接口关系3、日期和时间命令 t0=clock;%提取年月日时分秒数据并求差值。y=inv(rand(100,100);etime(clock,t0)t=cputime;%以开机时间为基准 y=inv(rand(

    46、100,100);cputime-t tic;%秒表置零,求经历的时间 y=inv(rand(100,100);toc2023-6-31203.1.1 与磁盘操作系统的接口关系4、不退出MATLAB环境运行其他软件 格式:!命令 2023-6-31213.1.2 与文字处理系统WINWORD 的关系 利用剪贴板进行交互 文字编辑器的使用 Notebook软件工具2023-6-31223.1.3 图形文件的转储 可以利用图形窗口中 figure copy来粘贴。可以利用图形窗口File菜单中的导出子菜单Export来选择需要存储的图形文件格式。可以利用图形窗口的工具对图形进行一些相关处理。202

    47、3-6-31233.1.4 低层输入输出函数库 主要是实现文件内容的相互交换。具体函数可以参考P55页的表3.3 如:X,map=imread(aa.bmp,bmp)就是将图象数据读入X中,颜色读入map中。每条命令的使用可以通过HELP查阅。2023-6-31243.2 MATLAB的文件管理系统 MATLAB 自身的用户文件格式1、程序文件.m2、数据文件.mat3、可执行文件.mex4、仿真模型文件.mdl5、仿真文件.s2023-6-31253.2 MATLAB的文件管理系统 who(whos)cd(chdir,pwd)dir(ls)type what which clc edit!e

    48、cho load clear/pack save diary2023-6-31263.3 MATLAB 6.X的开发环境 这里主要通过MATLAB 6.0的演示来获得开发环境的了解。1、命令窗口 2、历史命令窗口3、资源目录本 4、当前路径浏览器5、工作空间浏览器 6、帮助浏览器7、数组编辑器 8、程序编辑器要掌握最基本的环境使用。2023-6-3127第4章 MATLAB的其他函数库 4.1 数据分析函数库datafun 4.2 矩阵的分解与变换matfun 4.3 多项式函数库polyfun 4.4 函数功能和数值积分函数库funfun 4.5 字符串函数库strfun 4.6 稀疏矩阵函

    49、数库sparfun 4.7 图形界面函数库guitools 4.8 数据类型函数库datatypes 2023-6-31284.1 数据分析函数库datafuncorrcoef(x)求相关系数cov(x)协方差矩阵cplxpair(x)把向量分类为复共轭对cross(x,y)向量的向量积cumprod(x)列累计积cumsum(x)列累计和del2(A)五点离散拉氏算子diff(x)计算元素之间差dot(x,y)向量的点积gradient(Z,dx,dy)近似梯度histogram(x)直方图和棒图max(x),max(x,y)最大分量mean(x)均值或列的平均值 median(x)列的中值

    50、min(x),min(x,y)最小分量 prod(x)列元素的积 rand(x)均匀分布随机数randn(x)正态分布随机数 sort(x)按升序排列 std(x)列的标准偏差subspace(A,B)两个子空间之间的夹角 sum(x)各列的元素和2023-6-31294.1 数据分析函数库datafun4.1.1 基本的数据分析1.max%求各列最大值2.min%求各列最小值 3.mean%求各列平均值4.std%求各列标准差5.median%求各列中间元素6.sum%求各列和7.trapz%梯形法求积分 8.diff%求差分9.sort%排序 max(A)=0.9501 0.8214 0.

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:MATLAB及在电子信息课程中的应用课件.ppt
    链接地址:https://www.163wenku.com/p-6148224.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库