您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > Matlab语言与应用 第一章
授课教师:袁帅信息学院自动化教研室Matlab语言及应用讲课内容第1章MATLAB入门与基本运算第2章MATLAB图形与可视化第3章线性系统分析与设计第4章SIMULINK仿真环境第5章MATLAB控制仿真与实例第1章MATLAB入门与基本运算1.1MATLAB环境与文件管理1.2基本数据定义与变量管理1.3变量、数组与函数1.4数据的输入与输出1.5数组与矩阵运算1.6M文件与函数1.7多项式管理1.8控制语句与逻辑管理1.9曲线拟合与插值运算1.10符号运算MATLAB环境与文件管理MATLAB发展1970年代中期,CleveMoler博士开发了:EISPACK(特征值求解的程序库)LINPACK(解线性方程的程序库)1970年代后期,CleveMoler编写接口程序:MATLAB,即矩阵(MATrix)与实验室(LABoratory)前3个字母的组合,是“矩阵实验室”的缩写,它是一种以矩阵运算为基础的交互式程序语言。1983年春,CleveMoler和JohnLittle用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.1MATLAB环境与文件管理1.2基本数据定义与变量管理1.3变量、数组与函数1.4数据的输入与输出1.5数组与矩阵运算1.6M文件与函数1.7多项式管理1.8控制语句与逻辑管理1.9曲线拟合与插值运算1.10符号运算基本数据定义与变量管理建立数据:创建变量,数组创建数据:输入指令x=5;x1=[0.21.11,3];y1=[123;456];显示数据:指令后去掉‘;’号或直接键入变量名有规律的创建数据:等间隔定义数组: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命令来改变显示格式。例如:formatshort显示5位数(pi:3.1416)formatlong显示15位数(pi:3.14159265358979)formatbank显示货币格式(pi:3.14)Format指令Matlab命令显示形式说明formatlong3.14159265358979316位十进制formatshorte3.1416e+0005位十进制数加指数formatlonge3.141592653589793e+00016位十进制数加指数formathex400921fb54442d1816位十六进制formatbank3.14两位小数format++正、负或零formatrat355/113分数近似formatshort(默认)3.14159二位整数,四位小数基本数据定义与变量管理在线查询:Help命令;寻求帮助的标题lookfor命令;关键词提供帮助变量、数组与函数变量表示变量名,常量名,函数名和文件名的字符串(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的相角(Phaseangle)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):符号函数(Signumfunction)。当x0时,sign(x)=-1;当x=0时,sign(x)=0;当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=1b=-2c=10;数据的输入与输出利用M文件生成数据在当前子目录Work中:新建abc.m文件;键入a=1;b=-2;c=10;保存文件;在命令窗口中直接键入abc,运行该程序;获得结果:a=1b=-2c=10;数据的输入与输出save与load指令使用save与load指令保存与加载已有的数据。例如:save;以二进制的形式将所有变量存入到matlab.mat文件中;savedata;以二进制的形式将所有变量存入到data.mat中;savedataxyz;以二进制的格式将xyz存入到data.mat中;load;将matlab.mat文件中的所有变量加载到工作空间中;loaddata;将data.mat文件中的所有变量加载到工作空间中;loaddataxyz;将data.mat文件中变量xyz加载到工作空间中数据的输入与输出MATLAB低级文件I/O函数MATLAB低级文件I/O函数fclose关闭文件Feof测试文件结束ferror查询文件I/O的错误状态fgetl读文件的行,忽略回行符fgets读文件的行,包括回行符fopen打开文件fprintf把格式化数据写到文件或屏幕上fread从文件中读二进制数据frewind返回到文件开始fscanf从文件中读格式化数据fseek设置文件位置指示符ftell获取文件位置指示符fwrite把二进制数据写到文件里数据的输入与输出FOPEN函数:fopen函数打开一个文件并返回这个文件的文件句柄值。它的基本调用形式如下:fid=fopen(filename,permission)说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名filename用字符串形式,表示待打开的数据文件。Permission表示打开方式,常见的打开方式如表所示。FOPEN函数打开方式打开方式描述‘r’只读方式打开文件(默认的打开方式),该文件必须已存在‘r+’读写方式打开文件,打开后先读后写,该文件必须已存在‘w’打开后写入数据。若该文件存在则更新;不存在则创建‘w+’读写方式打开文件,先读后写。若该文件存在则更新;不存在则创建‘a’在打开的文件末端添加数据。若文件不存在则创建‘a+’打开文件后,先读入数据再添加数据。文件不存在则创建数据的输入与输出FSCANF函数:fscanf函数可以读取文本文件的内容,并按指定格式存入矩阵。其调用格式为:[A,count]=fscanf(fid,format,size)说明:其中A用来存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等,在%与格式符之间还可以插入附加格式说明符,如%12f。size为可选项,决定矩阵A中数据的大小,它可以取下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、[M,N](读数据到M×N的矩阵中,数据按列存放)。数据的输入与输出FPRINTF函数:fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:count=fprintf(fid,format,A,...)说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。低级文件读/写数据的过程设已有Test.txt,内容如右:a_d_13.00.6-2.00.05372.00707-.02525-1.00.09308.04892.01294运行文件inout.m内容如下:%inputandoutputadatafilef1=fopen(‘test.txt’,’r’)p=fscanf(f1,’%c’)f2=fopen(‘name.txt’,’w’)fprintf(f2,’%s15\n,%9.5f\n,%9.5f\n,%4(9.5f)\n’,p)fclose(‘all’)数组与矩阵运算矩阵表达式,用[]表示(1)基本赋值1)使用[]2)同一行元素用空格或‘,’隔开3)不同行用‘;’隔开例如:a=[123;456](2)复数的赋值:例如:z=1+2i或1+2jz=[1+2i3+4i]z=[13]+[24]*i数组与矩阵运算矩阵的变换(1)抽取:由原矩阵中的部分元素构成新矩阵。如:b=a([2,4],[1,3])表示第2,4行与第1、3列交叉元素组成新矩阵。(2)抽去:使用空矩阵[](无元素),将矩阵整行/列删除。如:a([2,4],:)=[]将2、4行删除a(:,[2])=[]将第2列删除数组与矩阵运算矩阵的变换(3)组合:由多个矩阵组成一个新矩阵,但行列应正好。如:a=[123;456];b=[789;101112];c=[ab];d=[a;b];(4)转置:b=a‘(行变列)A=[123456]A'ans=142536B=[1+2i3+4i5-6i7-8i]B‘ans=1.0000-2.0000i5.0000+6.0000i3.0000-4.0000i7.0000+8.0000i数组与矩阵运算矩阵信息查询函数功能Whos显示工作空间中存在的变量及其大小Sizes(A)返回A矩阵的行数与列数Length(A)返回数组A的维数find(A)给出特殊要
本文标题:Matlab语言与应用 第一章
链接地址:https://www.777doc.com/doc-3381757 .html