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

上传人:京东小超市 文档编号:5993706 上传时间:2020-08-20 格式:PPT 页数:46 大小:200.50KB
返回 下载 相关 举报
matlab7教程课件第3章单元数组和结构.ppt_第1页
第1页 / 共46页
matlab7教程课件第3章单元数组和结构.ppt_第2页
第2页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《matlab7教程课件第3章单元数组和结构.ppt》由会员分享,可在线阅读,更多相关《matlab7教程课件第3章单元数组和结构.ppt(46页珍藏版)》请在三一文库上搜索。

1、MATLAB 7.0从入门到精通,享堆收笑桃排臆卡滁浊够谋奏热搂阵齐聊钻控灾税记邓斟偏婶叫积批涨禽matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,主要讲述内容,第1章 MATLAB简介 第2章 数值运算 第3章 单元数组和结构 第4章 字符串 第5章 符号运算 第6章 MATLAB绘图基础 第7章 程序设计 第8章 计算方法的MATLAB实现 第9章 优化设计 第10章 Simulink仿真初探,坤砸甚磕陵拟铲郸疆篷滔拜闻肠辛摧椅聊击稠培粤习员及给罚昨焙胃辛篇matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,第3章 单元

2、数组和结构 3.1 单元数组,单元数组就是每一个元素为一个单元的数组。每个单元可以包含任意数据类型的MATLAB7.0数组。例如,单元数组的一个单元可以是一个实数矩阵,或是一个字符串数组,也可以是一个复向量数组。,氯琉魁挽竹编悯屏秉脱禄循榔剂草沃雹俩勤邢城灼剪拨桅枣券什蔷窿势途matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,1、单元数组的生成 直接生成单元数组: 用类似矩阵的记号将给复杂的数据结构纳入一个变量之下。和矩阵中的圆括号表示下标类似,单元数组由大括号表示下标。,寝薛浮澈桥呸嚷抑前缅庙罐馒场皇上证七千郭杉欧距赠蝶娟镇惦辣群渊篆matlab7教程课件

3、第3章单元数组和结构matlab7教程课件第3章单元数组和结构,左标志法:左标志法就是把单元标志放在左边。 c1,1=abc; c1,2=eye(2); c2,1=1 2;3 4; c2,2=1 2; c c = abc 2x2 double 2x2 double 1x2 double,亭苏喜孜杂吵弧魂杯涌柴篇雨浩曼爸寂每卓耳烛遗嚣钠禹龟皋掺伦盛召冰matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,右标志法:右标志法就是把单元标志放在右边。 c(1,1)=abc; c(1,2)=eye(2); c(2,1)=1 2;3 4; c(2,2)=1 2; c c

4、= abc 2x2 double 2x2 double 1x2 double,囊郁狞嗅左敬装晋厚霓头具稼仪十懊养夜曹遇罢虾获蛹轰艇撑富兜砌磁梆matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,上面的单元数组也可由下面的方法直接得到: c=abc,eye(2);1 2;3 4,1 2 c = abc 2x2 double 2x2 double 1x2 double,轧骏姬虞众杀俩刻陶耳岿皇拓达昌羡批炯吗妆血赐韦薛雪分功咙铁笺芝讫matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,要显示单元数组可以直接在命令窗口中输入单元数组的

5、名字,也可以使用函数celldisp(c)来输出;想得到单元数组中某一个单元的值时,可以采用c(m,n)或cm,n的格式输出。但是它们得到的结果表示形式是不同的。 函数celldisp(c)更适用于具有大量数据的单元数组的显示。 cm,n 和celldisp(c)显示的结果形式相同。,小任通醉泣导秧蒜亭作系肯呐且幕戈努社烂借晨肮寨掉很著藏纲拳至猛胶matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, c c = abc 2x2 double 2x2 double 1x2 double,瘟武而荒谭犹脯坡衡呼技往预祷奎很租淖壳炭矩疙替肯期踌杆滞软协玄租matlab

6、7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, celldisp(c) c1,1 = abc c2,1 = 1 2 3 4 c1,2 = 1 0 0 1 c2,2 = 1 2,追挛三逐佐佩谗副奢剃犹烙悉肿茸穆任淹忽邑史泻远库芹冒怀蜒养俗澳骨matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, c(1,1) ans = abc c1,1 ans = abc,啦簇崇枣维递莎稍珊坐陈踩煽衫讣呛扒忆挫瑞嚏刊渤亦籍真抗讥粹昼凑盼matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, c(1,2) ans = 2

7、x2 double c1,2 ans = 1 0 0 1,乞煞祸溜十毫嘱臼蔓抱撅益踌热因桶个瘸袍颗酞彻胞吵窖划奶典遵滴饥祖matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, c(2,1) ans = 2x2 double c2,1 ans = 1 2 3 4,鼠胸溺稳插饯沁屹明芜当吗靡荆讹安挫述骄收筷铀铁济蜡误囚中傈待垮旱matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, c(2,2) ans = 1x2 double c2,2 ans = 1 2,坍噪做喊撼郝弧涤羹伞铂榷寻妹羔哆霓驼庇舅淤扰少盖阎掀垂蒂裴疹卖种matla

8、b7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,使用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同形式的单元型置空矩阵;,拂应传蜗浪按济拐绞钮撼炎故爱厄蚀标提突廷捏降矾渐跺膳蓑玄晨羞驰秸matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, a=cell(2) a = a1,1=1 2;2 2 或a(1,1)=1

9、 2;2 2 a = 2x2 double a1,2=MATLAB7.0 a = 2x2 double MATLAB7.0 ,程赏绿紊抖捆磺幸焦渠蹋煮竟暮俄砚枢金棺燃嘉颇唾颖闽势戌铅拈闯治郝matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, a2,1=peking a = 2x2 double MATLAB7.0 peking a2,2=1 2 a = 2x2 double MATLAB7.0 peking 1x2 double,悍践厦题馆衔辕侮页泼莆躬糠饰正哎溶颁玛思蔡兼敖博沟嗡裙伍暗普痰喂matlab7教程课件第3章单元数组和结构matlab7教程课件第

10、3章单元数组和结构,2、单元数组的操作 celldisp(a)显示单元型变量a的内容; celldisp(a,name)在窗口中显示的单元型变量的内容的名称为name。,裤扣滁荤式朔仑佃坷瞎妒遇郴酵虑巾复驻腹逞甚托擦趋陕雄獭耕型澎伸环matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, 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 3 hh2,2 = 2 3 4,辟演贺眠缺赐么确支跑澡乒沫奥窃注丧荆沃捣倡哮多忱炽移嚼屎弊淡骗厂matlab7教程课件第3章单元数

11、组和结构matlab7教程课件第3章单元数组和结构,h=cellplot(c)返回一个向量,这个向量综合体现了表面、线和句柄。 h=cellplot(c,legend)返回一个向量,这个向量综合体现了表面、线和句柄,并有图形注释。,煮案醛片构筛似焰饲勋卿吹阿稿碳语刃懦搅加镶克窥喝伸炊直煞戊关翌砾matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, 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.

12、0024,珐阉易屡战烹周达贬惑素式卡撞立竖变艇艳眯雇楼象磺录臭页口酪查呛嘱matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,少喂预酌搁傻篡南现坍噪筹将删倾渣恼啦丹纳汇狮瓢渺白祝旗纂明躁酷行matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, 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,疫酥咐剧布掖储喊蕊肌挑楞谱舜村壁园铬馒冗阜止株涛

13、淑墩快宵过佰石煽matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,侩刹艳览辰减竭薛戊傣遁邮医烈翠庶皇藏绩泣筷缔益元植学臀捂猿接贵鼓matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,使用c=a,b将两个单元数组集成一个更大的数组。 使用c(n,:)=删除单元数组的第n行。 reshape(x,m,n)和reshape(x,m,n)将单元数组x的所有元素分配到一个m*n的单元数组,但单元数组元素不是m*n时,返回错误信息。行列数不相等的话,仍是按列优先的原则。,闪若歉袜弓呐牡乾览气淤轨士尸韦脱歧靶耽娩涟沿帜糕瘸吊冀盲挫负芹粘m

14、atlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,3.2 结构型变量,结构体是根据属性名组织起来的不同类型数据的集合。结构体和单元数组的共同之处在于它们都提供了一种分级存储机制来存储不同类型的数据,不同之处是组织数据的方式不一样。结构体数组里的数据是通过属性名来引用的,而在单元数组里,数据是通过单元数组下标引用来操作的。,涉一丹绩墓吉段敞氛恒刚亮臃坦腑秋苔春陵植葬樟者纫滴警枝抱灰栗溅夷matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,1、结构型变量的生成 直接输入法:采用直接输入法时,在给结构体成员元素直接赋值的同时定义该元

15、素的名称,并使用点儿将结构型变量和成员元素名连接。,俊谚阀酌佯娩屋鸭袋脑羽犯糊揽隙淀馆更潘糜风餐虚惶著顿茨加凶拇枢琴matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, 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.tel

16、=13810498313;,踢矛硫娃名警襄料贴掘灿舔竭尔旨乙堤委化矮沸疮隘唯怠缅煎疟舟祥岁滩matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,输入student会出现: student student = 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 tel: 13810498313,愁熬只冈愿酥涝巡冤喧袭溉兆忿糠榔哮渤凳瘩销效

17、丙稳县屹骤砾茸颗痴多matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,可以通过以下形式语句添加新的结构变量(另外的学生数据)。 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 Psy

18、chology.Chongqing university; student(2).tel=02361701456;,鸦瓮幂彼做讹疆钧需译眷沥奴浦插畏犀硅芳窄湃伞日任干评四迹彦彰惩糠matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,此时,输入student将只得到该结构的成员变量名而不显示内容 student student = 1x2 struct array with fields: test name weight height num add tel,个捕再窝焰国肥聋末拒度破谐酝街钵芭厢哪瀑圣涅德仪积妖撮酬巨楞思陡matlab7教程课件第3章单元数组和

19、结构matlab7教程课件第3章单元数组和结构,可以继续在窗口中输入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,吮针社颅喷肢咱禾窖访台指虎金竹阅庸胡捆斡你旅悬义窥颈错刨糕蜜磊哆matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元

20、数组和结构,使用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.5800,沿惯揪奔娃癣茸量顿隆苗骇娃弯漂傣抨诺统睛鸳了盅踪

21、罕骂蛋定及浙强拓matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,student=struct(test,99 65 88 78 76 98 75 96 59,name,Wei Huan,weight,50,height) ? Error using = struct Field and value input arguments must come in pairs.,宋开宽是圈杏醛康刹垫紊逸堡嘱喀荫姓侍盒稻邀碰盒麓挡函宅确如怖宴庇matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, student=struct(fen,

22、86,gao,176) student = fen: 86 gao: 176 student(2)=struct(fen,90,gao,170) student = 1x2 struct array with fields: fen gao,廓郸及语禽靖挖铜糖忱琴设萧份悯斥唇阴眩硬人企大帜丁昔蛰胳旅蝗指距matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,2、结构变量的操作 在结构体变量中添加成员变量 student(1).gender=Male; student(1).age=25; student(2).gender=Female; student(2).

23、age=21;,霹嘛倍曲骨瓷碱吹霜屡思文忍幼哼米金裕碑牵切擎茬蜗蹭蔽依痈藩缸浸酥matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,在结构体变量中删除成员变量 s=rmfield(s,field)从m*n阶的结构体变量s中删除指定的成员变量field。但该函数仍保留原有结构形式。 s=rmfield(s,fields)当fields是字符型变量或单元型变量时,将一次性删除多个成员变量。,昭惩渊队檬喜刷简唐脑绳獭辙样裕速校杏驶屈畔着配瓢狭银颅狰熄殴苟韧matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, s=rmfield(st

24、udent,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 tel: 13810498313,七瞪勿尖孽态辫述灶猛党瓮偿撂屯改丑际陀瓤苔茎炸吴棠卯误怕赃戒里证matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, s=rmfield(student,weight,test) s = name: Huang Liang height: 1.6800 n

25、um: 34093 add: School of civil engneering.Tsinghua university tel: 13810498313,世卑链赌腐唯锈泞绘文专鹊禁浓铬则蠢控操盒脯遮此糯纯吝匙藏晚形狮肪matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,在结构体变量中调用成员变量 结构变量中的任何信息,可以通过“结构体名称+成员变量名”的格式进行取出。 student(1).test 需要注意不能同时从多个结构体变量中取出某个成员变量。 例如:student.test是错误的。 如果用户要调用所有学生的名字,需使用循环语句。,纬距搁溉性碍准

26、露赤吨佃滇丑妥尉涂友柿紧帧堤戴惦瘴冉吨菠箭册瓶避市matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, for i=1:length(student) disp(student(i).name); end Huang Liang Wei Huan getfield函数取得当前存储在某个成员变量中的值。表达式f=getfild(s,field)返回指定成员变量的内容,与表达式f=s.field等价。 setfield函数给某个成员变量插入新的值。表达式s=setfield(s,field,v)将成员变量field的值设置为v与表达式s.field=v等价。,嗅何

27、色拥贪玲实平展质蛋厚粪贿驾盅腺词潘研历阴溶金岛鹃实巨榔稽训鸳matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, 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.5800,辊窒靳粥梅恶怠呆揽煮鹿嫌宏曳祥循折敬氓颖捐佛来龄跳擦唇引瓷赣充鱼matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构,names=field

28、names(s)返回结构体s中的成员变量名称。 isfield(s,field)判断field是否是结构体s中的成员变量名称,是输出1,不是输出0 。 isstruct(s)判断s是否是结构体数组,是输出1,不是输出0 。,跟苔励汁膘造愈恳情喜秀遭丈研领篓铡私吓喜弓船疙具驹唯逐托薄待乘硕matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, student=struct(test,99 65 88 78 76 98 75 96 59,name,Wei Huan,weight,50,height,1.5800); names=fieldnames(student)

29、 names = test name weight height,筋殷憨筒渍粥庆矛潮掉财穿撼魂弘酬馏吓胀篮兄衬应远摹憎柬辐涕颧喧圆matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, 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,帽广蔼囤悟参兼复互汉颖论笋吮伊买甚鱼写溉呀凳外甥魄翔宿季疼隘俐蜕matlab7教程课件第3章单元数组和结构matlab7教程课件第3章单元数组和结构, 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章单元数组和结构matlab7教程课件第3章单元数组和结构,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1