您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 1MATALAB2014a基础-变量-数组-逻辑运算-函数.
MATLAB基础matlab简介变量数组关系运算函数1.1MATLAB简介科学研究和工程实践中的计算问题简单问题:计算器或直接手工推导复杂问题:计算机编程计算机编程高级编程语言VisualBasic、C、C++、C#、JavaHtml、JavaScript、PHPPython、R科学计算软件工具MATLAB、Mathematica、Maple背景作为和Mathematica、Maple并列的三大数学软件。其强项就是其强大的矩阵计算以及仿真能力。要知道Matlab的由来就是Matrix+Laboratory=Matlab,所以这个软件在国内也被称作《矩阵实验室》。每次MathWorks发布Matlab的同时也会发布仿真工具Simulink。在欧美很多大公司在将产品投入实际使用之前都会进行仿真试验,他们所主要使用的仿真软件就是Simulink。Matlab提供了自己的编译器:全面兼容C++以及Fortran两大语言。所以Matlab是工程师,科研工作者手上最好的语言,最好的工具和环境。Matlab已经成为广大科研人员的最值得信赖的助手和朋友!5功能目前MATLAB产品族可以用来进行:-数值分析-数值和符号计算-工程与科学绘图-控制系统的设计与方针-数字图像处理-数字信号处理-通讯系统设计与仿真-财务与金融工程...特点MATLAB具有用法简单、灵活、结构性强、延展性好等优点,逐渐成为科技计算、视图交互系统和程序中的首选语言工具。功能强大的数值运算功能强大的图形处理能力高级但简单的程序环境丰富的工具箱与模块集易于扩充1.2基本运算功能MATLAB的基本运算可分为三类:算术运算关系运算逻辑运算1.2数据与变量程序中定义一些变量来保存和处理数据,变量可以认为是内存符号化的表示。不能使用的20个关键字,可以用iskeyword查看。如break、case、catch等1.2数据与变量MATLAB中变量的命名规则是:(1)变量名必须是不含空格的单个词;(2)变量名区分大小写;(3)变量名最多不超过19个字符;(4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号。有符号整数型:int8,int16,int32,int64无符号整数型:uint8,uint16,uint32,uint6单精度浮点型:single双精度浮点型:double逻辑型:logical字符串型:char特殊变量取值ans用于结果的缺省变量名pi圆周率eps计算机的最小数,16102204.2值等与当和1相加就产生一个比1大的数inf无穷大NaN不定量,如0/0i,ji=j=1realmin最小可用正实数realmax最大可用正实数特殊变量表指令含义举例说明Formatshort小数点后4位,最多不超过7位;对于大于1000的实数,用5位有效数字的科学技术形式表示3.14159显示为3.1415903114.59显示为3.1416e+003Formatlong15位数字表示3.14159265358979FormatShorte5位科学记数表示3.1416e+00Formatlonge15位科学记数表示3.14159265358979e+00Formathex十六进制数表示400921fb54442d18Format+显示大矩阵用Formatbank(金融)元、角、分表示数据显示格式的指令形式数学运算符号及标点符号(1)MATLAB的每条命令后,若为逗号或无标点符号,则显示命令的结果;若命令后为分号,则禁止显示结果.(2)“%”后面所有文字为注释.(3)“...”表示续行.+加法运算,适用于两个数或两个同阶矩阵相加.—减法运算*乘法运算.*点乘运算/除法运算./点除运算^乘幂运算.^点乘幂运算\反斜杠表示左除.1.3数组及其运算1、简单数组的建立x=[abcdef]%创建包含指定元素的行向量例如:x=[123458718]x=first:last%创建从first开始,加1计数,到last结束的行向量例如:y=1:7x=first:increment:last%创建从first开始,加increment计数,last结束的行向量例如:z=3:2:9x=linspace(first,last,n)%创建从first(起始值)开始,到last(终止值)结束,有n个元素的等比数列x=logspace(first,last,n)%创建等比级数例如:x=linspace(0,1,75)例如:x=logspace(0,2,11)产生的是一个起点为100,终点为102,包含11个数据的等比数列,公比为100.2由原有数组创建新数组例如:x=[1234];y=[2222];r=[xy]将两个数组粘合在一起2.数组元素的访问(1)访问一个元素:x(i)表示访问数组x的第i个元素.例如:x=1:9(2)访问一块元素:x(a:b:c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.y=x(2:2:8)(3)直接使用元素编址序号.x([abcd])表示提取数组x的第a、b、c、d个元素构成一个新的数组[x(a)x(b)x(c)x(d)].z=[x(1)x(6)x(8)]3.数组的方向前面例子中的数组都是一行数列,是行方向分布的.称之为行向量.数组也可以是列向量,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示.产生列向量有两种方法:直接产生例c=[1;2;3;4]转置产生例b=[1234];c=b’4.数组的运算(1)标量-数组运算数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算.设:a=[a1,a2,…,an],c=标量则:a+c=[a1+c,a2+c,…,an+c]a.*c=[a1*c,a2*c,…,an*c]a./c=[a1/c,a2/c,…,an/c](右除)a.\c=[c/a1,c/a2,…,c/an](左除)a.^c=[a1^c,a2^c,…,an^c]c.^a=[c^a1,c^a2,…,c^an](2)数组-数组运算当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的.设:a=[a1,a2,…,an],b=[b1,b2,…,bn]则:a+b=[a1+b1,a2+b2,…,an+bn]a.*b=[a1*b1,a2*b2,…,an*bn]a./b=[a1/b1,a2/b2,…,an/bn]a.\b=[b1/a1,b2/a2,…,bn/an]a.^b=[a1^b1,a2^b2,…,an^bn]5.数组数据的导入1.先用Excel产生数据表格,并存为文本文件:*:\*.txt;再调用指令:load*:\*.txt。2.先用Excel产生数据表格;再打开数组编辑器进行粘贴。6.关系和逻辑运算关系操作符关系操作符说明小于=小于或等于大于=大于或等于==等于~=不等于几点说明:1、两个标量之间相比,若两者关系成立,则关系运算结果为逻辑真(1);若两者关系不成立,则返回值为逻辑假(0)。2、标量可以与任何维数的数组比较,但是比较是在此标量与数组每个元素之间进行,因此比较结果将与比较数组同维。3、“=”与“==”意味着两种不同的事情:==比较两个变量,当它们相等时返回1,不等时返回0;而=被用来将运算或的结果复制给另一个变量。逻辑运算符逻辑操作符说明&︱~与或非几点说明:1、在逻辑运算中,非零元素表示逻辑真,用“1”表示;零元素表示逻辑假,用“0”表示。2、&,|,和~代表了逻辑运算中的and,or,not。3、标量可以和任何维数的数组进行逻辑运算。4、在算术运算、关系运算和逻辑运算中,逻辑运算的优先级最低。当然可以用括号人为地改变优先级。例1:A=[122;-121;352];B=[346;589;453];a=A3b=(A=B)c=(A==B)1.4字符串、元胞1.字符串注1字符串必须用单引号进行标识。a='loveyou';b='赚钱拉';c=[b,a]注2字符串与数值之间通过num2str和str2num转换。a=4;b=sin(a);[num2str(a),'正弦值等于',num2str(b)]注3MATALAB指令可定义为字符串,再调用eval执行指令。y='sin(x)+cos(x)';x=2;eval(y)2.元胞(单元数组)注1数值和字符不能混合;小数组拼接大数组时,尺寸必须相符。注2元胞--将不同类型、不同尺寸的数组拼接在一起,加{}。a={1:3;'sd'};b={'ds';[12;34]};c=[a,b]结构体一个结构体可以通过字段存储多个不同类型的数据,相当于一个数据容器,将多个相关联但不同类型的数据组织在一个结构对象中。example.name=‘张三';example.adress='北京';example.age='18岁'如果我们要删除结构体的某一项属性,那么可以通过函数Rmfield,来实现,如果要增加一个属性,那么可以直接进行赋值便可。map容器类型map的含义是映射,可以将一个量(key)映射到另一个量(value),形成“key——value”的形式,可以快速查找数据的键。比如将一个字符串映射为一个数值,那个字符串就是map的key,那个值就是map的valueweekmap=containers.Map({'Monday','Tuesday'},{1,2})weekmap('Monday')ans=1添加新的元素:weekmap('Friday')=5删除里面的内容:remove(weekmap,'Monday')检查map的内容,可以使用map的几个函数,如keys(weekmap)ans='Friday''Monday''Tuesday‘values(weekmap)ans=[5][1][2]values(weekmap,{'Monday','Friday'})ans=[1][5]函数在一个变化过程中,假设有两个变量x、y,如果对于任意一个x都有唯一确定的一个y和它对应,那么就称y是x的函数,其中x是自变量,y是因变量,x的取值范围叫做这个函数的定义域,相应y的取值范围叫做函数的值域。在各类编程语言中,函数是一种过程,也称为子程序,它执行一个或一系列指定的运算或操作。取整函数(1)fix(x):截尾取整fix([3.12-3.12])ans=3-3(2)floor(x):不超过x的最大整数.(高斯取整)floor([3.12-3.12])ans=3-4取整函数(3)ceil(x):大于x的最小整数ceil([3.12-3.12])ans=4-3(4)四舍五入取整round([3.12-3.12])ans=3-3测试函数在运算过程中测试特殊值或条件是否存在,并返回相应的逻辑值。Isempty参量为空,返回1isinf元素无群大,返回1isletter元素为字母,返回1isstr元素为字符串,返回1字符串函数length(str)返回str的长度isstr()元素为字符串,返回1strcmp(str1,str2)比较两个字符串是否完全相等,是,返回真,否则,返回假isletter(str)检测字符串中每个字符时否属于英文字母findstr(str1,str2)查找str1和str2中,较短字符串在较长字符串中出现的位置,没有出现返回空数组strrep(A,str1,str2)将A中str1替换为str2字符串函数lower()转换为小写upper()转换为大写int2str()整数转换为字符串str2mat()字符串转换为文本矩阵sin正弦函数asin反正弦函数cos余弦函数acos反余弦函数tan正切函数atan反正切函数cot余切函数acot反余切函数sec正割函数asec反正割函数csc余割函数acsc反余割函数sinh双曲
本文标题:1MATALAB2014a基础-变量-数组-逻辑运算-函数.
链接地址:https://www.777doc.com/doc-3024716 .html