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