QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 650|回复: 0
打印 上一主题 下一主题

结构数组的操作函数 2——例题(二)

[复制链接]
字体大小: 正常 放大

413

主题

36

听众

1854

积分

升级  85.4%

  • TA的每日心情
    开心
    2019-9-18 21:55
  • 签到天数: 258 天

    [LV.8]以坛为家I

    社区QQ达人

    群组2015国赛冲刺

    群组2016美赛公益课程

    群组国赛讨论

    群组第三届数模基础实训

    群组Matlab讨论组

    跳转到指定楼层
    1#
    发表于 2015-8-10 20:59 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    【例1-2】本例演示结构数组SSTF的扩充和收缩。(本例以例1-1的运行为基础。)
    1)原结构是一个“单结构”
    size(SSTF)
    ans =
    1 1
    2)演示结构的扩充
    SSTF(2,2)=struct( tf(1,[1 1]) )     % 1/(s+1)放在第2行第2列结构中
    size(SSTF)
    SSTF =
    2x2 struct array with fields:
    num
    den
    Variable
    lti
    ans =
    2 2
    3)演示结构数组的收缩:删除结构数组的第1
    SSTF( 1,Smile=[]                   % 收缩成为 的结构
    S22n=SSTF(1,2).num,S22d=SSTF(1,2).den   % 取出第2结构num域和den域的内容
    printsys(S22n{1}, S22d{1} )           % 显示成习惯的表达形式
    SSTF =
    1x2 struct array with fields:
    num
    den
    Variable
    lti
    S22n =
    [1x2 double]
    S22d =
    [1x2 double]
    num/den =
    1
    -----
    s + 1
    【例1-3】对结构数组进行域的增添和删减操作。
    1)创建结构数组
    clear,fork=1:10;department(k).number=['No.',int2str(k)];end
    department
    department =
    1x10 struct array with fields:
    number
    2)增添域:在数组中任何一个结构上进行的域增添操作,其影响遍及整个结构数组
    department(1).teacher=40;department(1).student=300;
    department(1).PC_computer=40;
    department
    department =
    1x10 struct array with fields:
    number
    teacher
    student
    PC_computer
    3增添子域的操作只影响被操作的那个具体结构,而不是影响整个结构数组
    department(2).teacher.male=35;department(2).teacher.female=13;
    D2T=department(2).teacher     % 2结构teacher域包含两个子域
    D1T=department(1).teacher     % 1结构teacher域仅是一个数
    D2T =
    male: 35
    female: 13
    D1T =
    40
    4)删除子域的操作也只影响被操作的那个具体结构
    department(2).teacher=rmfield(department(2).teacher,'male');
    department(2).teacher
    ans =
    female: 13
    5删除域的操作是对整个结构数组实施的
    department=rmfield(department,'student')   % 删除一个域
    department =
    1x10 struct array with fields:
    number
    teacher
    PC_computer
    department=rmfield(department,{'teacher';'PC_computer'})%删除2个域
    department =
    1x10 struct array with fields:
    number


    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    数学中国版主团队!
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-21 20:28 , Processed in 0.287211 second(s), 50 queries .

    回顶部