资源预览内容
第1页 / 共171页
第2页 / 共171页
第3页 / 共171页
第4页 / 共171页
第5页 / 共171页
第6页 / 共171页
第7页 / 共171页
第8页 / 共171页
第9页 / 共171页
第10页 / 共171页
亲,该文档总共171页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
授课教师:袁帅 信息学院 自动化教研室,计算机仿真,讲 课 内 容,第 1 章 MATLAB 入门与基本运算 第 2 章 MATLAB 图形与可视化 第 3 章 线性系统分析与设计 第 4 章 SIMULINK仿真环境 第 5 章 MATLAB 控制仿真与实例,第 1 章 MATLAB 入门与基本运算,1.1 MATLAB 环境与文件管理 1.2 基本数据定义与变量管理 1.3 变量、数组与函数 1.4 数据的输入与输出 1.5 数组与矩阵运算 1.6 M文件与函数 1.7 多项式管理 1.8 控制语句与逻辑管理 1.9 曲线拟合与插值运算 1.10 符号运算,MATLAB 环境与文件管理,MATLAB发展 1970年代中期 ,Cleve Moler博士开发了 : EISPACK(特征值求解的程序库) LINPACK(解线性方程的程序库 ),1970年代后期, Cleve Moler编写接口程序 :MATLAB, 即矩阵(MATrix)与 实验室(LABoratory) 前3个字母的组合,是“矩阵实验室”的缩写, 它是一种以矩阵运算为基础的交互式程序语言。,1983年春,Cleve Moler和John Little用C语言开发了第二代专业版,1984年, 两人成立了Mathworks公司,正式把MATLAB推向市场。,1988年, 推出MATLAB3.x版本(DOS版)。,1993年, 推出MATLAB4.0版本(Win3.x)。,1997年, 推出MATLAB5.0版(Windows95)。,1999年, 推出MATLAB5.3版本( 流行较广 )。,2000年,推出MATLAB6.0版本,2006年,推出MATLAB7.2版本,2012年,推出MATLAB7.14, , ,MATLAB 环境与文件管理,MATLAB发展,MATLAB的特点,1、起点高,2、人机界面友好,3、强大而简易的作图功能,4、一流的数值计算功能,5、智能化程度高,6、强劲的工具箱,是一个强大的功能演算性草稿纸,难点:函数较多,仅基本部分就有700多个。,MATLAB 环境与文件管理,MATLAB 环境与文件管理,环境与文件管理,菜单(Menu),当前路径,当前目录窗口,历史记录窗口,工作区窗口,命令窗口,第 1 章 MATLAB 入门与基本运算,1.1 MATLAB 环境与文件管理 1.2 基本数据定义与变量管理 1.3 变量、数组与函数 1.4 数据的输入与输出 1.5 数组与矩阵运算 1.6 M文件与函数 1.7 多项式管理 1.8 控制语句与逻辑管理 1.9 曲线拟合与插值运算 1.10 符号运算,基本数据定义与变量管理,建立数据: 创建变量,数组 创建数据:输入指令 x = 5; x1 = 0.2 1.11, 3; y1 = 1 2 3; 4 5 6; 显示数据:指令后去掉 ; 号或直接键入变量名 有规律的创建数据: 等间隔定义数组:x2 = 1:10(或者为1:1:10) 等距离定义数组:x3 = linspace (-1,1,10) 定义对数坐标的数组:x4 = logspace (-1,1,10),基本数据定义与变量管理,变量管理 变量查看: 变量查询: 变量删除:,who (列出工作区中的内存变量) whos (列出工作区中的内存变量详情),clear (清除工作区中的变量和函数 ),exist(变量名) (查询是否存在一个变量 ),基本数据定义与变量管理,数值显示:Format指令,内部只有一种类型为双精度(8个字节,64位), 实数为1个双精度数,复数为两个双精度数。 但输出显示格式有8种。 可用format命令来改变显示格式。 例如: format short 显示5位数 (pi: 3.1416) format long 显示15位数(pi: 3.14159265358979) format bank 显示货币格式(pi: 3.14),Format指令,基本数据定义与变量管理,在线查询: Help 命令;寻求帮助的标题 look for命令;关键词提供帮助,变量、数组与函数,变量,表示变量名,常量名,函数名和文件名的字符串,(1)由字母、数字、下划线等符号组成,第一个字母必须是英文字母 。,(2)变量和常量最长不要超过19个字符,多余截取。,(3)函数和文件名通常不超过8个字符。,(4)变量名大小写敏感。,变量、数组与函数,变量:特殊变量 ans -默认临时变量 pi - eps -计算机中的最小数 inf -无穷大 NaN-非数或不定数(如:0/0) i或j -虚数单位,变量、数组与函数,注释 和标点 %:注释语句前面添加的符号 多条命令语句放在同一行,中间用逗号或分号隔开。逗号要求显示结果,分号不要求显示结果; 例如:输入 x = 4.5; y = 5, f=1.9,变量、数组与函数,复数表示 real : 复数实部 imag: 复数虚部 abs: 复数幅值 angle: 复数相位 例:,变量、数组与函数,数学函数,abs(x):纯量的绝对值或向量的长度 angle(z):复 数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 (比此小数小的最近整数) ceil(x):天花板函数,即加入正小数至最近整数 (比此小数大的最近整数) rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开,sign(x):符号函数 (Signum function)。 当x0时,sign(x)=1。 小整理:MATLAB常用的三角函数 sin(x):正弦函数 cos(x):馀弦函数 tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数,数据的输入与输出,利用M文件生成数据 在当前子目录Work中: 新建abc.m文件; 键入a=1; b=-2; c= 10; 保存文件; 在命令窗口中直接键入abc,运行该程序; 获得结果: a=1 b=-2 c= 10;,数据的输入与输出,利用M文件生成数据 在当前子目录Work中: 新建abc.m文件; 键入a=1; b=-2; c= 10; 保存文件; 在命令窗口中直接键入abc,运行该程序; 获得结果: a=1 b=-2 c= 10;,数据的输入与输出,save与load指令 使用save与load指令保存与加载已有的数据。 例如: save ; 以二进制的形式将所有变量存入到matlab.mat文件中; save data; 以二进制的形式将所有变量存入到data.mat中; save data x y z; 以二进制的格式将x y z 存入到data.mat中; load; 将matlab.mat文件中的所有变量加载到工作空间中; load data; 将 data.mat文件中的所有变量加载到工作空间中; load data x y z;将data.mat文件中变量x y z加载到工作空间中,数据的输入与输出,MATLAB低级文件I/O函数,数据的输入与输出,FOPEN函数:,fopen函数打开一个文件并返回这个文件的文件句柄值。它的基本调用形式如下: fid = fopen(filename, permission) 说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名filename用字符串形式,表示待打开的数据文件。Permission表示打开方式,常见的打开方式如表所示。,FOPEN函数打开方式,数据的输入与输出,FSCANF函数:,fscanf函数可以读取文本文件的内容,并按指定格式存入矩阵。其调用格式为: A,count = fscanf(fid, format, size) 说明:其中A用来存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等,在%与格式符之间还可以插入附加格式说明符,如%12f。size为可选项,决定矩阵A中数据的大小,它可以取下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、M,N(读数据到MN的矩阵中,数据按列存放)。,数据的输入与输出,FPRINTF函数:,fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为: count = fprintf(fid, format, A, .) 说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。,低级文件读/写数据的过程,设已有Test.txt,内容如右:,a_d_1 3.0 0.6 -2.00 .05372 .00707 -.02525 -1.00 .09308 .04892 .01294,运行文件 inout.m 内容如下: % input and output adata file f1 = fopen(test.txt,r) p = fscanf(f1,%c) f2 = fopen(name.txt,w) fprintf(f2,%s15n,%9.5fn, %9.5fn,%4(9.5f) n,p) fclose(all),数组与矩阵运算,矩阵表达式,用 表示 (1)基本赋值 1)使用 2)同一行元素用空格或,隔开 3)不同行用;隔开 例如:a=1 2 3;4 5 6,(2)复数的赋值: 例如: z=1+2i或1+2j z=1+2i 3+4i z=1 3+2 4*i,数组与矩阵运算,矩阵的变换,(1)抽取:由原矩阵中的部分元素 构成新矩阵。 如:b=a(2,4,1,3) 表示第2,4行与第1、3列交叉元素组成新矩阵。,(2)抽去:使用空矩阵(无元素),将矩阵整行/列删除。 如:a(2,4,:)= 将2、4行删除 a(:,2)= 将第2列删除,数组与矩阵运算,矩阵的变换,(3) 组合:由多个矩阵组成一个新矩阵,但行列应正好。 如:a=1 2 3;4 5 6; b=7 8 9;10 11 12; c=a b; d=a;b;,(4)转置:b=a (行变列),A = 1 2 3 4 5 6, A ans = 1 4 2 5 3 6,B=1+2i 3+4i 5-6i 7-8i, B ans = 1.0000 - 2.0000i 5.0000 + 6.0000i 3.0000 - 4.0000i 7.0000 + 8.0000i,数组与矩阵运算,矩阵信息查询,矩阵信息查询函数,数组与矩阵运算,矩阵信息查询,m,n=size(A):返回矩阵的行列数m与n。 length(A)=max(size(A):返回行数或列数的最大值。,A=1 2 3;4 5 6; m,n=size(A) m = 2 n = 3,length(A) ans = 3 max(size(A) ans = 3,m=size(A,1) m = 2 n=size(A,2) n = 3,数组与矩阵运算,矩阵信息查询,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号