QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 667|回复: 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:54 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta

    下面举一些具体的例子说明如果对结构数组加以操作。


    【例1-1本例目的一,演示函数fieldnames , getfield , setfield的使用方法;  
                       二,让读者感受到结构数组对应用工具包的影响;   
                       三,演示
    struct函数把“对象”转换为结构的应用。
    本例为获得一个演练的结构,借助Toolbox control 工具包中的tf函数,先产生一个用传递函数描写的LTI线性时不变2输入2输出系统

    1)产生2输入2输出系统的传递函数阵“对象”

    Stf=tf(  {3,2;[4 1],1}, { [1 3 2],[1 1 1];[1 22 1],[1 0] }  )


    Transfer function from input 1 to output...

    3

    #1: -------------

    s^2 + 3 s + 2


    4 s + 1

    #2: ---------------------

    s^3 + 2 s^2 + 2 s + 1

    Transfer function from input 2 to output...

    2

    #1: -----------

    s^2 + s + 1

    1

    #2: -

    s

    2)为本例演示,把上述的LTI对象Stf转换为结构

    SSTF=struct(Stf)       % 把对象转换成结构,并显示结构的组成

    SSTF =

    num: {2x2 cell}

    den: {2x2 cell}

    Variable: 's'

    lti: [1x1 lti]

    3)获得结构数组SSTF的域名

    FN=fieldnames(SSTF) % 获得域名元胞数组FN

    class(FN)     % 检查FN的类别

    FN =

    'num'

    'den'

    'Variable'

    'lti'

    ans =

    cell

    4)获取SSTF.den(2,1)域的内容

    FC=getfield(SSTF,'den',{2,1})     % 相当于FC=SSFT.den(2,1)

    FC{1}                                              % celldisp(FC)的作用大致相当

    poly2str(FC{1},'s'),                       % 为了把多项式显示成习惯的形式

    FC =

    [1x4 double]

    ans =

    1 2 2 1

    ans =

    s^3 + 2 s^2 + 2 s + 1

    5)重新设置SSTF.num(2,1)域的内容

    SSTF.num{2,1}                 % 显示原始情况

    SSTF=setfield(SSTF,'num',{2,1},{[1 3 1]});%   注意“花括号”的使用

    SSTF.num{2,1}                     % 显示被重新设置后的情况

    ans =

    0 0 4 1

    ans =

    1 3 1


    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-22 02:42 , Processed in 0.403869 second(s), 55 queries .

    回顶部