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常见类型数据操作的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB常见类型数据操作

忽略 GCC“错误:标量初始化器类型的大括号”错误。让他们警告

Matlab-运算符

R语言实战-数据类型-1(标量向量矩阵数组)

matlab如何显示输出数据

matlab怎么显示数据