第1章MATLAB基础知识与基本操作_第1页
第1章MATLAB基础知识与基本操作_第2页
第1章MATLAB基础知识与基本操作_第3页
第1章MATLAB基础知识与基本操作_第4页
第1章MATLAB基础知识与基本操作_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章MATLAB基础知识与基本操作内容提要工作环境操作方式语言基础函数与命令矩阵字符串符号计算MATLAB的工作环境MATLAB的版本、启动与退出主窗口、菜单和工具栏子窗口命令窗口(CommandWindow)工作空间(Workspace)当前目录(CurrentDirectory)命令历史(CommandHistory)M文件窗口图形窗口MATLAB的操作方式命令方式在命令窗口输入MATLAB语句,回车则执行>>a=23+35(赋值语句)>>b=67>>c=a+b,x=sin(c),y=x-a说明:“>>”是MATLB的命令提示符,不要输入!一个语句行可以是一条语句,也可以是多条语句,多条语句之间用逗号或分号分隔。如果赋值语句用分号结尾,则屏幕上不显示其结果。续行符(…)、注释语句(用百分号%引导)MATLAB语言基础数值计算精度与显示格式MATLAB默认数值计算(非解析计算),在机内采用双精度格式进行数据的存储和处理数据的显示格式可以有多种选择,命令为:format[<选项>]例如:formatshort定点5位十进制(默认)超过1000采用科学计数形式formatlong定点15位十进制超过100采用科学计数形式formatrational分数形式formatloose稀疏行距(默认)formatcompact紧凑行距用户变量命名规则:字母开头,由字母、数字或下划线组成,要区分大小写。特殊变量ans是系统的一个预定义变量,如果运算结果没有赋于任何变量,系统将其赋于ans。注意:ans只保留最新值。系统常量(也称为系统预定义变量)pi圆周率3.1415…eps浮点数识别精度2.2204×10-16realmin最小正实数2.2251×10-308realmax最大正实数1.7977×10308Inf或inf无穷大NaN或nan未定式(如:0/0、Inf/Inf)i或j虚数单位(在不至于引起混淆的情况下,也可作为变量使用)……用户常量数字0~9字符串(后面单独介绍)clear命令:用于清除变量clear清除工作空间中的所有变量,释放所占内存clear<变量名1><变量名2><变量名3>...清除指定的变量,释放所占内存clc命令:用于清除命令窗口中的内容clc运算符数学运算符在MATLAB中,数与数之间的加、减、乘、除、乘方运算符号分别是:+-*/^关系运算符<小于<=小于等于>大于>=大于等于==等于~=不等于表达式由常量、已定义的变量、函数、运算符组成MATLAB的函数与命令MATLAB的函数系统函数(也称为内部函数)用户自定义函数(将在下一章学习)MATLAB的命令MATLAB的每个函数实际上都是一段具有特定功能的程序,执行这个程序就是执行一个命令,所以MATLAB函数有时也称为命令函数(或命令)的自变量必须用圆括号()括起来MATLAB函数举例教材7-11页列出了MATLAB的一些系统函数下面列举一部分常用的数学函数MATLAB的数学函数有很多,下面列举其中的一部分:sin(x),cos(x),tan(x),cot(x),asin(x),acos(x),atan(x),acot(x),sqrt(x),即x开平方exp(x),即ex,log(x),即然对数lnx,log10(x),即以10为底的对数fix(a)求a的整数部分floor(a)求不大于a的最大整数ceil(a)求不小于a的最小整数rem(a,b)求除法余数(符号由a决定)mod(a,b)求模余数abs(a)求a的绝对值或模real(a)求a的实部imag(a)求a的虚部angle(a)求a的幅角conj(a)求a的共轭复数MATLAB的基本对象——矩阵矩阵在MATLAB中,矩阵用方括号[]界定数值(标量)也被看做是矩阵,但可以不用[]界定矩阵的建立用赋值语句建立矩阵例子:a=[159068372]或a=[159;068;372]或a=[1,5,9;0,6,8;3,7,2]同行无素之间用空格或逗号分隔,不同行之间用分号或回车分隔。特殊矩阵的建立<初值>:<增量>:<终值>产生由初值开始、不超过终值的等增量行向量,省略增量时默认为1linspace(x1,x2,n)将区间[x1,x2]n-1等分,产生n个分点行向量zeros(m,n)生成m行n列的零矩阵ones(m,n)生成m行n列元素全为1的矩阵eye(n)生成n阶单位矩阵rand(m,n)生成m行n列服从[0,1]上均匀分布的随机矩阵举例矩阵的操作矩阵a的第i行第j列元素用a(i,j)表示,可用来获取矩阵中指定位置上的元素值,也可给该位置上的元素重新赋值。矩阵元素的内部编址:按列编址如a=[159068372]a(3,2)即是a(6)特殊用法举例a([1,3],2)表示矩阵a的第1、3行,第2列的元素a(3,1:2)表示矩阵a的第3行、第1至2列的元素a(:,3)表示矩阵a的第3列a(:)表示矩阵a的所有元素按内部地址顺序排成的列向量矩阵元素的抽取例如a=[159;068;372]h=a([1,3],1:3)或h=a([1,3],:)矩阵h由矩阵a的第1、3行,第1至3列组成矩阵元素的重新赋值例如a=[159;068;372]a(3,2)=1将矩阵a的第3行第2列元素值更改为1a([1,3],:)=0将矩阵a的第1、3行所有元素值更改为0矩阵元素的删除例如a=[159;068;372],b=[1;2;3]a(2,:)=[]删除a的第二行元素b(3)=[]删除b的第三个元素矩阵的拼接例如a=[159;068;372],b=[1;2;3],c=[3,2,1]d=[a,b]a与b左右拼接e=[a;c]a与c上下拼接函数size:求矩阵的行数和列数如size(a)显示输出矩阵a的行数和列数[m,n]=size(a)将矩阵a的行数和列数分别赋值给变量m和n函数length,sum,prod,min,max,mean对于向量,分别求元素的个数、和、积、最小值、最大值、平均值对于矩阵,分别求列数、各列元素的和、积、最小值、最大值、平均值min与max的特殊用法:[p,q]=min(a)当a是向量时,求a的最小值以及最小值所在的序号,分别赋值给变量p和q当a是矩阵时,求a各列的最小值以及最小值所在的行号,分别赋值给变量p和qmax的用法类似许多函数的自变量都可以是矩阵例如:当a是矩阵时,sin(a)是对矩阵a中的每个元素求正弦矩阵的线性代数运算(将在第4章介绍)矩阵按对应元素的运算——简称为数组运算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与数的点除运算注意:在加减运算中,不能使用“.+”和“.-”讨论:如何计算?方法一:使用循环结构编程MATLAB的循环语句之一:while条件式语句组end程序:s=0;n=1;whilen<=100s=s+1/n^2;n=n+1;ends方法二:使用数组运算分析:n=1:100n.^21./n.^2sum(1./n.^2)简化为:sum(1./(1:100).^2)MATLAB的字符串字符串与字符串表达式字符串是一种用户常量,用英文单引号界定例如:'Matlab6.5','abc','123'字符串表达式是将运算表达式用字符串的形式表示出来,用在一些规定的命令中例如:字符串表达式:'2*sin(x)+1/(x^2+1)'作图命令:fplot('2*sin(x)+1/(x^2+1)',[0,pi])字符串的运算加+、减-运算:按照字符的ASCII码相加或相减拼接运算:进行左右或上下拼接例如:['abc','123']结果为:abc123['abc';'123']结果为:abc123注意:上下拼接时,每行字符个数必须相等。字符串函数举例num2str数值转化为字符串str2num字符串转化为数值abs字符串转化为ASCII码(十进制数表示)setstrASCII码(十进制数表示)转化为字符串lower字符串中的大写字母转化为小写字母upper字符串中的小写字母转化为大写字母MATLAB的符号计算基础MATLAB默认采用双精度数值计算;但也可以调用它的符号工具箱,采用解析计算(也称为符号计算)。在解析计算中,如果无法求得精确解,或者用户指定了近似计算的精度要求,MATLAB也可以在解析算法下采用近似输出,但这与默认的双精度数值计算方法有所不同。大部分MATLAB数学函数可以用于符号计算,但也有个别函数不能在符号计算中使用,比如:fix,floor等。关系运算和逻辑运算不能用在符号计算中。如何使用符号计算大多数情况下,必须定义符号对象,才能使用MATLAB的符号工具箱进行符号计算(个别默认用法例外)符号对象的定义方法定义符号常量sym(数值)将数值常量定义为符号对象sym(字符串表达式)将字符串表达式定义为符号对象举例(注意对比)[123,5.63,pi][sym(123),sym(5.63),sym(pi)]'3*pi^2*x'.^3sym('3*pi^2*x')^3定义符号变量syms变量1变量2…将变量1、变量2、…定义为符号变量注意:变量之间使用空格分隔举例symsxyz%定义x,y,z为符号变量f=x^2+y^2+z^2-25符号表达式与符号函数含有符号变量或符号常量的表达式称为符号表达式,如果符号表达式含有符号变量,也可称为符号函数.在一个符号表达式中,按照运算顺序,当某个符号对象被计算,则后续运算将自动采用符号计算。试比较:sqrt(2)+pi^3,sqrt(sym(2))+pi^3,sqrt(2)+pi^sym(3)因此,如果要让一个表达式的运算采用符号计算,只需在表达式中适当地定义一个符号对象。符号矩阵有多种方法可以建立符号矩阵,例如:t=[1,3,5;2,4,6]%先建立数值矩阵T=sym(t)%然后转化为符号矩阵或者T=sym([1,3,5;2,4,6])symsabcB=[a,b,c;1+a,2+b,3+c;1,2,3]注:数值矩阵与符号矩阵的输出形式不同,在工作空间里的图标也不同,很容易区分。符号计算的精度MATLAB符号计算精度原则上只受计算机硬件的限制试比较数值计算与符号计算的差异sin(pi),sin(sym(pi))sin(10),sin(sym(10))2^1000,2^100002^sym(1000),2^sym(10000)关于阶乘的计算数值计算系统中的阶乘函数factorial例如:factorial(10),factorial(100)使用prod函数计算阶乘例如:100!,200!(试比较)数值计算:prod(1:100),prod(1:200)解析计算:prod(sym(1:100)),prod(sym(1:200))在MATLAB的符号计算中,也可以由用户指定精度进行计算(variableprecisionarithmetic)vpa(s,m)采用m位精度(有效数字)计算符号对象s的值digits(n)将计算精度设置为n位(默认32位)x=vpa(s)采用预设的精度位数计算符号对象s的值例如:vpa(pi,770)s=sqrt(sym(2));vpa(s,50),vpa(s)符号表达式的运算函数举例如下:factor(符号表达式)对符号表达式做整系数因式分解expand(符号表达式)将符号表达式展开为乘积的和差collect(符号表达式,指定的符号)将符号表达式按指定的符号合并同类项[n,d]=numden(符号表达式)将符号表达式通分,n得到分子,d得到分母simplify(符号表达式)将符号表达式化简例:使用MATLAB证明三角函数恒等式:symsxsimplify((2-cos(x)^2)*(1+2*cot(x)^2)-(2+cot(x)^2)*(2-s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论