(电子行业企业管理)北航精通matlab65讲义电子版3

上传人:管****问 文档编号:137782441 上传时间:2020-07-11 格式:DOCX 页数:16 大小:39.87KB
返回 下载 相关 举报
(电子行业企业管理)北航精通matlab65讲义电子版3_第1页
第1页 / 共16页
(电子行业企业管理)北航精通matlab65讲义电子版3_第2页
第2页 / 共16页
(电子行业企业管理)北航精通matlab65讲义电子版3_第3页
第3页 / 共16页
(电子行业企业管理)北航精通matlab65讲义电子版3_第4页
第4页 / 共16页
(电子行业企业管理)北航精通matlab65讲义电子版3_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《(电子行业企业管理)北航精通matlab65讲义电子版3》由会员分享,可在线阅读,更多相关《(电子行业企业管理)北航精通matlab65讲义电子版3(16页珍藏版)》请在金锄头文库上搜索。

1、第三章 字符串、元胞和构架数组MATLAB 6.x版的内建数据类型(Built-in data type)就有5种以上,此外还有许多其他专门设计的类(Class),如符号类、内联函数类、控制工具包中的线性时不变模型类、神经网络类等。就程序设计而言,MATLAB 6.x版采用了面向对象编程技术。数据和编程的改变使用户能更简捷而自然地解决复杂的计算问题(如符号计算问题、多变量控制系统问题、神经网络问题)。本章内容根据MATLAB6.5编写,但绝大部分内容适用于其他MATLAB6.x版本。第二章介绍了数值数组(Numeric Array),这是读者比较熟悉的数据类型。本章将集中讲述另外三类数据:字符

2、串数组(Character String Array)、元胞数组(Cell array)和构架数组(Structure array)。它们之间的基本差别见表3-1。表3-1 四种数据类型基本构成比较表数组类型基本组分组分内涵基本组分占用字节数数值数组元素双精度实数标量或双精度复数标量816字符串数组元素字符2元胞数组元胞可以存放任何类型、任何大小的数据。不定构架数组构架只有挂接在构架上的“域”才能存放数据。数据可以是任何类型、任何大小。不定3.1 字符串数组3.1.1 字符串入门【例3.1.1-1】先请读者实际操作本例,以体会数值量与字符串的区别。cleara=12345.6789class(

3、a) a_s=size(a) a = 1.2346e+004ans =doublea_s = 1 1 b=S class(b) b_s=size(b) b =Sans =charb_s = 1 1 whos Name Size Bytes Class a 1x1 8 double array a_s 1x2 16 double array ans 1x4 8 char array b 1x1 2 char array b_s 1x2 16 double arrayGrand total is 10 elements using 50 bytes 3.1.2 串数组的属性和标识【例3.1.2-1

4、】本例演示:串的基本属性、标识和简单操作。(1)a=This is an example. a =This is an example. (2)size(a) ans = 1 19 (3)a14=a(1:4) ra=a(end:-1:1) a14 =Thisra =.elpmaxe na si sihT (4)ascii_a=double(a) ascii_a = Columns 1 through 12 84 104 105 115 32 105 115 32 97 110 32 101 Columns 13 through 19 120 97 109 112 108 101 46 char

5、(ascii_a) ans =This is an example. (5)w=find(a=a&a=z);ascii_a(w)=ascii_a(w)-32;char(ascii_a) ans =THIS IS AN EXAMPLE. (6)A=这是一个算例。; A_s=size(A) A56=A(5 6) ASCII_A=double(A) A_s = 1 7A56 =算例ASCII_A = Columns 1 through 6 54754 51911 53947 47350 52195 49405 Column 7 41379 char(ASCII_A) ans =这是一个算例。 (7)

6、b=Example 3.1.2-1 b =Example 3.1.2-1 (8)ab=a(1:7), ,b, . ab =This is Example 3.1.2-1 . 3.1.3 复杂串数组的创建3.1.3.1 多行串数组的直接创建【例3.1.3.1-1】多行串数组的直接输入示例。clearS=This string array has multiple rows. S =This string array has multiple rows. size(S) ans = 2 18 3.1.3.2 利用串操作函数创建多行串数组【例3.1.3.2-1】演示:用专门函数char , str2

7、mat , strvcat创建多行串数组示例。S1=char(This string array,has two rows.) S1 =This string arrayhas two rows. S2=str2mat(这,字符,串数组,由4行组成) S2 =这 字符 串数组 由4行组成 S3=strvcat(这,字符,串数组,由4行组成) S3 =这 字符 串数组 由4行组成 size(S3) ans = 5 5 3.1.3.3 转换函数产生数码字符串【例3.1.3.3-1】最常用的数组/字符串转换函数int2str , num2str , mat2str 示例。(1)A=eye(2,4);

8、 A_str1=int2str(A) A_str1 =1 0 0 00 1 0 0 (2)rand(state,0)B=rand(2,4); B3=num2str(B,3) B3 = 0.95 0.607 0.891 0.4560.231 0.486 0.762 0.0185 (3)B_str=mat2str(B,4) B_str =0.9501 0.6068 0.8913 0.4565;0.2311 0.486 0.7621 0.0185 Expression=exp(-,B_str,);eval(Expression) ans = 0.3867 0.5451 0.4101 0.6335 0

9、.7937 0.6151 0.4667 0.9817 【例3.1.3.3-2】综合例题:在MATLAB计算生成的图形上标出图名和最大值点坐标。cleara=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);%y_text=y=,num2str(y_max);%max_text=char(maximum,t_text,y_text);%tit=y=exp(-,num2str(a),t)*sin(,num2str(w),t);%plot(t,zeros(size(t),k)ho

10、ld onplot(t,y,b)plot(t(i_max),y_max,r.,MarkerSize,20)text(t(i_max)+0.3,y_max+0.05,max_text)%title(tit),xlabel(t),ylabel(y),hold off 图 3.1-1 3.1.3.4 利用元胞数组创建复杂字符串【例3.1.3.4-1】元胞数组在存放和操作字符串上的应用。a=MATLAB 6.x ;b=includes new data types:;c1=Multidimensional array;c2=User-definable data structure;c3=Cell a

11、rrays;c4=Character array;c5=Function handle;c=char(c1,c2,c3,c4,c5);C=a;b;c;%disp(C1:2)%disp( )%disp(C3)% MATLAB 6.x includes new data types: Multidimensional array User-definable data structureCell arrays Character array Function handle 3.1.4 串转换函数【例3.1.4-1】fprintf, sprintf, sscanf的用法示例。rand(state,0

12、);a=rand(2,2);s1=num2str(a)s_s=sprintf(%.10en,a) s1 =0.95013 0.606840.23114 0.48598s_s =9.5012928515e-0012.3113851357e-0016.0684258354e-0014.8598246871e-001 fprintf(%.5g,a) 0.950130.231140.606840.48598 s_sscan=sscanf(s_s,%f,3,2) s_sscan = 0.9501 0.4860 0.2311 0 0.6068 0 3.1.5 串操作函数3.2 元胞数组3.2.1 元胞数组的创建和显示3.2.1.1 元胞标识寻访和内容编址寻访的不同3.2.1.2 元胞数组的创建和显示【例 3.2.1.2-1】本例演示:元胞数组的创建。C_str=char(这是,元胞数组创建算例 1);R=reshape(1:9,3,3);Cn=1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号