实验三 matlab字符串、元胞和构架数组.docVIP

实验三 matlab字符串、元胞和构架数组.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三 matlab字符串、元胞和构架数组

实验三 字符串、元胞和构架数组 MATLAB 6.x版的内建数据类型(Built-in data type)就有5种以上,此外还有许多其他专门设计的类(Class),如符号类、内联函数类、控制工具包中的线性时不变模型类、神经网络类等。就程序设计而言,MATLAB 6.x版采用了面向对象编程技术。数据和编程的改变使用户能更简捷而自然地解决复杂的计算问题(如符号计算问题、多变量控制系统问题、神经网络问题)。本章内容根据MATLAB6.5编写,但绝大部分内容适用于其他MATLAB6.x版本。 第二章介绍了数值数组(Numeric Array),这是读者比较熟悉的数据类型。本章将集中讲述另外三类数据:字符串数组(Character String Array)、元胞数组(Cell array)和构架数组(Structure array)。它们之间的基本差别见表3-1。 表3-1 四种数据类型基本构成比较表 数组类型 基本组分 组分内涵 基本组分占用字节数 数值数组 元素 双精度实数标量 或双精度复数标量 8 16 字符串数组 元素 字符 2 元胞数组 元胞 可以存放任何类型、任何大小的数据。 不定 构架数组 构架 只有挂接在构架上的“域”才能存放数据。数据可以是任何类型、任何大小。 不定 字符串数组 字符串入门 【例3.1.1-1】先请读者实际操作本例,以体会数值量与字符串的区别。 clear a=12345.6789 class(a) a_s=size(a) b=S class(b) b_s=size(b) whos 串数组的属性和标识 【例3.1.2-1】本例演示:串的基本属性、标识和简单操作。 (1) a=This is an example. (2) size(a) (3) a14=a(1:4) ra=a(end:-1:1) (4) ascii_a=double(a) char(ascii_a) (5) w=find(a=aa=z); ascii_a(w)=ascii_a(w)-32; char(ascii_a) (6) A=这是一个算例。; A_s=size(A) A56=A([5 6]) ASCII_A=double(A) char(ASCII_A) (7) b=Example 3.1.2-1 (8) ab=[a(1:7), ,b, .] 复杂串数组的创建 多行串数组的直接创建 【例3.1.3.1-1】多行串数组的直接输入示例。 clear S=[This string array has multiple rows.] size(S) 利用串操作函数创建多行串数组 【例3.1.3.2-1】演示:用专门函数char , str2mat , strvcat创建多行串数组示例。 S1=char(This string array,has two rows.) S2=str2mat(这,字符,串数组,,由4行组成) S3=strvcat(这,字符,串数组,,由4行组成) size(S3) 转换函数产生数码字符串 【例3.1.3.3-1】最常用的数组/字符串转换函数int2str , num2str , mat2str 示例。 (1) A=eye(2,4); A_str1=int2str(A) (2) rand(state,0) B=rand(2,4); B3=num2str(B,3) (3) B_str=mat2str(B,4) Expression=[exp(-,B_str,)]; eval(Expression) 【例3.1.3.3-2】综合例题:在MATLAB计算生成的图形上标出图名和最大值点坐标。 clear a=2; w=3; t=0:0.01:10; y=exp(-a*t).*sin(w*t); [y_max,i_max]=max(y); t_text=[t=,num2str(t(i_max))]; % 7 y_text=[y=,num2str(y_max)]; % 8 max_text=char(maximum,t_text,y_text); % 9 % tit=[y=exp(-,num2str(a),t)*sin(,num2str(w),t)]; %11 plot(t,zeros(size(t)),k) hold on plot(t,y,b) plot(t(i_max),y_max,r.,MarkerSize,20) text(t(i_max)+0.3,y_max+0.0

文档评论(0)

6358999 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档