欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    matlab7教程课件第3章单元数组和结构.ppt

    • 资源ID:70799673       资源大小:315.99KB        全文页数:46页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    matlab7教程课件第3章单元数组和结构.ppt

    MATLAB 7.0从入门到精通主要讲述内容第第1章章 MATLAB简介简介第第2章章 数值运算数值运算第3章 单元数组和结构第4章 字符串第5章 符号运算第6章 MATLAB绘图基础第7章 程序设计第8章 计算方法的MATLAB实现第9章 优化设计第10章 Simulink仿真初探第3章 单元数组和结构 3.1 单元数组单元数组就是每一个元素为一个单元的数组。每个单元可以包含任意数据类型的MATLAB7.0数组。例如,单元数组的一个单元可以是一个实数矩阵,或是一个字符串数组,也可以是一个复向量数组。1、单元数组的生成直接生成单元数组:用类似矩阵的记号将给复杂的数据结构纳入一个变量之下。和矩阵中的圆括号表示下标类似,单元数组由大括号表示下标。左标志法:左标志法就是把单元标志放在左边。c1,1=abc;c1,2=eye(2);c2,1=1 2;3 4;c2,2=1 2;cc=abc 2x2 double 2x2 double 1x2 double右标志法:右标志法就是把单元标志放在右边。c(1,1)=abc;c(1,2)=eye(2);c(2,1)=1 2;3 4;c(2,2)=1 2;cc=abc 2x2 double 2x2 double 1x2 double上面的单元数组也可由下面的方法直接得到:c=abc,eye(2);1 2;3 4,1 2c=abc 2x2 double 2x2 double 1x2 double要显示单元数组可以直接在命令窗口中输入单元数组的名字,也可以使用函数celldisp(c)来输出;想得到单元数组中某一个单元的值时,可以采用c(m,n)或cm,n的格式输出。但是它们得到的结果表示形式是不同的。函数celldisp(c)更适用于具有大量数据的单元数组的显示。cm,n 和celldisp(c)显示的结果形式相同。cc=abc 2x2 double 2x2 double 1x2 double celldisp(c)c1,1=abc c2,1=1 2 3 4 c1,2=1 0 0 1 c2,2=1 2 c(1,1)ans=abc c1,1ans=abc c(1,2)ans=2x2 double c1,2ans=1 0 0 1 c(2,1)ans=2x2 double c2,1ans=1 2 3 4 c(2,2)ans=1x2 double c2,2ans=1 2使用cell函数生成单元数组:cell(n)生成一个n*n阶的置空单元数组;cell(m,n)或cell(m,n)生成一个m*n阶的置空单元数组;cell(m,n,p,)或cell(m,n,p,)生成一个m*n*p阶的置空单元数组;cell(size(a)生成与a同形式的单元型置空矩阵;a=cell(2)a=a1,1=1 2;2 2 或a(1,1)=1 2;2 2a=2x2 double a1,2=MATLAB7.0a=2x2 double MATLAB7.0 a2,1=pekinga=2x2 double MATLAB7.0 peking a2,2=1 2a=2x2 double MATLAB7.0 peking 1x2 double2、单元数组的操作celldisp(a)显示单元型变量a的内容;celldisp(a,name)在窗口中显示的单元型变量的内容的名称为name。a=1 2,1 2 3;2 3,2 3 4;celldisp(a,hh)hh1,1=1 2 hh2,1=2 3 hh1,2=1 2 3hh2,2=2 3 4h=cellplot(c)返回一个向量,这个向量综合体现了表面、线和句柄。h=cellplot(c,legend)返回一个向量,这个向量综合体现了表面、线和句柄,并有图形注释。a=1 2;2 2,MATLAB7.0;peking,1 2;h=cellplot(a)h=152.0029 153.0024 154.0024 155.0024 156.0024 157.0024 158.0024 a=1 2;2 2,MATLAB7.0;peking,1 2;h=cellplot(a,legend)h=152.0035 153.0026 154.0026 155.0026 156.0026 157.0026 158.0026使用c=a,b将两个单元数组集成一个更大的数组。使用c(n,:)=删除单元数组的第n行。reshape(x,m,n)和reshape(x,m,n)将单元数组x的所有元素分配到一个m*n的单元数组,但单元数组元素不是m*n时,返回错误信息。行列数不相等的话,仍是按列优先的原则。3.2 结构型变量结构体是根据属性名组织起来的不同类型数据的集合。结构体和单元数组的共同之处在于它们都提供了一种分级存储机制来存储不同类型的数据,不同之处是组织数据的方式不一样。结构体数组里的数据是通过属性名来引用的,而在单元数组里,数据是通过单元数组下标引用来操作的。1、结构型变量的生成直接输入法:采用直接输入法时,在给结构体成员元素直接赋值的同时定义该元素的名称,并使用点儿将结构型变量和成员元素名连接。student.test=99 56 96 87 67 69 87 76 92;student.name=Huang Liang;student.weight=67;student.height=1.68;student.num=034093;student.add=School of civil engneering.Tsinghua university;输入student会出现:studentstudent=test:99 56 96 87 67 69 87 76 92 name:Huang Liang weight:67 height:1.6800 num:34093 add:School of civil engneering.Tsinghua university可以通过以下形式语句添加新的结构变量(另外的学生数据)。student(2).test=99 65 88 78 76 98 75 96 59;%系统将默认之前的student为student(1)student(2).name=Wei Huan;student(2).weight=50;student(2).height=1.58;studen(2)t.num=034999;student(2).num=034999;student(2).add=School of Psychology.Chongqing university;student(2).tel=02361701456;此时,输入student将只得到该结构的成员变量名而不显示内容 studentstudent=1x2 struct array with fields:test name weight height num add tel可以继续在窗口中输入student(1)和student(2)来查询其具体内容。student(2)ans=test:99 65 88 78 76 98 75 96 59 name:Wei Huan weight:50 height:1.5800 num:34999 add:School of Psychology.Chongqing university tel:02361701456使用struct函数生成结构变量Struct_array=struct(field,v1,field2,v2,),其中,field为各成员变量名,v1等为对应的各成员变量的内容,但是必须配对出现。student=struct(test,99 65 88 78 76 98 75 96 59,name,Wei Huan,weight,50,height,1.5800)student=test:99 65 88 78 76 98 75 96 59 name:Wei Huan weight:50 height:1.5800student=struct(test,99 65 88 78 76 98 75 96 59,name,Wei Huan,weight,50,height)?Error using=structField and value input arguments must come in pairs.student=struct(fen,86,gao,176)student=fen:86 gao:176 student(2)=struct(fen,90,gao,170)student=1x2 struct array with fields:fen gao2、结构变量的操作在结构体变量中添加成员变量student(1).gender=Male;student(1).age=25;student(2).gender=Female;student(2).age=21;在结构体变量中删除成员变量s=rmfield(s,field)从m*n阶的结构体变量s中删除指定的成员变量field。但该函数仍保留原有结构形式。s=rmfield(s,fields)当fields是字符型变量或单元型变量时,将一次性删除多个成员变量。s=rmfield(student,name)s=test:99 56 96 87 67 69 87 76 92 weight:67 height:1.6800 num:34093 add:School of civil engneering.Tsinghua university s=rmfield(student,weight,test)s=name:Huang Liang height:1.6800 num:34093 add:School of civil engneering.Tsinghua university在结构体变量中调用成员变量结构变量中的任何信息,可以通过“结构体名称+成员变量名”的格式进行取出。student(1).test需要注意不能同时从多个结构体变量中取出某个成员变量。例如:student.test是错误的。如果用户要调用所有学生的名字,需使用循环语句。for i=1:length(student)disp(student(i).name);endHuang LiangWei Huangetfield函数取得当前存储在某个成员变量中的值。表达式f=getfild(s,field)返回指定成员变量的内容,与表达式f=s.field等价。setfield函数给某个成员变量插入新的值。表达式s=setfield(s,field,v)将成员变量field的值设置为v与表达式s.field=v等价。c=getfield(student,name)c=Wei Huan c=setfield(student,name,Tom)c=test:99 65 88 78 76 98 75 96 59 name:Tom weight:50 height:1.5800names=fieldnames(s)返回结构体s中的成员变量名称。isfield(s,field)判断field是否是结构体s中的成员变量名称,是输出1,不是输出0。isstruct(s)判断s是否是结构体数组,是输出1,不是输出0。student=struct(test,99 65 88 78 76 98 75 96 59,name,Wei Huan,weight,50,height,1.5800);names=fieldnames(student)names=test name weight height student=struct(test,99 65 88 78 76 98 75 96 59,name,Wei Huan,weight,50,height,1.5800);r=isfield(student,test)r=1 r=isfield(student,num)r=0 student=struct(test,99 65 88 78 76 98 75 96 59,name,Wei Huan,weight,50,height,1.5800);a=10;isstruct(student)ans=1 isstruct(a)ans=0

    注意事项

    本文(matlab7教程课件第3章单元数组和结构.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开