第1讲-MATLAB入门(2015)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验内容:1、熟悉Matlab软件环境,对向量、数组和矩阵处理的基本方法2、使用Matlab作图3、简单编程和M文件的使用实验目的:了解什么是MATLAB以及什么如何使用MATLAB预备实验MATLAB入门MATLAB名称由Matrix和Laboratory两词的前三个字母组合而成,顾名思义,其主要功能是矩阵运算,其首创者是CleveMoler教授。1980年前后,当时的新墨西哥大学计算机系主任Moler教授在讲授线性代数课程时,发现了用其他高级语言编程极为不便,便构思并开发了MATLAB。(1939-)导言早期的MATLAB是用Fortran语言编写的,只能作矩阵运算,绘图也只能用极其原始的方法,内部函数也只提供了几十个。1984年,CleveMoler和JackLittle等人成立了MathWorks公司,正式将MATLAB推向市场。从此MATLAB的内核采用C语言编写,除了原有的数值计算能力外,还增加了丰富多彩的图形图像处理、多媒体功能、符号运算和与其他流行软件的接口功能,使得MATLAB的功能越来越强大。目前,Matlab已经成为国际上最流行的科学与工程计算的软件工具,它不仅是一个“矩阵实验室”和一张“手写式计算纸”,而且已经成为了一种具有广泛应用前景的全新的计算机高级编程语言,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。在欧美的高等院校,Matlab是线性代数、数值分析、数理统计、自动控制、数字信号处理、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。矩阵是MATLAB的核心MATLAB的进入与运行方式(两种)1、启动MATLAB后,就进入MATLAB命令窗口(CommandWindows)或工作区(Workspace),命令窗口是用户与MATLAB进行交互的主要场所。命令窗口的空白区域,用于输入和显示计算结果。(演示)2、在编辑窗口运行程序,不过运行的结果仍出现在命令窗口。(演示)命令窗口命令提示符输入命令的历史历史记录当前工作区当前工作目录编辑窗口Editor一、变量与函数三、数组二、矩阵四、MATLAB作图五、MATLAB编程MATLAB入门六、微积分1、变量MATLAB中变量的命名规则是:(1)变量名必须是不含空格的单个词;(2)变量名区分大小写;(3)变量名最多不超过63个字符;(4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号.一、变量与函数特殊变量取值ans用于结果的缺省变量名eps计算机的最小数,当和1相加就产生一个比1大的数pi圆周率inf无穷大,如1/0NaN不定量,如0/0或inf/infi,ji=j=1realmin最小可用正实数realmax最大可用正实数特殊变量表变量的特点不要求事先声明。不需要指定变量类型:根据所赋的值或对变量所进行的操作来确定变量的类型。变量的类型可随时改变:在赋值时,若变量已经存在,则用新值代替旧值,并以新数据的类型作为变量类型。变量的查看和清除查看已定义的变量:who、whoswho:显示工作空间中的所有变量whos:显示变量的详细属性清除变量:clearclear:清除工作区的所有变量clear变量名:清除指定的变量变量的存储和读取存储当前工作空间中的变量:save:将所有变量保存到文件matlab.mat(默认)savedata或savedata.mat将所有变量保存到文件data.mat存储指定的变量:save文件名变量名列表例:savedataAxz将data.mat文件中的变量载入当前工作空间:loaddata:读取data文件中的所有变量loaddataAx:从data文件中提取指定变量A和xMatlab采用mat文件把工作空间的变量存储在磁盘里,在mat文件中不仅保存各变量数据本身,而且同时保存变量名以及数据类型等。所以在Matlab中载入某个mat文件后,可以在当前Matlab工作空间完全再现当初保存该mat文件时的那些变量。变量的显示Matlab以双精度执行所有的运算,运算结果可以在命令窗口输出,同时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量ans。Matlab中数的输出格式可以通过format命令来指定。注:format只指定变量的输出格式,而不改变变量的值!格式解释例format短格式(缺省显示格式),同short3.1416formatshort短格式(缺省显示格式),只显示5位3.1416formatlong长格式,双精度数15位,单精度数7位3.14159265358979formatshorte短格式e方式(科学计数格式)3.1416e+000formatlonge长格式e方式3.141592653589793e+000formatshortg短格式g方式3.1416formatlongg长格式g方式3.14159265358979formatrat分数形式355/113各种format+加法运算,适用于两个数或两个同阶矩阵相加.—减法运算*乘法运算.*点乘运算/除法运算./点除运算^乘幂运算.^点乘幂运算\反斜杠表示左除.(1)MATLAB的每条命令后,若为逗号或无标点符号,则显示命令的结果;若命令后为分号,则禁止显示结果.(2)“=”是赋值符,“%”后面所有文字为注释,不运行。(3)“...”表示续行,如输入很长的行向量时需用到。(演示)2、数学运算符号及标点符号函数名称函数名称sin(x)正弦函数asin(x)反正弦函数cos(x)余弦函数acos(x)反余弦函数tan(x)正切函数atan(x)反正切函数abs(x)绝对值max(x)最大值min(x)最小值sum(x)元素的总和sqrt(x)开平方exp(x)以e为底的指数log(x)自然对数log10(x)以10为底的对数sort(x)排序fix(x)向0方向取整round(x)四舍五入取整floor(x)向负无穷大取整rats(x)有理逼近ceil(x)向正无穷大取整3、数学函数返回x=logspace(a,b,n)创建从开始,到结束,有n个元素的等比数组1、创建简单的数组x=[abcde]创建包含指定元素的数组x=a:b创建从a开始,加1计数,到b结束的等差数组x=a:k:b创建从a开始,加k计数,b结束的等差数组x=linspace(a,b,n)创建从a开始,到b结束,有n个元素的等差数组注:k=1时可以省略不写,如第二种创建方式aaa10b10三、数组(3)直接使用元素编址序号:x([abcd])表示提取数组x的第a、b、c、d个元素构成一个新的数组[x(a)x(b)x(c)x(d)].(2)访问一块元素:x(a:b:c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.(1)访问一个元素:x(i)表示访问数组x的第i个元素.2、数组元素的访问前面例子中的数组都是一行数列,是行方向分布的.称之为行向量.数组也可以是列向量,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示.产生列向量有两种方法:直接产生例c=[1;2;3;4]转置产生例b=[1234];c=b’说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.3、数组的方向(1)标量-数组运算数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算.设:a=[a1,a2,…,an],c=标量则:a+c=[a1+c,a2+c,…,an+c]a.*c=[a1*c,a2*c,…,an*c]a./c=[a1/c,a2/c,…,an/c](右除)a.\c=[c/a1,c/a2,…,c/an](左除)a.^c=[a1^c,a2^c,…,an^c]c.^a=[c^a1,c^a2,…,c^an]数组的运算符为加(+)、减(-)、点乘(.*)、点除(./)、和点乘方运算(.^)4、数组的运算(2)数组-数组运算当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的.设:a=[a1,a2,…,an],b=[b1,b2,…,bn]则:a+b=[a1+b1,a2+b2,…,an+bn]a.*b=[a1*b1,a2*b2,…,an*bn]a./b=[a1/b1,a2/b2,…,an/bn]a.\b=[b1/a1,b2/a2,…,bn/an]a.^b=[a1^b1,a2^b2,…,an^bn]数组的加、减与矩阵的加、减运算完全相同。而乘除法运算符有相当大的区别,数组的乘除法是指两同维数组对应元素之间的乘除法,它们的运算符为“.*”和“./”或“.\”。前面讲过常数与矩阵的除法运算中常数只能做除数。在数组运算中有了“对应关系”的规定,数组与常数之间的除法运算没有任何限制。另外,数组运算中还有幂运算(运算符.^)、指数运算(exp)、对数运算(log)、和开方运算(sqrt)等。有了“对应元素”的规定,数组的运算实质上就是针对数组内部的每个元素进行的。例如a=[21-3-1;3107;-124-2;10-15];a^3,a.^3返回5、矩阵运算符与数组运算符的异同二、矩阵(p2)逗号或空格用于分隔某一行的元素,分号用于区分不同的行.除了分号,在输入矩阵时,按Enter键也表示开始一新行.输入矩阵时,严格要求所有行有相同的列.例m=[1234;5678;9101112]p=[123456789101112]注:中括号括起的表明是矩阵,一般的表达多用小括号。1、矩阵的建立d=eye(m,n)产生一个m行、n列的单位矩阵c=ones(m,n)产生一个m行、n列的元素全为1的矩阵b=zeros(m,n)产生一个m行、n列的零矩阵a=[]产生一个空矩阵,空矩阵的大小为零.特殊矩阵的建立:H=hilb(n)生成n阶Hilbert矩阵特殊矩阵的建立:magic(n)产生维数维n×n的魔方阵randn(m,n)生成m×n正态分布的随机矩阵rand(m,n)生成m×n均匀分布的随机阵11ji11jiji,(各个行、列及两对角线的元素和相等)A(r,c)提取A中第r行和第c列所定义的A的元素A(r,:)提取A中第r行所有列所构成的A的子数组A(:,c)提取A中第c列所有行所构成的A的子数组A(i1:i2,j1:j2)提取矩阵A的第i1至i2行、第j1至j2列构成新矩阵A(i2:-1:i1,:)以逆序提取矩阵A的第i1至i2行,构成新矩阵A(:,j2:-1:j1)以逆序提取矩阵A的第j1至j2列,构成新矩阵A(i1:i2,:)=[]删除A的第i1至i2行,构成新矩阵A(:,j1:j2)=[]删除A的第j1至j2列,构成新矩阵A(:)依次提取矩阵A的每一列,将A拉伸为一个列向量2、矩阵中元素的操作A(i)把A看作列向量A(:),提取其中第i个元素。[AB];[A;B]将矩阵A和B拼接成新矩阵(2)、与常数的运算常数与矩阵的运算即是同该矩阵的每一元素进行运算。(1)、四则运算矩阵的加、减、乘运算符分别为“+,—,*”,用法与数字运算几乎相同,但计算时要满足其数学要求。在MATLAB中矩阵的除法有两种形式:左除“\”和右除“/”。例如:若A是可逆矩阵,AX=B的解是:A左除B,即X=A\B;XA=B的解是:A右除B,即X=B/A3、矩阵的运算例,考虑如下的运算:A=magic(3)A+2,2+AA-2,2-AA*2,2*AA/2,2./A(3)、基本函数运算det(a)求矩阵a的行列式eig(a)求矩阵a的特征值与特征向量inv(a)或a^(-1)求矩阵a的逆矩阵rank(a)求矩阵a的秩trace(a)求矩阵a的迹(对角线元素之和)size(A)求矩阵A的阶数返回附注:length(a)表示数组a的长度四、Matlab作图MATLAB有很强的图形功能,可以方便地实现数据的视觉化。强大的计

1 / 93
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功