您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > MATLAB基础入门
主讲人:Matlab基础入门1Matlab软件基本介绍2Matlab软件界面3变量的定义及特殊变量和常数4基本运算5矩阵操作6m文件的创建7面向过程的matlab程序设计8Matlab绘图9Matlab学习技巧及网络资源10练习题1Matlab软件基本介绍Matlab名字是由Matrix和Laboratory两个词的前三个字母组合而成的,是由MathWorks公司于1982年推出的一套高性能的数值计算和可视化数学软件。Matlab编程运算与人进行科学计算的思路和表达方式完全一致(主要面向过程)。不像学习其它高级语言如Basic、Fortran和C等那样难于掌握。其基本数据类型是矩阵。具有强大的数值计算和图示能力。具有丰富的工具箱(ToolBox),例如统计工具箱、优化工具箱、神经网络、信号处理等等。2Matlab软件界面当前路径窗口历史命令窗口命令窗口工具栏主菜单栏当前目录路径文件详细信息工作区窗口快速启动窗口按钮3变量的定义及特殊变量及常量3.1变量的定义变量不需要定义就可以使用,但必须赋值;变量名区分大小写;变量名的第一个字符必须为英文字母,并且变量名长度不超过31个字符;变量名可以包含下连字符、数字,但不能为空格符、标点;变量名不要和函数名重复。基本数据类型为矩阵,操作演示。3变量的定义及特殊变量及常量3.2特殊变量及常量ans最近生成的无名结果eps浮点数的相对误差pi3.14145926i虚数单位j虚数单位Inf无穷大,如n/0Nan非数值型变量Realmin最小的正浮点数,Realmax最大的浮点数4基本运算4.1算术运算符+加-减*乘(包括标量乘,矩阵乘,标量与矩阵乘)/除(包括标量除,矩阵除标量,数组除标量)^矩阵求幂(矩阵必须为方阵).*矩阵对应元素相乘./矩阵对应元素相除.^矩阵每个元素求幂注意:记不住时试一下!4基本运算4.2关系运算符小于=小于等于大于=大于等于==等于~=不等于运算法则:若关系式成立,结果为1;若关系式不成立,结果为0。4基本运算4.3逻辑运算符&与|或~非运算法则:若逻辑真,结果为1;若逻辑假,结果为0。4基本运算4.4特殊运算符=变量赋值%注释符…换行符‘矩阵转置符:冒号运算符n:s:m产生n~m,步长为s的序列,s可以为正或负或者小数,默认值为1。5矩阵操作5.1矩阵生成(1)矩阵的直接输入按元素排列顺序直接输入,所有元素用方括号“[]”括住;同行元素用逗号或空格分隔,不同行元素用分号或回车分开.例5.1A=[1,2,3;4,5,6]输出结果:A=123456或A=[123;456]或A=[123456]注:①若不指定输出变量,则系统默认ans为变量名;②利用下标,比如A(i,j),可以访问矩阵元素例如:a=A(2,1)输出为a=45矩阵操作(2)矩阵的函数生成[]空矩阵zeros(m,n)零矩阵ones(m,n)1矩阵eye(m,n)单位矩阵rand(m,n)(0,1)区间内的均匀分布随机矩阵例5.2z=zeros(2,3),u=ones(3)z=0.00000.00000.00000.00000.00000.0000u=1.00001.00001.00001.00001.00001.00001.00001.00001.0000例5.3e=eye(3,4),x=rand(1,3)e=1.00000.00000.00000.00000.00001.00000.00000.00000.00000.00001.00000.0000x=0.23110.89130.01855矩阵操作5.2向量(数组)的输入(1)作为矩阵输入例.A=[1,2,3];%(行向量)B=[1;2;3];%(列向量)C=rand(1,4);%(利用矩阵生成函数)(2)行向量的特殊输入方式由冒号a:d:b生成等差数组:从a到b公差为d(默认1)的等差数组.由函数linspace(a,b,n)生成等差数组:从a到b共n(默认100)个数值.5矩阵操作例5.4A=1:5;%A=12345(公差缺省为1)B=1:2:7;%B=1357(公差为2)C=5:-2:-1;%C=531-1(公差为-2)linspace(0,1,4);%ans=00.33330.66671.0x=linspace(0,1);%等差数组,从0到1默认划分为100个数值5矩阵操作5.3矩阵的裁剪、拼接与修改(1)矩阵的裁剪在MATLAB中,矩阵的元素可用其行标、列标表示。从一个矩阵中取出若干行(列)构成新矩阵称为裁剪,其中冒号“:”的使用非常重要。例5.5A=[1234;5678;9101112];%定义矩阵AA(3,:)%提取A的第3行,ans=[9101112]A(:,2)%提取A的第2列,ans=[2610]’X=A(2:3,[1,3,4])%提取A的第2,3行,1,3,4列则:X=[578;91112]5矩阵操作(2)矩阵的拼接在MATLAB中,可按照分块矩阵思想,由小矩阵拼接组合成大矩阵,但应注意所有小矩阵维数应当相容。例5.6由A的第2行,2行1列零向量及2行3列单位阵拼接成3行4列矩阵E.E=[A(2,:);zeros(2,1),eye(2,3)]E=567801000010A=[1234;5678;9101112];5矩阵操作(3)矩阵的编辑修改在MATLAB中,通过对矩阵的部分元素(子矩阵)重新赋值,可以实现对矩阵元素的编辑和修改。例5.7A(3,1)=0%将A的第3行1列元素修改为0A=121056010101112A(1:2,3:4)=eye(2)%将A的第1,2行3,4列子矩阵改为2阶单位阵5矩阵操作5.2矩阵运算(1)矩阵的基本运算A±B(A,B同维数,对应元素相加减)A*B(A列数=B行数,通常矩阵乘法)A\B(左除,A,B同行数,方程AX=B解)B/A(右除,A,B同列数,方程XA=B解)A’(共轭转置)A^p(矩阵乘幂,A为方阵)5矩阵操作(2)常数与矩阵的运算b±A、b*A、b\A、A/b(b与A各元素做相应运算,对于除法b只能做除数)(3)矩阵的特殊运算(点运算)A.*B、A.\B、A./B、A.^B(A、B维数相同,按对应元素运算)A.\b、b./A、A.^b、b.^A(b与A各元素做相应运算)5矩阵操作例5.8X1=A+B,X2=C*B,X3=A\B输出结果:X1=333614X2=814630X3=0.7143-0.28570.85710000.42860.4286-0.2857其中:A=123312B=210302C=12305矩阵操作5.3常用矩阵操作函数sum矩阵求和prod矩阵相乘size矩阵大小length矩阵长度sort矩阵排序max/min矩阵最大值/最小值reshape矩阵变形函数repmat矩阵堆叠find矩阵查询6M文件的创建1.脚本文件(亦称命令M-文件)脚本文件的结构比较简单,它没有输入参数和输出参数,只是一些MATLAB命令行的组合。脚本文件中定义的变量都是全局变量。2.函数文件(亦称函数M-文件)通常函数文件包含以下几个部分:(1)函数定义行:位于文件首行,以function开头;(2)帮助信息:紧跟函数定义行后,以%开头注释行;(3)函数体:函数的执行语句部分;(4)注释部分:命令行中以“%”开始直到该行结束。6M文件的创建语句的一般形式:[变量=]表达式注:①若缺省“变量=”,则系统默认ans为变量名。②若语句末尾以分号“;”结束,则命令执行后不显示计算结果③若语句太长可以使用续行符“…”将其延续到下一行④一行中可书写多个语句,各语句之间要用逗号(显示计算结果)或分号(不显示计算结果)分开。123456,A401012,B例6.1给定矩阵A=[123;456];%输入矩阵AB=[401;012];%输入矩阵BC=A+B%计算输出A与B的和D=A-B%计算输出A与B的差编写命令文件,输入矩阵A、B,并计算输出它们的和与差。解:建立如下M-文件SY1.m将上述文件以SY1.m为名存盘,然后在命令窗口调用此M-文件,则有6M文件的创建C=[524468];SY1function[C,D]=SY2(A,B)%给定矩阵A和B,计算输出其矩阵和C与矩阵差DC=A+B;%计算矩阵和D=A-B;%计算矩阵差例6.2编写函数文件,计算任意两个同维数矩阵的和与差.解:建立如下函数文件SY2.m以SY2.m为名存盘,然后在命令窗口调用此函数文件.D=[-322444];6M文件的创建A=[123;456];B=[401;012];%输入参数赋值[C,D]=SY2(A,B)%调用函数SY2.m注:①函数文件的首行须以function开头,后跟输出参数(多于1个时用方括号括起),函数名及输入参量(圆括号括起),参量之间用逗号隔开。②函数文件的变量一般是局部变量,可以用global命令将某些变量说明为全局变量。③函数文件名一般应与函数定义行中的函数名相一致。④函数文件可以递归调用。C=[524468];D=[-322444];6M文件的创建1.M-文件的建立与编辑方法1:在命令窗口输入命令:edit[M-文件名]即可打开相应M-文件编辑器。方法2:单击菜单“File”-“New”-“M-file”即可打开空白M-文件编辑器;2.M-文件的调用方法1:在MATLAB命令窗口中直接键入M-文件名,然后回车,即可运行该M-文件;方法2:在M-文件编辑窗口中,单击工具钮RUN或菜单Debug/RUN,即可运行该M-文件。6M文件的创建其中,实际参数和形式参数可以不同;输入参数要用圆括号将其括起,输出参数多于一个时,要用方括号“[]”将其括起;参数间用逗号隔开。注:①被调用的M-文件必须位于当前目录或文件搜索路径范围内。③调用函数文件时,须事先对输入参量赋值,然后按照以下格式调用输出参量=函数名(输入参量)(回车)②使用以下命令格式可将指定目录设置为当前目录:cd路径\目录名6M文件的创建7面向过程的matlab程序设计Matlab的工作方式有二种1.交互式的指令操作方式。即用户在命令窗口中输入命令并按下回车键后,系统执行该指令并立即给出运算结果。2.M文件的编程方式。M文件是由matlab语句构成的文件,且文件名必须以.M为扩展名,如example.m。用户可以用任何文件编辑器来对M文件进行编辑。7面向过程的matlab程序设计M文件的程序执行过程:从上到下,依次执行。面向过程的程序设计程序结构主要是循环与判断,相应的控制流语句如下:7.1循环结构(1)for-end循环用于循环次数事先确定的,格式为fori=n:s:m语句体end其中,s为步长,可以为正数,负数或小数。7面向过程的matlab程序设计基本功能:循环循环变量依次取矩阵的每一列,然后执行一次语句体;遍历矩阵各列后,然后执行end的后续命令。注:①格式中步长s省略时,其则默认步长为1.②for循环不能由循环体内给循环变量赋值来终止;③for循环可以按需要进行嵌套;例7.1编写函数文件,计算并输出矩阵A的各行向量的元素和.%调用函数A=[1234;5678]A=12345678X=hanghe(A)X=1026解:编写函数文件(hanghe.m)如下:functionX=hanghe(A)[m,n]=size(A);%计算A维数X=zeros(m,1);%零初始化fori=1:ny=A(:,i);X=X+y;end7面向过程的matlab程序设计(2)while语句while关系表达式{语句体}end基本功能:若关系表达式值为真,则反复执行语句体,直至关系表达式值为假,则终止循环,转而执行end的后续命令。注:①若关系表达式值为矩阵,则仅当结果矩阵的所有元素均
本文标题:MATLAB基础入门
链接地址:https://www.777doc.com/doc-4697876 .html