MATLAB常见类型数据操作
Posted 嗑药的皮皮虾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB常见类型数据操作相关的知识,希望对你有一定的参考价值。
A=[ ]; 创建矩阵,列用逗号,隔开,行用分号;隔开。
A= ; 创建cell元胞数组,元素用逗号,隔开。
A=’a’; 单引号' '创建char字符向量。
A=”a”; 双引号" "创建string字符串。
C=[A,B]; 串/列连接两个元素,行数不变列数增加,要串联的数组的维度要一致即行数一致。
C=[A;B]; 行连接两个元素,行数增加列数不变,元素列数要一致。
class()函数查看数据类型。
char(字符数组/字符向量)
使用单引号' '创建字符向量:C = 'Hello, world'
C=char(A)
将数组 A
转换为字符数组
-
如果
A
是数值数组,则char
将数值转换为字符。有效数值范围从 0 到 65535,并且对应于 Unicode® 代码单元。值 0 到 127 还对应于 7 位 ASCII 字符。char
函数:-
将非整数值向零舍入。
-
将小于 0 的值视为 0。
-
将大于 65535 的值视为 65535。
-
-
如果
A
是字符数组,则char
返回未改变的A
。 -
如果
A
是字符数组元胞数组,则char
将该元胞数组转换为字符数组。元胞数组中每个字符数组的每一行将变成C
中的一行,并根据需要自动用空格填充。
C=char(C1,C2)
将两个字符向量C1、C2组合成一个2行C1、C2最大列数为列数的矩阵。
注意:若C1、C2维度不一致,则使用C=[C1;C2]是错的,因为符号[]不会自动填充空格。
拼接字符向量
1、使用方括号[ ]拼接字符向量
a = 'a';
b = 'b';
c = [a,b]
>>
c =
'ab'
2、使用strcat()函数进行多个字符串的拼接:c = strcat(a,b)
string(字符串/字符串数组/字符串矩阵)
使用双引号" "创建字符串。从 R2017a 开始引入双引号。
str = "Hello, world"
>>
str =
"Hello, world"
创建字符串数组/矩阵,类似创建向量/矩阵,向量/矩阵中一个元素为一个字符串。
str = ["Mercury","Gemini","Apollo";
"Skylab","Skylab B","ISS"]
>>
str = 2x3 string array
"Mercury" "Gemini" "Apollo"
"Skylab" "Skylab B" "ISS"
注意:与 char 函数不同,string 不会将数值视为 ASCII 或 Unicode® 代码点
strings()函数创建空字符串向量/矩阵,类似数值矩阵中的zeros()
str = strings(4)
>>
str = 4x4 string array
"" "" "" ""
"" "" "" ""
"" "" "" ""
"" "" "" ""
cell(元胞数组/矩阵)
使用花括号 创建元胞数组
C = 1,'abc';[1,2;3,4],1,2;3,4
>>
C =
2×2 cell 数组
[ 1] 'abc'
1×1 cell 2×2 cell
使用cell()函数创建元胞数组:C = cell(n) 返回由空矩阵构成的 n×n 元胞数组。
两种元胞索引方式:圆括号( )和花括号
注意:a=C(1)(1)时a仍为元胞类型,a=C11时a为元胞中的内容。
struct(结构体/结构体数组(键值对))
创建结构体有两种方法:圆点表示法和struct()函数法
当有数据要放入新的结构体中时,可以使用圆点表示法创建结构体,每次为结构体命名一个字段:
s.a = 1;
s.b = 'A','B','C';
s
>>
s =
包含以下字段的 struct:
a: 1
b: 'A' 'B' 'C'
s = struct(field,value)
创建具有指定字段和值的结构体数组。value
输入参数可以是任何数据类型,例如数值、逻辑值、字符或元胞数组。
s = struct(field1,value1,...,fieldN,valueN)
创建多个字段。集合 value1,...,valueN
中的任何非标量元胞数组必须具有相同的维度。
注意:field字段不能是数字,只能是字符向量。
结构体索引有两种方法:如s.field和s.('field')
s=struct('name','Tom','age',1);
s.name
s.('name')
>>
ans =
'Tom'
ans =
'Tom'
logical(逻辑变量)
1表示逻辑真保留字为true,0表示逻辑假保留字为false。
x=[true false true false]
>>
x =
1×4 logical 数组
1 0 1 0
逻辑变量当作索引值,逻辑变量非常重要的一个作用是可以作为变量索引值。
a = [0,1,2,3,4];
b = [4,3,2,1,0];
L = a>b
c=a(L)
>>
L =
1×5 logical 数组
0 0 0 1 1
c =
3 4
以上是关于MATLAB常见类型数据操作的主要内容,如果未能解决你的问题,请参考以下文章