




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章MATLAB根底知识
与根本操作6/3/20241
内容提要1.1MATLAB概述1.2MATLAB的启动与退出1.3MATLAB桌面工作环境1.4MATLAB语言根底1.5MATLAB常用函数1.6MATLAB根本对象——矩阵1.7MATLAB符号计算根底6/3/20242MATLAB的工作环境MATLAB的版本、启动与退出主窗口、菜单和工具栏子窗口命令窗口(CommandWindow)工作空间(Workspace)当前目录(CurrentDirectory)命令历史(CommandHistory)M文件窗口图形窗口6/3/20243命令方式例>>a=23+35〔回车即执行命令〕>>b=67>>c=a+b,x=sin(c),y=x-a说明“>>”是MATLB的命令提示符,不要输入!一个语句行可以是一条语句,也可以是多条语句,多条语句之间用逗号或分号分隔(分号用于取消显示输出)。续行符(…)、注释语句(用百分号%引导)MATLAB的操作方式命令窗口的行距formatloose:稀疏格式(默认)formatcompact:紧凑格式6/3/20244MATLAB语言根底数值计算、数据精度与显示格式MATLAB在机内采用双精度格式进行数据的存储和运算,但数据的显示格式可以有八种。以圆周率π为例,命令及显示形式如表所示。其中:formatshort:定点5位十进制〔默认〕formatlong:定点15位十进制formatrational:分数〔近似〕6/3/20245MATLAB语言根底系统常量〔也称为系统预定义变量〕pi圆周率3.1415… eps浮点数识别精度2.22×10-16realmin最小正实数2.2251×10-308realmax最大正实数1.7977×10308Inf无穷大NaN不定值表达式……6/3/20246MATLAB语言根底复数虚数单位:i或j〔i、j也可作为变量使用〕6/3/20247MATLAB语言根底用户变量命名规那么:字母开头,由字母、数字或下划线组成,要区分大小写。给变量命名时,要防止与系统的预定义变量名、函数名、保存字等相冲突。特殊变量ans是系统的一个特殊变量,如果运算结果没有赋于任何变量,系统将其赋于ans。注意:ans只保存最新值。去除变量:clear命令去除命令窗口内容:clc命令clear%去除工作空间中的所有变量,释放所占内存clear变量名%去除指定的变量,释放所占内存clear变量名1变量名2变量名3...6/3/20248MATLAB语言根底运算符数学运算符在MATLAB中,数与数之间的加、减、乘、除、乘方运算符号分别是:+-*/^另外,还可以使用“左除”运算符“\”,比方:3\2等同于2/36/3/20249MATLAB语言根底关系运算
<小于<=小于等于
>大于>=大于等于
==等于~=不等于逻辑运算&〔与〕|〔或〕~〔非〕在MATLAB的关系与逻辑运算结果中,1表示“真”,0表示“假”。对于逻辑运算,所有非零元素作为“真”处理。6/3/202410MATLAB语言根底表达式6/3/202411MATLAB的常用函数下面列出一些常用的数学函数,其余见教材7-11页6/3/202412MATLAB的常用函数数学函数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为底的对数6/3/202413MATLAB的常用函数数学函数MATLAB的数学函数有很多,下面列举其中的一局部:〔自变量可以是数组〕fix(a)向0取整(求a的整数局部)floor(a)向-取整(求不大于a的最大整数)ceil(a)向+取整(求不小于a的最小整数)rem(a,b)求除法余数〔符号由a决定〕mod(a,b)求模余数〔使用helpmod命令查看具体功能〕6/3/202414MATLAB的常用函数数学函数MATLAB的数学函数有很多,下面列举其中的一局部:〔自变量可以是数组〕abs(a)求a的绝对值或模real(a)求a的实部imag(a)求a的虚部angle(a)求a的幅角conj(a)求a的共轭复数6/3/202415MATLAB的数组与矩阵在MATLAB中,数组是一个广义的概念,不但包括传统意义下的向量和矩阵,还包括一些扩展定义。数组用方括号[]界定数组的输入和分析例子:a=[123;456;789]或a=[1,2,3;4,5,6;7,8,9]或a=[123456789]同行无素之间用空格或逗号分隔,不同行之间用分号或回车分隔。6/3/202416MATLAB的数组与矩阵数组的输入和分析a(i,j)表示数组a的第i行第j列元素,常用来获取数组中指定位置上的元素值,也可单独给该元素重新赋值。数组元素的编址:按列编址,如a(2,3)即是a(8)。冒号(:)运算初值:增量:终值——产生由初值开始、不超过终值的等增量数组,省略增量时默认为1。特殊用法——如:a(:,j)表示数组a的第j列,a(:)表示数组a的所有元素按地址顺序排成的列向量。6/3/202417MATLAB的数组与矩阵数组的输入和分析数组的维数和大小可以使用赋值语句随意进行扩展例如:t=1;t(5)=8得t=10008t(3,4)=7得t=1000800000000706/3/202418MATLAB的数组与矩阵数组的输入和分析数组的拼接与元素的抽取,例如:
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)=[]6/3/202419MATLAB的数组与矩阵数组的输入和分析函数size:求数组的行数和列数如:size(a)[m,n]=size(a)6/3/202420MATLAB的数组与矩阵数组的输入和分析函数length,sum,prod,min,max对于一维数组,分别求元素的个数、和、积、最小值、最大值对于二维数组,分别求列数、各列元素的和、积、最小值、最大值特殊用法举例:求一维数组c的最小值和序号:[p,q]=min(c)求二维数组a各列的最小值和行号:[p,q]=min(a)6/3/202421MATLAB的数组与矩阵数组的输入和分析函数linspace(x1,x2,n)将区间[x1,x2]n-1等分,产生n个分点数组6/3/202422MATLAB的数组与矩阵数组按元素的运算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数组与数的点除运算类似的,也可以使用左点除“.\”6/3/202423MATLAB的数组与矩阵说明:在数与数的运算中,也可以使用点乘、点除、点乘方运算,它们与乘、除、乘方运算功能相同,但运算速度要慢一点。注意:在加减运算中,不能使用点加“.+”和点减“.-”!6/3/202424字符串字符串用英文单引号界定,如:a='xyz',b='123'字符串函数举例num2str数值转化为字符串str2num字符串转化为数值abs字符串转化为ASCII码(十进制数表示)setstrASCII码(十进制数表示)转化为字符串lower字符串中的大写字母转化为小写字母upper字符串中的小写字母转化为大写字母6/3/202425字符串字符串字符串拼接例如:r=5.73,v=4/3*pi*r^3['球的体积:','v=',num2str(v)]字符串也可以纵向拼接〔使用分号;〕,但每行字符个数必须相等。如:[‘abc’;‘123’],得abc1236/3/202426MATLAB的符号对象在默认情况下,MATLAB采用的是双精度数值计算方法;但MATLAB有一个符号工具箱,它采用的是精确计算方法,当无法求得精确解或者用户指定了某个精确度时也可以使用近似计算,但所采用的算法与默认的双精度数值计算方法有所不同。在多数情况下,必须事先定义符号对象后才能使用MATLAB的符号工具箱;另外规定:在一个运算表达式中,只要含有一个符号对象,MATLAB就自动采用符号工具箱进行计算。如何定义符号对象?6/3/202427MATLAB的符号对象符号对象的定义方法定义符号变量
syms变量1变量2…
注意:变量之间使用空格分隔举例>>symsxyz>>f=x^2+y^2+z^2%f称为符号表达式6/3/202428MATLAB的符号对象符号对象的定义方法定义符号常量
s=sym(数值)将数值定义为符号对象ss=sym(字符串)将字符串定义为符号对象s举例>>x=sym(123),y=sym(5.63),z=sym(pi),t=sym(pi^2)>>a=sym(‘3*pi^2’)>>b=a^3注意:符号对象不同于字符串比较:>>a=‘3*pi^2’>>b=a^3>>b=a.^3先做数值计算,然后再定义成符号对象6/3/202429MATLAB的符号对象建立符号矩阵例如: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]6/3/202430MATLAB的符号对象计算精度在MATLAB的符号计算中,默认采用精确计算,数值的表示范围原那么上只受计算机硬件的限制。试比较:sin(pi)sin(sym(pi))sin(10)sin(sym(10))2^10002^100002^sym(1000),2^sym(10000)6/3/202431MATLAB的符号对象计算精度在MATLAB的符号计算中,也可以由用户指定精度进行计算〔variableprecisionarithmetic〕x=vpa(s,m)采用m位有效数字计算s的值digits(n)将计算精度设置为n位(默认32位)x=vpa(s)采用预设的精度计算s的值说明:使用vpa时,不需事先定义符号对象例如:vpa(pi,50)vpa(pi),digits(20),vpa(pi)6/3/202432MATLAB的符号对象数据类型转换a=double(数字符号对象)将数字符号对象转化为双精度数值aa=char(符号对象)将符号对象转化为字符串a6/3/202433MATLAB的符号对象符号表达式中的符号替换f=subs(源符号表达式,符号对象1,符号对象2)将源符号表达式中的符号对象1用符号对象2代替
注:符号对象1和符号对象2也可以是符号表达式举例>>symsxyabt>>f=x^2+x*y>>f=subs(f,x,t)>>f=subs(f,t,a+b)>>f=subs(f,a+b,x)6/3/202434MATLAB的符号对象符号表达式中的符号替换f=subs(源符号表达式,[符号对象11,符号对象12,…],[符号对象21,符号对象22,…])将源符号表达式中的符号对象11、符号对象12、…分别用符号对象21、符号对象22、…代替。[]可以改为{}举例>>symsxyab>>f=x^2+x*y>>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论