matlab_02

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_36594453/article/details/60882174

数据类型

  • 分类:

未加说明和特殊定义时,MATLAB对所有数值按照双精度浮点数类型进行存储和操作。
相对于双精度浮点数格式,整数型与单精度浮点数的有点在于节省变量占用的内存空间,当然首先要在满足精度要求的前提下。
  • 整数类型

不同精度互相转换,MATLAB默认将待转换数值转换与之最为接近的整数值,若小数部分为0.5,则转换后的结果为与该浮点数最接近的两个整数中绝对值较大的一个。
在不超出数值范围的情况下,任意两个整数类型之间可以通过转换函数进行相互转换。同时,由于不同的整数类型能够表示的数值范围不同,因此当运算结果超出相应的整数类型能够表示的范围时,就会出现一处错误,运算结果被置为该整数类型能够表示的最大值或最小值。
  • 取整函数

  • 浮点数类型

双精度浮点数参与运算时,返回值类型依赖于参与运算的其他数据类型,参与运算的其他数据类型为逻辑型、字符型时,返回值为双精度浮点型;参与运算的其他数据为整数型时,返回结果为相应的整数类型;参与运算的其他数据维单精度浮点型时,返回结果维相应的单精度浮点型。
【在MATLAB中,单精度浮点型不能与整数类型进行算术运算。】

Example
浮点数参与的运算:如下截图
                                                                                       
error:整数只能与相同类的整数或标量双精度数值组合使用
由于浮点数只占用一定得存储位宽,其中只有有限位分别用来存储指数部分和小数部分。因此,浮点数类型能够表示的实际数值是有限且离散的,任何两个最近相邻的浮点数之间都有微小间隙,而处在间隙中的数值都只能用这两个相邻的浮点数中的一个来表示。
MATLAB中提供了eps函数,可以获取一个数值和最接近该数值的浮点数之间的间隙。

浮点数的精度:如下截图
             
  • 复数

  • 无穷量(Inf)和非数值量(NaN)
 Inf:正无穷       -Inf:负无穷          【由于运算溢出,产生超出双精度浮点树数值范围的结果】
NaN 【由于0/0或Inf/Inf类型的非正常运算而产生,这两个NaN彼此是不相等的】
MATLABi共了特定函数Inf和NaN来创建指定数值类型的无穷量和非数值量,生成结果默认为双精度浮点数类型中还有一种特殊类型的数据叫作非数,通常表示运算得到的结果超出了运算范围。非数的实部用NaN表示,虚部用InF表示。
                        

逻辑类型

关系操作符


                
trueorfalse :比较函数

逻辑运算符:与或非(&、|、~)
xor(x,y):异或运算,x和y同为0或非0时返回0,否则返回1
any(x):判断是否为零向量或零矩阵,是返回1,否返回0

字符和字符串

一个字符串是存储在一个行向量中的文本,这个行向量中的每一个元素代表一个字符。实际上,元素中存放的是字符的内部代码,即ASCII码。 当屏幕上显示字符变量的值时,显示出来的是文本,而不是ASCII数字。由于字符串是以向量的形式来存储的,因此可以通过它的下标对字符串中的任何一个元素访问,字符矩阵也可以通过下标索引进行访问,但是矩阵的每行字符数必须相同。
字符串一般是ASCII值的数值数组。


abs():取绝对值
String(7:10):输出位置7到10的字符
String(10:-1:7):反向输出位置7到10

字符串中单引号的表示,连接字符串的方法

句柄函数:一种间接调用函数的方法,MATLAB函数库中提供的各种M文件的函数和使用者自主编写的程序中的内部函数,都可以创建句柄函数
        将MATLAB的内部函数保存在一个变量中,后续运算可直接通过该变量实现函数功能
格式:Function_Handle=@Function_Filename;     @是句柄创建操作符, Function_Filename是函数所对应的M文件的名称或MATLAB内部函数的名称
函数句柄的操作函数

结构体类型
创建结构体对象:
  • 通过字段赋值创建结构体,赋值表达式的变量名使用“结构体名称.字段名称”形式书写,对同一结构体可进行多个字段赋值
  • 利用struct函数创建结构体,句法形式:StrArray=struct('filedl',var1,'fieldl',var2,...,'filedn',varn)
【进行字段赋值操作时,没有明确赋值的字段,MATLAB默认赋值为空数组。通过圆括号索引进行字段赋值,还可以创建任意尺寸的结构体数组,需要注意,同一个结构体数组中所有结构体对象有相同的字段组合】













猜你喜欢

转载自blog.csdn.net/sinat_36594453/article/details/60882174