Matlab特殊变量

Matlab特殊变量



单元型变量

以单元为元素的数组,每个元素称单元,由'{}'创建,其数据通过下标进行引用。

单元型变量创建

直接用'{}'进行创建,行之间元素用逗号隔开,使用冒号进行分行。

A=[1 2; 3 4];
B=3+2*i;
C='efg';
D=2;
E={A,B;C,D}

E =

  2×2 cell 数组

    {2×2 double}    {[3.0000 + 2.0000i]}
    {'efg'     }    {[               2]}

使用cell函数创建一个空cell数组,再通过访问下标进行赋值。

cell(n)生成nn阶的单元数组
cell(m,n)生成m
n阶的单元数组
cell(m,n,p,...)生成mnp*...阶的单元数组
cell(size(A))生成与A相同形式的单元数组

clear all;
E=cell(1,3);
E{1,1}=[1:4];
E{1,2}=3+2*i;
E{1,3}=2;
E

E =

  1×3 cell 数组

    {[1 2 3 4]}    {[3.0000 + 2.0000i]}    {[2]}

单元型变量引用

使用大括号进行下标访问指定元素,使用小括号进行下标访问时显示指定元素的压缩形式。

clear all;
E=cell(1,3);
E{1,1}=[1:4];
E{1,2}=3+2*i;
E{1,3}=2;
E{1}
E(1)

ans =

     1     2     3     4


ans =

  1×1 cell 数组

    {[1 2 3 4]}

相关函数

函数 说明
cell 生成单元型变量
cellfun 对单元型变量中的元素作用的函数
celldisp 显示单元型变量中的内容
cellplot 用图形显示单元型变量的内容
num2cell 将数值转换成单元型变量
deal 输入/输出处理
cell2struct 将单元型变量转为结构型变量
struct2cell 将结构型变量转为单元型变量
iscell 判断是否为单元型变量
reshape 改变单元数组的尺寸
  1. 函数celldisp具体应用形式如下
    celldisp(c)显示单元数组c的内容
    celldisp(c,'name')显示内容的同时,将窗口显示的名称改为'name',而非传统的ans
  2. 函数cellplot以图形方式显示单元数组,使用方式与celldisp相同
    cellplot(c,'legend')显示内容的同时,带有图形注释
clear all;
E={[1 2 3 4],3+2*i,2}
cellfun('islogical',E)
celldisp(E,'name')
cellplot(E,'legend')

E =

  1×3 cell 数组

    {[1 2 3 4]}    {[3.0000 + 2.0000i]}    {[2]}


ans =

  1×3 logical 数组

   0   0   0

 
name{1} =
 
     1     2     3     4

 
 
name{2} =
 
   3.0000 + 2.0000i

 
 
name{3} =
 
     2

cellplot运行结果演示

结构型变量

结构型变量创建

调用格式 说明
s=struct 创建不包含任何字段的(1*1)结构型变量
s=struct(field,value) 创建具有指定字段和值的结构体变量
s=struct([]) 创建一个空结构体变量
s=struct(field,values1,filed2,values2,...) 创建一个带有多个字段的结构体变量
s=struct(obj) 以obj为副本创建结构体变量
clear all;
mn=struct('color',{'red','black'},'number',{1,2})
mn(1)
mn(2)
mn(2).color

mn = 

  包含以下字段的 1×2 struct 数组:

    color
    number


ans = 

  包含以下字段的 struct:

     color: 'red'
    number: 1


ans = 

  包含以下字段的 struct:

     color: 'black'
    number: 2


ans =

    'black'

注意结构体变量中的所有value尺寸必须相同或为标量

结构体变量相关函数

函数 说明
struct 创建结构体变量
filednames 得到结构体变量的属性名
getfield 得到结构体变量的属性值
setfiled 设定结构体变量的属性值
rmfield 删除结构体变量的属性
isfield 判断是否为结构体变量的属性
isstruct 判断是否为结构体变量
posted @ 2025-05-16 10:40  DuckingWJ  阅读(24)  评论(0)    收藏  举报