您现在的位置是:主页 > news > 西安企业网站设计机构/品牌营销与推广
西安企业网站设计机构/品牌营销与推广
admin2025/6/23 15:15:16【news】
简介西安企业网站设计机构,品牌营销与推广,一流的商城网站建设,网站的图形拖拽验证码怎么做的目录1. MATLAB数据类型1.1 数值类型1.2 逻辑类型1.3 字符和字符串1.4 函数句柄1.5 结构体类型1.6 数组类型1.7 单元(Cell)数组类型1.7.0 概述1.7.1 单元数组的寻访1.7.2 单元数组的操作1.8 map容器类型1.8.0 map容器类型及map类概述1.8.1 创建map对象1.8…
目录
- 1. MATLAB数据类型
- 1.1 数值类型
- 1.2 逻辑类型
- 1.3 字符和字符串
- 1.4 函数句柄
- 1.5 结构体类型
- 1.6 数组类型
- 1.7 单元(Cell)数组类型
- 1.7.0 概述
- 1.7.1 单元数组的寻访
- 1.7.2 单元数组的操作
- 1.8 map容器类型
- 1.8.0 map容器类型及map类概述
- 1.8.1 创建map对象
- 1.8.2 查看/读取map对象
- 1.8.3 编辑map对象
1. MATLAB数据类型
1.1 数值类型
MATLAB对有所有数值按照双精度浮点类型进行存储和操作
MATLAB中的取整函数
1.向下取整
2.向上取整
3.取最接近的整数(如果小数部分是0.5,则向绝对值大的方向取整)
4.向0取整
在MATLAB中,单精度浮点类型 不能 与整数类型进行算术运算
下图中 1.6702e+03代表 1.6702×103
每个字符都有对应的ASCII值
一对单引号内为一个字符串,一个字符串内有多个字符(包括空格)
1×5代表1个字符串(一对单引号)5个字符
无穷量(Inf)和非数值量(NaN)
1.无穷量(infinity)
Inf 和 -Inf 分别代表正无穷量和负无穷量
正负无穷量的产生一般是由于运算溢出,产生了超出双精度浮点数数值范围的结果
2.非数值量(Not a Number)
非数值量是由于 0/0 或 Inf/Inf 类型的非正常运算而产生的
1.2 逻辑类型
关系操作符
关系操作符 | 说明 |
---|---|
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
== | 等于 |
~= | 不等于 |
范例1:
判断两个数组之间的元素是否相等
1:9表示从1到9
"=="是对等号两边的两个变量进行比较,相等时返回1,反之返回0
"="被用来将运算的结果赋给一个变量
范例2:
1.3 字符和字符串
字符串是以向量形式来存储,因此可通过下标对字符串中的任何一个元素进行访问。
字符矩阵也可通过下标索引进行访问,但矩阵的每行字符数量必须相同
字符串一般是ASCII值的数值数组
一对单引号内为一个字符串,一个字符串内有多个字符(包括空格)
下图中1个字符串 24个字符(含空格)
字符串的ASCII表达,只需对字符串执行一些算术运算,最简单和计算上最有效的方法是取数组的绝对值
字符串索引示例
7:10代表从第7列到第10列
10: -1:7代表第10列和第7列对调
字符串中的单引号
字符串的连接
1.4 函数句柄
MATLAB的m文件分为两种
第一种为脚本文件,由一堆命令构成的,里面第一shu行不是 function 开头,这种文件比如是myfun.m 就在命令窗口里输入myfun回车就行,matlab会把m文件中的命令都运行一次
第二种为函数文件,第一行为function ,比如说 function y=myfun(x),这种文件函数名与文件名必须是一致的,在命令窗口里输入myfun(x), x是运行参数,回车即运行
以上文字引用自:https://zhidao.baidu.com/question/146526463.html
范例:
F_Handle=@cos 就创建了MATLAB内部函数 cos 的句柄,并将其保存在 F_Handle 变量中
后续运算过程中就可以通过 F_Handle(x)来实现 cos(x)的功能
通过函数句柄调用函数时,也需要指定函数的输入参数
例如:
1.可通过 F_Handle(arg1,arg2,…argn)这样的调用格式来调用具有多个输入参数的函数
2.对于没有输入参数的函数,在句柄调用时,在句柄变量后的圆括号中不填写变量名即可,即 F_Handle()
0:0.25pi:2pi代表从0到1/4pi到2pi
函数句柄的操作函数
函数名称 | 函数功能 |
---|---|
function(funhandle) | 返回一个结构体,存储了函数的名称、函数类型(simple或overloaded), 以及函数M文件的位置 |
func2str(funhandle) | 将函数句柄转换为函数名称字符串 |
str2func(str) | 将字符串代表的函数转换为函数句柄 |
save filename.mat funhandle | 将函数句柄保存在*.mat文件中 |
load filename.mat funhandle | 把*.mat文件中存储的函数句柄加载到工作区 |
isa(var,‘function_handle’) | 检测变量 var 是否时函数句柄 |
usequal(funhandlea,funhandleb) | 检测两个函数句柄是否对应于同于一个函数 |
函数句柄的基本操作
1.5 结构体类型
一个结构体可通过字段存储多个不同类型的数据
结构体相当于一个数据容器,把多个相关联的不同类型的数据封装在一个结构体对象中
一个结构体中可具有多个字段,每个字段又可存储不同类型的数据,通过这种方式就把多个不同类型的数据组织在一个结构体对象中
创建结构体对象的两种方法:
第一种:
直接通过赋值语句给结构体的字段赋值
赋值表达式的变量名使用【结构体名称.字段名称】的形式书写
第二种:
使用结构体创建函数 struct
struct函数的句法形式:
StrArray = struct(‘field1’,var1,‘field2’,var2,…,‘fieldn’,varn)
范例1:
范例2:
范例3:
1.6 数组类型
在MATLAB中进行运算的所有数据类型,都按照数组及矩阵的形式进行存储和运算
阵列强调元素对元素的运算
矩阵采用线性代数的运算方式
Array = i : k
从 i 开始到 k 结束,步长为1的数字序列,即 i,i+1,i+2,…,k
如果 i > k 则返回一个空矩阵
i,k不必是整数,最后一个数≤k
Array = i : j : k
从 i 开始到 k 结束,步长为 j 即 i,i+j,i+2j,i+3j,…,k
如果 j=0 则返回一个空矩阵
i,k不必是整数,最后一个数≤k
Array = linspace(a,b,n)
在区间 [a,b] 上创建一个向量(此向量内有n个元素)
范例:
创建空数组
1.7 单元(Cell)数组类型
1.7.0 概述
单元(Cell)数组是一种广义矩阵
单元数组的创建
方法一:
使用赋值语句创建单元数组
方法二:
利用 cell 函数创建单元数组
cellName=cell(m,n)
创建一个m×n的空单元数组,其中每一个单元均为空矩阵
1.7.1 单元数组的寻访
单元和单元中的内容是两个不同范畴的东西
寻访单元和单元中的内容是两个不同的操作
MATLAB为两种操作设计了相对应的操作对象:
- 单元外标(Cell Indexing)
- 单元内编址(Content Addressing)
C(m,n) 指的是单元数组中第 m 行 第 n 列的单元
C{m,n} 指的是单元数组中第 m 行 第 n 列单元中的内容
1.7.2 单元数组的操作
1.单元数组的合并
范例:
2.单元数组中指定单元的删除
要删除单元数组中知道你给的某个单元,只需将空矩阵赋给某单元
C{m,n} = [ ]
范例:
3.使用 reshape 函数改变单元数组的形状
reshape函数的调用格式:
trimC=reshape(C,M,N)
该函数将单元数组C改变成一个具有M行N列的新单元数组
1.8 map容器类型
1.8.0 map容器类型及map类概述
一个 map 是MATLAB类的一个对象
map 类的所有对象具有3种属性
map类的属性
属性 | 说明 | 默认值 |
---|---|---|
Count | uint64,表示 map 对象中存储的 key/value 对的总数 | 0 |
KeyType | 字符串,表示 map 对象中包括的 key 的类型 | char |
ValueType | 字符串,表示 map 对象中包括的数据类型 | any |
map属性的查看方法
map名+小数点+map的属性名
例如:
为查看mapW对象包括的数据类型,需使用 mapW.ValueType
1.8.1 创建map对象
mapObj = containers.Map({key1,key2,…},{val1,val2,…})
当键值均为字符串时
mapObj = containers.Map({ ‘key1’,‘key2’,…},{val1,val2,…})
范例:
创建一个名为 schedulemap 的map对象来存储下表
星期一 | 星期二 | 星期三 | 星期四 | 星期五 |
---|---|---|---|---|
数学 | 语文 | 历史 | 地理 | 生物 |
创建map对象
1.8.2 查看/读取map对象
查看 map 对象
读取map对象
在对多个键进行访问时,不能使用冒号(:)
冒号操作数必须是实数标量
1.8.3 编辑map对象
1.从 map 对象中删除键值对
remove(‘mapName’,‘keyName’)
范例:
2.添加键值对象
existingMapObj(newKeyName) = newValue
范例:
3.修改键
如果需要在保持值不变的情况下对键名进行更改,首先要删除键名和对应值,然后添加一个有正确键名的新条目
范例:
4.修改值