目录

一、复数

二、取整函数

三、无穷量(Inf)和非数值量(NaN)

四、逻辑类型

五、字符和字符串

六、函数句柄

七、结构体

八、数组类型

九、单元数组

十、map容器类型

参考《MATLAB R2020a 完全自学一本通》


一、复数

复数包括实部和虚部,MATLAB中默认使用字符i或j作为虚部标致

例如:

MATLAB库函数中关于复数的计算如下表

MATLAB库函数中关于复数的相关函数
函数 说明 函数 说明
real(z) 返回复数z的实部 image(z) 返回复数z的虚部
abs(z) 返回复数z的模 angle(z) 返回复数z的的辐角
conj(z) 返回复数z的共轭复数 complex(a,b) 以a为实部、b为虚部创建复数

二、取整函数

函数 运算法则 示例
floor(x) 向下取整

floor(1.2)=1

floor(2.5)=2

floor(-2.5)=-3

ceil(x) 向上取整

ceil(1.2)=2

ceil(2.5)=3

ceil(-2.5)=-2

round(x)

取最接近的整数

如果小数部分是0.5,则向绝对值大的方向取整

round(1.2)=1

round(2.5)=3

round(-2.5)=-3

fix(x) 向0取整

fix(1.2)=1

fix(2.5)=2

fix(-2.5)=-2

三、无穷量(Inf)和非数值量(NaN)

MATLAB中使用 Inf 和 -Inf 来分别代表正无穷量和负无穷量,NaN表示非数值。正负无穷量的产生一般是由于运算溢出,产生了双精度浮点数数值范围的结果;非数值则是由于 0/0 或 Inf/Inf 类型的非正常运算而产生,这两个NaN彼此是不相等的。

除了异常运算结果,MATLAB也提供了特定函数Inf和NaN来创建指定数值类型浮点无穷量和非数值量,生成结果默认为双精度浮点数类型。还有一种特殊的指数类型的数据叫做非数,通常表示运算得到的数值结果超出了运算范围。非数的实部用NaN表示,虚部用InF表示。

例如:

四、逻辑类型

MATLAB中除了支持关系运算外还支持逻辑运算。

MATLAB中把任何非零数值当作真,把零当作假。所有关系和逻辑类型的输出:对于真,输出1;对于假,输出为0。

MATLAB中的关系操作符
关系操作符 说明
< 小于
<= 小于或等于
> 大于
>= 大于或等于
== 等于
~= 不等于

MATLAB中的关系操作运算符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量。在后一种情况中,标量和数组中的每一个元素相比较,结果和数组大小一样。

例如:

逻辑运算符提供了一种组合或否定关系表达式,如下表。

MATLAB中的逻辑运算符
逻辑运算符 说明
&
|
~

例如:

五、字符和字符串

MATLAB中一个字符串是存储在一个行向量中的文本,这个行向量中的每一个元素代表一个字符。因此可以通过下标对字符串中的任何一个元素进行访问。字符矩阵也可以通过下标索引进行访问,但是矩阵的每行字符数必须相同

①字符属性示例,使用size() 获得字符长度

字符串中的每个字符是数组中一个元素,字符串的存储要求每个字符8字节,之所以不要求1字节是因为对字符串保持同样的数据结果可以简化MATLAB的内部数据结构。

②字符串的ASCII表达,使用abs() 获得每个字符ASCII码

③字符串数组是索引示例

 ④字符串中的单引号

在字符串中添加单引号需要使用转义字符 ”  '   "

⑤ 字符串的链接,使用 [  ] 连接两个字符串

六、函数句柄

在MATLAB中,对函数调用分为直接调用和间接调用。

  • 直接调用函数,被调用函数称为子函数。但是子函数只能被与其M文件同名的主函数或在M文件中的其他函数调用,一个文件中只能有一个主函数
  • 函数句柄提供了一种间接调用的方法,创建函数句柄需用到操作符@。MATLAB库函数中的各种内部函数都可以创建函数句柄,从而通过函数句柄实现对这些函数的间接调用。
Funciton_Handle = @Function_Filename;
  • Function_Filename是函数所对应的M文件的名称或MATLAB内部函数的名称
  • @是句柄创建操作符
  • Function_Handle变量保存这一函数句柄

函数句柄的创建与调用

MATLAB库函数中提供大量处理函数句柄的操作函数,如下表:

函数句柄的简单操作函数
函数名称 函数功能
function(funhandle) 返回一个结构体,存储函数名称、函数类型(simple或overloaded),以及函数M文件的位置
func2str(funhandle) 将函数句柄转换为函数名称字符串
str2func(str) 将字符串所代表的函数转换为函数句柄
save filename.mat funhandle 将函数句柄保存在*.mat文件中
load filename.mat funhandle 将*.mat文件中存储的函数句柄加载到工作区
isa(var,'function_handle') 检测变量var是否是函数句柄
isequal(function,funhandle) 检测两个函数句柄是否对应同一个函数

函数句柄基本操作:

七、结构体

结构体相当于一个数据容器,把多个相关链的不同类型的数据封装在一个结构体对象中。MATLAB创建结构体有两种方法,一种是通过赋值语句给结构体的字段赋值,另一种是使用结构体创建函数struct。两种方法具体操作如下:

①通过字段创建结构体

在字段赋值时,没有明确赋值的字段,MATLAB默认赋值为空数组。通过圆括号索引进行字段的赋值,还可以创建任意尺寸的结构体数组。

②利用struct函数创建结构体

struct函数的语法形式

strArray = struct('field' , val , 'field2' , var2, ..... 'fieldn' , varn)

示例1:

示例2:

八、数组类型

在MATLAB中进行运算的所有数据类型,都是安装数组及矩阵的形式进行存储和运算。数组强调元素对元素的运算,而矩阵则采用线性代数的运算方式。数组的定义是广义的,数组的元素可以是任意数据类型,例如可以是数值、字符串、指针等。

①对变量赋值创建数组

②使用“:”冒号创建等差数组

语法格式 :

Array = i :j :k

创建从i 开始、步长为j、到k结束的数组序列。省略j则表示默认步长为1

③使用linspace函数创建等差数组

语法格式 如下:

Array = linspace (a , b , n )

在区间 [ a , b ]上创建 n 个元素向量

④创建空数组

九、单元数组

单元(Cell)数组是一种广义矩阵。组成单元数组的每一个元素称为一个单元。每一个单元可以包括一个任意数组(如数值数组,字符串数组,结构体数组或另外一个单元数组),因此每一个单元的尺寸和内存占用空间可能不同。

单元数组的创建有两种方式:一种是使用赋值语句创建单元数组,另一种是使用cell函数创建单元数组。

①创建单元数组

使用逗号“ ,”或空格分隔每一个单元,使用分号“ ;”来分行

②使用cell函数创建空单元数组

单元数组访问

对于 单元数组C,C(m,n)指的是单元数组中第m行第n列的单元

单元数组的操作,合并、删除、更改形状

①单元数组合并,使用 { }合并两个单元数组

③指定单元的删除

③ 使用reshape函数改变单元数组形状

语法格式如下

trimC = reshape( C , M , N )

将单元数组C改成一个具有M行N列的新单元数组。

示例:

十、map容器类型

map是一种以“键值对”方式进行存储的容器,map的键(key)可以是数字也可以是字符串,map的数值就是map的数据(value)。一个map是MATLAB类的一个对象。map类具有下面3种属性:

map类的属性
属性 说明 默认值
Count 表示map对象中“键值对”的总数 0
KeyType 表示map对象中包括的key的类型 char
ValueType 表示map对象中包括的数据类型 any

①创建map对象

map是一个map类中的对象,又MATLAB中名为“容器”的一个包来定义,可以通过构造函数来创建,其语法形式如下(指定键的所有类型都必须一样)

mapObject = containers.Map({key1 , key2 , .....},{val1 , val2 , .....})

也可以创建一个空map对象,再通过点的方式赋值

②查看/读取map对象

通过keys函数和values函数可查看所有的map对象中包含的键和值

访问指定键所对应的值

如需对多个键访问,可以配合values函数使用

③编辑map对象

使用remove函数,删除map对象中的“键值对”

remove('mapname' , 'keyname')

添加keys/values对。

当向map对象中写入新元素时,需提供键名,而且该键类型必须和map中的其他键一致,语法格式如下

MapObject(newKeyName) = newValue

修改keys。如需在保持值不变对键名进行更改,则首先删除“键值对”,然后再添加

修改values。通过赋值操作,覆盖原有值。

参考《MATLAB R2020a 完全自学一本通》

零基础入门MATLAB(一篇十分钟)相关推荐

  1. 零基础入门学Python(十二)—— 魔法方法(上)

    零基础入门学Python系列内容的学习目录→\rightarrow→零基础入门学Python系列内容汇总. 魔法方法(上) 1. 构造和析构 1.1 _ _ init _ _(self[, ...]) ...

  2. 怎么安装python_零基础入门必看篇:浅析python,PyCharm,Anaconda三者之间关系

    今天为大家带来的内容是:零基础入门必看篇:浅析python ,PyCharm,Anaconda三者之间关系 众所周知,Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C, ...

  3. 零基础入门学Python(十二)—— 魔法方法(下)

    零基础入门学Python系列内容的学习目录→\rightarrow→零基础入门学Python系列内容汇总. 魔法方法(下) 1. 构造和析构 2. 算术运算 3. 简单定制 4. 属性访问 5. 描述 ...

  4. 数学建模速成! 两小时零基础入门 MATLAB 教程(一)—— Matlab常用操作和基本语法

    Matlab常用操作和基本语法 没有涉及到编程的内容, 就是介绍一些MATLAB软件的操作, 和简单的语法如注释输出之类的 目录 文章目录 Matlab常用操作和基本语法 1. help查看函数说明 ...

  5. 数学建模速成!两小时零基础入门MATLAB教程(六)—— 定义和调用函数

    MATLAB定义函数 文章目录 MATLAB定义函数 1. 常见问题 2. 如何定义 2.1语法 2.2举例 3. 如何使用 3.1 得到返回值 3.2 将定义的函数作为参数传递给其他函数(函数指针) ...

  6. 【Python零基础入门之终结篇】:虚拟机Linux命令、Vim编辑器、有趣的命令

    目录 一.虚拟机Linux命令 1.基本命令 常用命令 文件操作命令 2.通过代码演示了解基本命令的使用 pwd.ls.ls -a 命令的使用 cd 目录名.cd 命令的使用 tab:自动补全命令 c ...

  7. 狸窝音频剪辑软件_剪映零基础入门教程第二篇:剪辑软件剪映的音频功能怎么样...

    在制作短视频的时候大家常用的剪辑软件有哪些呢?说实话目前市面上的剪辑软件还是比较多的,有时候让用户们都纠结于到底哪款软件才是最好用的那款呢?但是我想用的最多的还是抖音自家推出的小软件剪映吧,不仅仅是因 ...

  8. 生日祝福小程序_广告配音剪映零基础入门教程第二十六篇:如何给朋友制作生日祝福视频...

    经常听到小伙伴问到生日祝福视频怎么做,当然我想既然要为他人做生日祝福视频,那么这个人必定是自己身边比较重要的人,而生日又是每个人都是非常重要的,在这种充满意义的时刻,我们想给自己极其重要的人送上一份祝 ...

  9. 视频教程-ARDUINO零基础入门教程【代码编程篇】-Arduino

    ARDUINO零基础入门教程[代码编程篇] 精通各种单片机编程,有十年以上ARDUINO,51单片机/STM32/PIC/AVR编程,硬件设计,绘图,编程经验.熟悉各种常用传感器使用和物联网通讯 赵勇 ...

最新文章

  1. 从MySQL 5.6升级到8.0,Facebook付出了惨痛代价……
  2. 根据长文本拆分至内表
  3. 任务和特权级保护(五)——《x86汇编语言:从实模式到保护模式》读书笔记36
  4. BZOJ2131免费的馅饼 DP+树状数组
  5. GDCM:gdcm::UIDs的测试程序
  6. webpack里JavaScript文件编译的调试
  7. oracle 处理过程,Oracle SQL语句处理过程(转载)
  8. SpringMVC-HandlerInterceptor拦截器的使用与参数详解
  9. 如何能顺利往表中允许为null的字段插入null值(参数绑定)
  10. ThinkPhp 使用 PHP_XLSXWriter 代替 PHPExcel 百万级数据单次导出
  11. 证券基金行业那些智能XX(上)
  12. STM3库文件 hal_uart.c的使用
  13. Linux命令行安装图形化界面
  14. html中中文字体的代码
  15. 人文社科开放数据库汇总
  16. js return加分号_JavaScript 语句后应该加分号么?
  17. 14.hibernate的入门
  18. linux 公社资料
  19. 画笔和画刷的种类和使用方法
  20. linux设置sfq队列参数,Linux内核中流量控制(5)

热门文章

  1. 《招标投标法》和《招标投标实施条例》有什么关系?
  2. java从零到项目实战(八)
  3. python enumerate_Python enumerate() 函数
  4. ArcGIS教程:ArcGIS中的图表是什么
  5. GeoServer学习(初学WMS、WCS、WFS、WMTS)
  6. 4星|《维米尔的帽子》:17世纪荷兰画中的全球化踪迹,鸦片与烟草被当时中国主流文化接纳的故事...
  7. 中职计算机技能,中职计算机专业技能竞赛规则
  8. XML中配置网易云歌手详情滑动效果
  9. 国家频抛利好政策 互联网将成医联体建设神经中枢?
  10. linux 怎么看节点核数,Linux怎么查看CPU核数?-linux运维