zoukankan      html  css  js  c++  java
  • matlab 怎么建立结构体数组?

    https://zhidao.baidu.com/question/537198107.html

     怎么定义一个结构体数组,使数组的每个元素是一个结构体变量。像这样:a=(1,2)a(1)=struct('name',0,'num',0)a(1)=struct('name',0,'num',0)

    匿名 | 浏览 10361 次
    发布于2013-04-01 17:34 最佳答案
     
    st.a = '1'; st.b = 'gg';   % 建立结构体
    A = cell(1,2); % 建立结构体数组
    A{1} = st; % 数据赋值
    A{2} = st;


    ell元包是matlab中提供的一种数据类型,功能强大。
    关于cell的创建:
    1.跟一般创建举证一样,直接使用C = {A B D E}这种形式,不过这里把"[]"改成了}"{}"
    2.使用cell创建cell,C= {C1 C2},这里C1和C2都是cell类型,直接把C1 C2作为一个cell得到的C3是一个1x2的cell数组;使用C3 = [C1 C2],是使用C1和C2的内容来创建cell数组
    3.使用cell函数,A=cell(2,2),创建一个空的2x2的cell矩阵.
    关于cell的访问:
    1.X = C(s)使用这种"()"形式的返回的是cell类型
    2.X = C{s}使用这种"{}"形式的返回的是cell中的内容
    3.其他的基本上与通常的数组.矩阵访问一样了
    4.A{1,1}(2,3:end)访问的是A中的第一个cell里面内容的第2行的第三个元素以后的所有元素
    5.A{1,3}.name访问的是A中的A{1,3}cell里面结构的name值
    6.cell的图形化显示使用命令cellplot(A)即可
    关于cell的删除:
    1.cell(1)=[]删除第一个cell,不能使用cell{1}=[],这是把第一个cell内容置空没有删除
    >>C4={C1,C2,C3}
    C4 =
    {3x2 cell} {3x3 cell} {3x1 cell}
    >> C4(1)=[]
    C4 =
    {3x3 cell} {3x1 cell}
    2.cell(:)=[]删除所有的cell,其他的删除一次类推
    >> C4(:)=[]
    C4 =
    {}
    B={[1;2]}
    这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2]
    要引用里面的数据只要在大括号里写上对应的下标即可,如
    B{1}
    下面我们给B再加个元素,我们可以这样定义
    B(2)={'hello'}
    也可以利用引用的方法定义
    B{2}='hello'
    第二种方法比第一种方法更方便所以更常用。
    这样B就有两个元素了,B(1)是{[1;2]},B(2)是{'hello'},每个元素都是cell型的(注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是'hello')
     
  • 相关阅读:
    缓动公式整理(附:C#实现及WPF原版对比)
    [C#] (原创)一步一步教你自定义控件——02,ScrollBar(滚动条)
    连线
    2020.10.18:YC中学模拟赛
    【并查集】一种与时间赛跑的巧妙算法
    SpringBoot-启动流程
    Java中的ReentrantLock锁
    Tomcat-如何用线程池处理http并发请求
    Tomcat-如何建立连接获取http请求
    关于数据结构
  • 原文地址:https://www.cnblogs.com/carl2380/p/6274430.html
Copyright © 2011-2022 走看看