Matlab中的数据类型 一览

  1. 数值类型:—转化函数/取整函数/数值计算函数
    整数类型(8/16/32/64位,有/无符号)–比如uint8表示无符号整数,代表0~2^2-1, 即0~255,一般在图像处理时使用。
    浮点数类型(单精度、双精度)
    无穷量(Inf)\非数值量(NaN)

  2. 逻辑类型:logic 结果1(true), 0(faulse)
    a.关系运算符 < <= > >= ==(等于) ~=(不等于);
    b. 逻辑运算符
    &(与)、或(|)、非(~)、&& 、|| (||和&&为值运算, |与&为向量运算。A & B (A 和 B 都被计算),A && B (只有当A是true的情况下才会计算B,有先后的计算顺序))
    xor(x,y):异或函数:x,y同为0/1时,返回0,否则为真;

any(x):确定任何数组元素是否为非零(即寻找非零元素,一旦发现,则返回1。any 是逻辑or运算符的原生扩展). 1)如果是非零向量[0 1 0 2 0 3],any(x)返回1。2)如果是矩阵,则将各列视为向量,依次判断,any([0 1 0;2 0 3]),结果为[1 1 1] ; if any(判断语句)用在if语句中,比较有用。3)B=any(A,dim) 测试列(dim=1)或者行(dim=2)上是否有非零向量。
all(x):确定所有的数组元素是为非零还是 true(all是逻辑and运算符的原生扩展). 用法类似any。当元素都是非零时,才返回1. 如矩阵的向量(列),全都非0,则返回1;
% any all函数,可以应用在if判断语句中.
c. 逻辑测试/检测函数
(matlab中含有大量该函数, is*通配符,对某个量的状态进行检测。可以是和数组/矩阵/字符处理相关,也可以是结构体、表、类,或者是文件/日期时间等有关
isletter:元素为字母,返回真值;
isstr:参量是一个字符串,返回真值;
isspace:元素为空格字符,返回真值;
iscell: 判断是否为单元数组;
iscellstr:判断是否是字符串单元数组;A={‘aa’,‘bb’;‘cc’,’'dd}
ischar(A): 判断是否为字符串;
empty(A):判断数组是否为空;
isequal(A,B):当A,B中的元素一一对应,则为1;
[Lia, Loc]=ismember(A,B) 判断A中的元素是否在B中找到,0表示不存在,1表示存在;该函数,返回一个与A尺寸相同的逻辑值列表Lia,也可以返回一个Loc表(代表A中元素在B中的位置列表Loc,或者称之为索引列表). %% Lia,Loc大小均与A相同

  1. 字符/字符串:单引号
    ‘hello’ *字符串 1X5 char;‘h’字符 1X1char;
    一个字符串是存储在一个行向量的文本。ASCII值: abs(str)
    strcmp字符串比较函数

  2. 数组类型(数组/矩阵): [ ]
    数组元素多样:数值,字符串,指针等

  3. 单元数组cell类型: { }
    cell数组的每一个元素称为一个单元;每个单元可包含任意数组(数值/字符串/结构体,空值,或者另外一个单元数组);----灵活性好
    % cell中的数据可以是单一的(数值数组、字符串、结构体、单元数组),也可以是几种数据类型的复杂组合。
    比如,cellstr(A):把字符数组A转化为字符向量元胞数组
    A = ['abc ';‘defg’;'hi '] —> 3X4char(有维度大小要求,这里’abc‘,'hi’分别后补了1和2位空格符)
    B = {‘abc’;‘defg’;‘hi’} —>3*1cell(没有维度大小限制,更灵活)
    把A,B写入一个excel中会发现A中每个字符占用一个单元格,而B是每个子cell占用一个单元格。
    –>创建方法:
    a. 赋值语句创建(分内容创建、单元索引创建)
    1) 内容创建:一个一个元素进行创建,用大括号{}
    c{1,1}=[2 3;4 1]; c{1,2}=[ ];
    c{2,1}=‘abcd’; c{2,2}=[1 2];
    2)单元索引创建:一个一个单元进行创建,用小括号()
    c(1,1)={[2 3;4 1]}; c(1,2)={[ ]};
    c(2,1)={‘abcd’}; c(2,2)={[1 2]};
    b 使用cell函数创建
    cellname=cell(m,n) %创建m
    n空单元数组
    对cellname赋值操作见上;
    c. 使用大括号{ }直接创建并赋值–简单
    A={‘acv’,[1 2 3];pi, [1 2 3;4 5 6]};

    –>单元数组寻访
    寻访单元数组内的单元:C(m,n) 数组C中第m行第n列单元;
    寻访单元数组中第m行第n列单元的内容:C{m,n};

    –>*单元数组操作
    合并/删除/改变形状reshape(C,m,n)
    –>单元数组显示
    celldisp() 全部显示cell细节内容?
    cellpot() 以图像方式展现(红色代表占用内存)

  4. 结构体struct类型(数据容器)
    一个结构体可以通过字段存储不同类型的数据
    —> 创建方法:
    a. 结构体名称.字段名称
    student.name=‘JOE’;
    student.grade=6;
    student.subject={‘chinese’,‘math’,‘english’};
    student.result={99,99,100,89};
    b. struct函数创建
    struct01=struct(‘filed1’,‘value1’,‘filed2’,‘value2’,…‘filedn’,‘valuen’,)

  5. 函数句柄

说明:
% ans,是answer的缩写。当结算结果没有赋给确定的变量时,默认在结果前显示“ans =”;

%():用于引用数组元素;用于函数输入变量列表;用于确定算术运算的先后顺序; 用于cell操作;
[ ]: 用于构成向量和矩阵;用于函数输出列表
{ }: 用于构成元胞数组

% char(number) 与num2str(number): 作用都是将数转换成字符串
差别:char(number) 是将number按照ASCII表映射成字符, 单个字符
num2str(number): 是将number转成字符串类型。
例子:char(67) —>结果返回单个字符C,11 char
num2str(67)—>结果返回字符串’67’,1
2char

% max运算:数组的最大元素(常用的是一维数组、二维数组)
M=max(A) 返回数组的最大元素
a. 若A是向量(一维的),则max(A)返回A最大值;
b. 若A是矩阵(二维),则max(A),返回一个行向量,行向量里的每个元素是对应每列的最大值。等同max(A,[],1)
【a b c;a1 b1 c1;a2 b2 c2】
M=max(A,[], dim): 返回指定维度的最大值向量. max(A,[],2) 返回列向量,其中的每个元素是对应行的max值。
求矩阵最大值,可以用max(max(A)),也可以用max(A,[],[1 2]);
[M I]=max(A,…). 除了返回最大值向量,还返回其位置信息。。

% 若A是m*n的矩阵, A(:)语法将 A 的元素转换成单列向量;

Matlab数据类型对应函数一览

你可能感兴趣的:(学习,matlab)