《MATLAB基础知识与基本知识MATLAB的工作环境ppt课件.ppt》由会员分享,可在线阅读,更多相关《MATLAB基础知识与基本知识MATLAB的工作环境ppt课件.ppt(37页珍藏版)》请在三一办公上搜索。
1、第 1 章 MATLAB基础知识与基本操作,2022/12/30,2,第一章 Matlab入门,内容提要,1.1 MATLAB概述 1.2 MATLAB的启动与退出1.3 MATLAB桌面工作环境 1.4 MATLAB语言基础1.5 MATLAB常用函数1.6 MATLAB基本对象矩阵1.7 MATLAB符号计算基础,2022/12/30,3,第一章 Matlab入门,MATLAB的工作环境,MATLAB的版本、启动与退出主窗口、菜单和工具栏子窗口命令窗口(Command Window) 工作空间(Workspace) 当前目录(Current Directory) 命令历史(Command
2、History)M文件窗口图形窗口,2022/12/30,4,第一章 Matlab入门,命令方式例a=23+35 (回车即执行命令)b=67c=a+b, x=sin(c), y=x-a说明“”是MATLB的命令提示符,不要输入!一个语句行可以是一条语句,也可以是多条语句,多条语句之间用逗号或分号分隔(分号用于取消显示输出)。续行符()、注释语句(用百分号%引导),MATLAB的操作方式,命令窗口的行距format loose:稀疏格式(默认)format compact:紧凑格式,2022/12/30,5,第一章 Matlab入门,MATLAB语言基础,数值计算、数据精度与显示格式MATLAB
3、在机内采用双精度格式进行数据的存储和运算,但数据的显示格式可以有八种。以圆周率为例,命令及显示形式如表所示。其中: format short:定点5位十进制(默认) format long:定点15位十进制 format rational:分数(近似),2022/12/30,6,第一章 Matlab入门,MATLAB语言基础,系统常量(也称为系统预定义变量)pi 圆周率3.1415eps 浮点数识别精度2.2210-16realmin 最小正实数2.225110 -308realmax 最大正实数1.797710308 Inf 无穷大 NaN 不定值表达式,2022/12/30,7,第一章 M
4、atlab入门,MATLAB语言基础,复数虚数单位:i 或 j ( i 、j也可作为变量使用 ),2022/12/30,8,第一章 Matlab入门,MATLAB语言基础,用户变量命名规则:字母开头,由字母、数字或下划线组成,要区分大小写。给变量命名时,要避免与系统的预定义变量名、函数名、保留字等相冲突。特殊变量 ans 是系统的一个特殊变量,如果运算结果没有赋于任何变量,系统将其赋于 ans 。注意:ans只保留最新值。清除变量:clear 命令清除命令窗口内容:clc 命令,clear %清除工作空间中的所有变量,释放所占内存clear 变量名 %清除指定的变量,释放所占内存clear 变
5、量名1 变量名2 变量名3 .,2022/12/30,9,第一章 Matlab入门,MATLAB语言基础,运算符数学运算符在MATLAB中,数与数之间的加、减、乘、除、乘方运算符号分别是:+ - * / 另外,还可以使用“左除”运算符“”,比如: 3 2 等同于 2 / 3,2022/12/30,10,第一章 Matlab入门,MATLAB语言基础,关系运算 大于 = 大于等于 = = 等于 = 不等于,逻辑运算&(与) | (或) (非),在MATLAB的关系与逻辑运算结果中,1表示“真”,0表示“假”。对于逻辑运算,所有非零元素作为“真”处理。,2022/12/30,11,第一章 Matl
6、ab入门,MATLAB语言基础,表达式,2022/12/30,12,第一章 Matlab入门,MATLAB的常用函数,下面列出一些常用的数学函数,其余见教材7-11页,2022/12/30,13,第一章 Matlab入门,MATLAB的常用函数,数学函数MATLAB的数学函数有很多,下面列举其中的一部分:(自变量可以是数组) sin(x), cos(x), tan(x), cot(x), asin(x), acos(x), atan(x), acot(x), exp(x)即ex , sqrt(x)即x.(1/2) , log(x)即自然对数lnx , log10(x)即以10为底的对数,202
7、2/12/30,14,第一章 Matlab入门,MATLAB的常用函数,数学函数MATLAB的数学函数有很多,下面列举其中的一部分: (自变量可以是数组) fix(a) 向0 取整(求a的整数部分) floor(a) 向- 取整(求不大于a的最大整数) ceil(a) 向+ 取整(求不小于a的最小整数) rem(a, b) 求除法余数(符号由a决定) mod(a, b) 求模余数(使用help mod命令查看具 体功能),2022/12/30,15,第一章 Matlab入门,MATLAB的常用函数,数学函数MATLAB的数学函数有很多,下面列举其中的一部分: (自变量可以是数组) abs(a)
8、 求a的绝对值或模 real(a) 求a的实部 imag(a) 求a的虚部 angle(a) 求a的幅角 conj(a) 求a的共轭复数,2022/12/30,16,第一章 Matlab入门,MATLAB的数组与矩阵,在MATLAB中,数组是一个广义的概念,不但包括传统意义下的向量和矩阵,还包括一些扩展定义。数组用方括号 界定数组的输入和分析例子:a= 1 2 3; 4 5 6; 7 8 9 或 a= 1, 2, 3; 4, 5, 6; 7, 8, 9 或 a= 1 2 3 4 5 6 7 8 9 同行无素之间用空格或逗号分隔,不同行之间用分号或回车分隔。,2022/12/30,17,第一章
9、Matlab入门,MATLAB的数组与矩阵,数组的输入和分析a(i, j)表示数组a的第i行第j列元素,常用来获取数组中指定位置上的元素值,也可单独给该元素重新赋值。数组元素的编址:按列编址,如a(2, 3)即是a(8) 。冒号(:)运算初值 : 增量 : 终值 产生由初值开始、不超过终值的等增量数组,省略增量时默认为1 。特殊用法 如:a( : , j )表示数组a的第j列,a( : )表示数组a的所有元素按地址顺序排成的列向量。,2022/12/30,18,第一章 Matlab入门,MATLAB的数组与矩阵,数组的输入和分析数组的维数和大小可以使用赋值语句随意进行扩展例如:t=1; t(5
10、)=8得 t= 1 0 0 0 8t(3, 4)=7得 t= 1 0 0 0 8 0 0 0 0 0 0 0 0 7 0,2022/12/30,19,第一章 Matlab入门,MATLAB的数组与矩阵,数组的输入和分析数组的拼接与元素的抽取,例如: a= 1 5 9; 0 6 8; 3 7 2 , b= 1; 2; 3 , c=3, 2, 1 左右拼接:d=a, b 上下拼接:e=a; c 元素抽取:A=a(1, 3, 1:3) 或 A=a( 1, 3, : )数组元素的删除,例如: 删除a的第二行元素:a(2, :)= 删除c的第三个元素:c(3)= ,2022/12/30,20,第一章 M
11、atlab入门,MATLAB的数组与矩阵,数组的输入和分析函数 size :求数组的行数和列数 如:size(a) m, n=size(a),2022/12/30,21,第一章 Matlab入门,MATLAB的数组与矩阵,数组的输入和分析函数 length, sum, prod, min, max对于一维数组,分别求元素的个数、和、积、最小值、最大值对于二维数组,分别求列数、各列元素的和、积、最小值、最大值特殊用法举例: 求一维数组c的最小值和序号:p, q=min(c) 求二维数组a各列的最小值和行号: p, q=min(a),2022/12/30,22,第一章 Matlab入门,MATLA
12、B的数组与矩阵,数组的输入和分析函数 linspace(x1, x2, n) 将区间x1, x2 n-1等分,产生n个分点数组,2022/12/30,23,第一章 Matlab入门,MATLAB的数组与矩阵,数组按元素的运算A+B , A-B 数组与数组的加、减运算A.*B , A./B 数组与数组的点乘、点除运算A.k , k.A 数组与数的点乘方运算A+k , k+A , A-k , k-A 数组与数的加、减运算k.*A 或 A.*k 数组与数的点乘运算A./k , k./A 数组与数的点除运算类似的,也可以使用左点除 “ . ”,2022/12/30,24,第一章 Matlab入门,MA
13、TLAB的数组与矩阵,说明:在数与数的运算中,也可以使用点乘、点除、点乘方运算,它们与乘、除、乘方运算功能相同,但运算速度要慢一点。注意: 在加减运算中,不能使用点加“.+”和点减“.-” !,2022/12/30,25,第一章 Matlab入门,字符串,字符串用英文单引号界定,如:a=xyz, b=123字符串函数举例 num2str 数值转化为字符串 str2num 字符串转化为数值 abs 字符串转化为ASCII码(十进制数表示) setstr ASCII码(十进制数表示)转化为字符串 lower 字符串中的大写字母转化为小写字母 upper 字符串中的小写字母转化为大写字母,2022/
14、12/30,26,第一章 Matlab入门,字符串,字符串字符串拼接 例如:r=5.73,v = 4/3*pi*r3 球的体积: , v= , num2str(v)字符串也可以纵向拼接(使用分号;),但每行字符个数必须相等。如:abc; 123 ,得 abc 123,2022/12/30,27,第一章 Matlab入门,MATLAB的符号对象,在默认情况下,MATLAB采用的是双精度数值计算方法;但MATLAB有一个符号工具箱,它采用的是精确计算方法,当无法求得精确解或者用户指定了某个精确度时也可以使用近似计算,但所采用的算法与默认的双精度数值计算方法有所不同。在多数情况下,必须事先定义符号对
15、象后才能使用MATLAB的符号工具箱;另外规定:在一个运算表达式中,只要含有一个符号对象,MATLAB就自动采用符号工具箱进行计算。如何定义符号对象?,2022/12/30,28,第一章 Matlab入门,MATLAB的符号对象,符号对象的定义方法定义符号变量 syms 变量1 变量2 注意:变量之间使用空格分隔 举例 syms x y z f=x2+y2+z2 % f 称为符号表达式,2022/12/30,29,第一章 Matlab入门,MATLAB的符号对象,符号对象的定义方法定义符号常量 s=sym(数值) 将数值定义为符号对象s s=sym(字符串) 将字符串定义为符号对象s 举例 x
16、=sym(123) , y=sym(5.63) , z=sym(pi) , t=sym(pi2) a=sym(3*pi2) b=a3 注意:符号对象不同于字符串,比较: a=3*pi2 b=a3 b=a.3,先做数值计算,然后再定义成符号对象,2022/12/30,30,第一章 Matlab入门,MATLAB的符号对象,建立符号矩阵例如:a=1, 3, 5; 2, 4, 6 %先建立数值矩阵 A=sym(a) %然后转化为符号矩阵 或者 A=sym(1, 3, 5; 2, 4, 6)注意:数值矩阵与符号矩阵的输出形式不同,在工作空间里的图标也不同,很容易区分。syms a b c B=a, b
17、, c; 1+a, 2+b, 3+c; 1, 2, 3,2022/12/30,31,第一章 Matlab入门,MATLAB的符号对象,计算精度在MATLAB的符号计算中,默认采用精确计算,数值的表示范围原则上只受计算机硬件的限制。试比较:sin(pi)sin(sym(pi)sin(10)sin(sym(10)210002100002sym(1000) , 2sym(10000),2022/12/30,32,第一章 Matlab入门,MATLAB的符号对象,计算精度在MATLAB的符号计算中,也可以由用户指定精度进行计算(variable precision arithmetic)x=vpa(s
18、, m) 采用m位有效数字计算s的值digits(n) 将计算精度设置为n位(默认32位)x=vpa(s) 采用预设的精度计算s的值说明:使用vpa时,不需事先定义符号对象例如:vpa(pi, 50) vpa(pi) , digits(20) , vpa(pi),2022/12/30,33,第一章 Matlab入门,MATLAB的符号对象,数据类型转换a=double(数字符号对象) 将数字符号对象转化为双精度数值aa=char(符号对象) 将符号对象转化为字符串a,2022/12/30,34,第一章 Matlab入门,MATLAB的符号对象,符号表达式中的符号替换 f=subs(源符号表达式
19、, 符号对象1, 符号对象2) 将源符号表达式中的符号对象1 用符号对象2代替 注:符号对象1 和 符号对象2 也可以是符号表达式举例 syms x y a b t f=x2+x*y f=subs(f, x, t) f=subs(f, t, a+b) f=subs(f, a+b, x),2022/12/30,35,第一章 Matlab入门,MATLAB的符号对象,符号表达式中的符号替换 f=subs(源符号表达式, 符号对象11, 符号对象12, , 符号对象21, 符号对象22, ) 将源符号表达式中的符号对象11、符号对象12、 分别用符号对象21、符号对象22、代替 。 可以改为 举例
20、syms x y a b f=x2+x*y g=subs(f, x, y, a, b) h1=subs(f, x, y, sym(pi), sym(3) %求函数值(符号计算) h2=subs(f, x, y, pi, 3) %求函数值(数值计算),2022/12/30,36,第一章 Matlab入门,MATLAB的符号对象,符号函数及其运算大部分MATLAB数学函数和逻辑关系运算也可以用于符号对象。另外还有其他一些功能:factor(符号表达式) 对表达式作因式分解expand(符号表达式) 将表达式展开collect(符号表达式, 符号) 将表达式按符号合并同类项simplify(符号表达式) 将表达式化简simpe(符号表达式) 将表达式化简到所含字符最少,2022/12/30,37,第一章 Matlab入门,MATLAB的符号对象,符号函数及其运算g=finverse(f, x) 求符号函数f(x)的反函数g(x)fg=compose(f, g) 求符号函数f和g的复合函数f(g)n, d=numden(表达式) 通分,n得到分子,d得到分母举例(教材第19页),