Matlab7.x教学课件第2章(2)_第1页
Matlab7.x教学课件第2章(2)_第2页
Matlab7.x教学课件第2章(2)_第3页
Matlab7.x教学课件第2章(2)_第4页
Matlab7.x教学课件第2章(2)_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MALAB 7.X程序设计程序设计2/742.4.1 数组元素的存储数组元素的存储数组元素有完全存储方式和稀疏存储方式两数组元素有完全存储方式和稀疏存储方式两种存储方式。种存储方式。20000030 ,0100Al稀疏存储稀疏存储(1,1),2;(2,3),3;(3,2),1(1,1),2;(2,3),3;(3,2),1MALAB 7.X程序设计程序设计3/741 转换函数转换函数转换函数转换函数sparsesparse的格式为的格式为: A=sparse(S)A=sparse(S)功能:功能:将矩阵将矩阵S S转化为稀疏存储方式的矩阵转化为稀疏存储方式的矩阵A A。当矩阵当矩阵S S是稀疏存

2、储方式时,则函数调用相是稀疏存储方式时,则函数调用相当于当于A=SA=S。MALAB 7.X程序设计程序设计4/74 sparse(m,n)sparse(m,n)功能:功能:生成一个生成一个m mn n的所有元素都是的所有元素都是0 0的稀疏的稀疏矩阵。矩阵。 sparse(u,v,S) sparse(u,v,S)功能:功能:建立一个建立一个max(u)max(u)行、行、max(v)max(v)列并以列并以S S为稀疏元素的稀疏矩阵,其中为稀疏元素的稀疏矩阵,其中u,v,Su,v,S是是3 3个个等长的向量等长的向量,S,S是要建立的稀疏矩阵的非是要建立的稀疏矩阵的非0 0元元素,素,u(i

3、)u(i)、v(i)v(i)分别是分别是S(i)S(i)的行和列下标。的行和列下标。 MALAB 7.X程序设计程序设计5/74转换函数转换函数fullfull的格式为:的格式为: full(A)full(A)功能:功能:返回和稀疏存储矩阵返回和稀疏存储矩阵A A对应的完全存对应的完全存储方式矩阵。储方式矩阵。MALAB 7.X程序设计程序设计6/74u=1:4;v=3:6;S=0.1 0.2 0.3 0.4;spa=sparse(u,v,S)a=full(spa)MALAB 7.X程序设计程序设计7/74稀疏矩阵的生成函数稀疏矩阵的生成函数: : spconvert spconvert,sp

4、diagsspdiags,speyespeye spconvert spconvert函数的函数的格式为格式为: B=spconvertB=spconvert(A)(A)功能功能:将矩阵:将矩阵A A所描述的一个稀疏矩阵转化为所描述的一个稀疏矩阵转化为一个稀疏存储矩阵一个稀疏存储矩阵B B 。MALAB 7.X程序设计程序设计8/74A=1 2 3 ;3 4 5;6 7 8;B=spconvert(A) %生成实数数组生成实数数组A=1 2 3 4;3 4 5 6 ;6 7 8 9;B=spconvert(A) %生成复数数组生成复数数组MALAB 7.X程序设计程序设计9/74 函数函数ey

5、eeye,randrand和和 randnrandn产生完全存产生完全存储方式的矩阵,对应的稀疏矩阵函数储方式的矩阵,对应的稀疏矩阵函数是是speyespeye,sprandsprand和和sprandnsprandn。MALAB 7.X程序设计程序设计10/74spa=speyespa=speye(4,4) (4,4) % %建立建立4 44 4的稀疏存储单位矩阵的稀疏存储单位矩阵spa(2,1)=-2 spa(2,1)=-2 % %增加元素增加元素spa(2,1)spa(2,1)spa(2,2)=0 spa(2,2)=0 % %删除元素删除元素spa(2,2)spa(2,2)MALAB 7

6、.X程序设计程序设计11/74矩阵运算规则是按照矩阵作为运算要素定矩阵运算规则是按照矩阵作为运算要素定义的,义的,数组运算是按照矩阵元素作为运算要素定数组运算是按照矩阵元素作为运算要素定义的。义的。标量运算是矩阵和数组的运算的特例。标量运算是矩阵和数组的运算的特例。 MALAB 7.X程序设计程序设计12/74 1 矩阵和数组的加减运算矩阵和数组的加减运算l两个矩阵必须同型时才可以进行加减运算。如两个矩阵必须同型时才可以进行加减运算。如有一个是标量,则该标量与矩阵的每个元素进有一个是标量,则该标量与矩阵的每个元素进行加减运算。行加减运算。l数组的加减运算法则与矩阵的加减运算法则相数组的加减运算

7、法则与矩阵的加减运算法则相同。同。MALAB 7.X程序设计程序设计13/74方法方法1 1:A=4 -3 1;2 0 5;B=1 2 0;-1 0 3;A-2*B方法方法2 2:A=4 -3 1;2 0 5;B=1 2 0;-1 0 3;b=uminus(2*B) %,返回,返回2*B的相反数的相反数A+b431,205A120103BMALAB 7.X程序设计程序设计14/74矩阵的乘法运算符为矩阵的乘法运算符为* *,定义为定义为:设设A=(aij)mA=(aij)ms,B=(bijs,B=(bij)s)sn,n,则则A A与与B B的乘积的乘积C CAB=(cijAB=(cij)m)m

8、n n是是 m mn n矩阵,其中矩阵,其中cijcij( i= ( i= 1,2, 1,2, , m ;j =1,2, , m ;j =1,2, ,n) ,n) 等于等于A A的第的第i i行与行与B B的的第第j j列对应元素的乘积之和。列对应元素的乘积之和。 数组的乘法运算符为数组的乘法运算符为. .* *,两个矩阵必须同型时才可,两个矩阵必须同型时才可以进行数组乘法运算。以进行数组乘法运算。运算规则为:运算规则为:矩阵矩阵A A和和B B中的对应元素相乘。中的对应元素相乘。 如果参加运算的矩阵其中有一个是标量时,矩阵和如果参加运算的矩阵其中有一个是标量时,矩阵和数组的乘法运算均为标量与

9、矩阵的每个元素进行数组的乘法运算均为标量与矩阵的每个元素进行乘法运算。乘法运算。 MALAB 7.X程序设计程序设计15/74A=1 0 3;2 1 0;(2*3)B=4 1;-1 1;2 0;(3*2)A*B,(2*2)B*A(3*3)MALAB 7.X程序设计程序设计16/74A=1 -1 2;2 0 1;(2*3)B=2 -1 0;1 1 3;4 2 1;(3*3)(A*B)(3*2)B*A(3*2)MALAB 7.X程序设计程序设计17/74矩阵除法矩阵除法运算的运算符为运算的运算符为 和和/ /,分别表示,分别表示左除左除和和右除右除。矩阵除法的矩阵除法的定义为定义为:AB=AAB=

10、A-1-1B B A/B=AA/B=AB B-1-1其中其中A A-1-1和和B B-1-1是矩阵是矩阵A A和和B B的逆,矩阵的逆,矩阵B B的逆也可用的逆也可用函数函数invinv求得。求得。MALAB 7.X程序设计程序设计18/74定义为:定义为:设设A=(aA=(aijij) )m mn n,B=(b,B=(bijij) )m mn n, ,则数组的右除为则数组的右除为C=(cC=(cijij) )m mn n= (a= (aijij/ b/ bijij ) )m mn n,数组的左除为数组的左除为C=(cC=(cijij) )m mn n= (b= (bijij/ a/ aiji

11、j ) )m mn n。MALAB 7.X程序设计程序设计19/74A=2 2 -1 1;4 3 -1 2;8 3 -3 4;3 3 -2 -2;b=4 6 12 6;X=Ab %等价语句为等价语句为 X=inv(A)*b1234123412341224224432683341233226xxxxxxxxxxxxxxxxMALAB 7.X程序设计程序设计20/74l矩阵乘方矩阵乘方运算的运算符为运算的运算符为,运算表达式为,运算表达式为ABAB,矩阵乘方运算的含义是:,矩阵乘方运算的含义是:ABAB表示方阵表示方阵A A自乘自乘B B次。次。l数组乘方数组乘方运算的运算符为运算的运算符为.,运

12、算表达式为,运算表达式为A.BA.B,其中,其中A A和和B B都可以是矩阵或标量。都可以是矩阵或标量。MALAB 7.X程序设计程序设计21/74l当当A A为矩阵为矩阵,B,B为正整数时,则将为正整数时,则将a aijij自乘自乘B B次;次;l当当A A为矩阵为矩阵,B,B也为矩阵时,也为矩阵时,A A和和B B矩阵矩阵必须必须同型同型,则将,则将a aijij自乘自乘b bijij次。次。l当当A A为正整数为正整数,B,B为矩阵时,将为矩阵时,将AbAbijij构成新构成新矩阵的第矩阵的第i i行第行第j j列元素。列元素。 其中其中a aijij和和b bijij分别表示矩阵分别表

13、示矩阵A A和和B B的第的第i i行行第第j j列元素。列元素。 MALAB 7.X程序设计程序设计22/74 常用的数学函数有三角函数、指数函数和整常用的数学函数有三角函数、指数函数和整值函数等。值函数等。 需要注意的是需要注意的是: :l MATLAB 6.5MATLAB 6.5以前的版本三角函数的自变量和反以前的版本三角函数的自变量和反三角函数的返回值为弧度;三角函数的返回值为弧度;l MATLAB 7.0MATLAB 7.0版本中提供了三角函数的自变量和版本中提供了三角函数的自变量和反三角函数的返回值分别为角度和弧度的两类函反三角函数的返回值分别为角度和弧度的两类函数。数。 MALA

14、B 7.X程序设计程序设计23/74x=30:30:90;sind(x),cosd(x),tand(x),cotd(x) %三角函数的自变量为角度值三角函数的自变量为角度值MALAB 7.X程序设计程序设计24/74x=0.1:0.1:0.6;asin(x),acos(x),atan(x) %返回值为弧度返回值为弧度asind(x),acosd(x),atand(x) %返回值为角度返回值为角度MALAB 7.X程序设计程序设计25/74x=1:10;x=1:10;log(x) log(x) % %返回值为返回值为自然对数自然对数log10(x) log10(x) % %返回值为返回值为常用对

15、数常用对数如果求如果求2 2为底的对数呢?为底的对数呢?log10(x)/log10(2)log10(x)/log10(2)MALAB 7.X程序设计程序设计26/742.6.1字符串的定义字符串的定义MATLABMATLAB将字符串当作一个行向量,每个元素将字符串当作一个行向量,每个元素对应一个字符,一个字符占两个字节,并对应一个字符,一个字符占两个字节,并且每一字符且每一字符( (包括空格包括空格) )以其以其ASCIIASCII码的形码的形式存放,其标识方法和数值向量相同。式存放,其标识方法和数值向量相同。MALAB 7.X程序设计程序设计27/74s1=Northeast Forest

16、 Uiversity %赋值方式建立字符串赋值方式建立字符串s1s2=Haerbin Heilongjiang % %赋值方式建立字符串赋值方式建立字符串s2s2whos % %查看字符串占用的字节信息查看字符串占用的字节信息MALAB 7.X程序设计程序设计28/74llengthlength 计算字符串的长度计算字符串的长度( (即组成字符的个数即组成字符的个数) )lclassclass 判断某一个变量是否为字符串,返回判断某一个变量是否为字符串,返回charchar则表示为字符串则表示为字符串lfindstrfindstr 寻找在某个长字符串中的子字符串,返回寻找在某个长字符串中的子字

17、符串,返回其起始位置其起始位置ldeblankdeblank 删除字符串尾部的空格删除字符串尾部的空格levaleval 以表达式方式执行字符串以表达式方式执行字符串ldispdisp 显示字符串的内容显示字符串的内容MALAB 7.X程序设计程序设计29/74l strcatstrcat(S1,S2,S3,.)(S1,S2,S3,.) 功能:功能:返回返回S1,S2,S3的连接字符串的连接字符串 常用的字符串的连接和替换函数:常用的字符串的连接和替换函数:lstrvcatstrvcat(T1,T2,T3,.)(T1,T2,T3,.) 功能:功能:返回返回T1,T2,T3,.的垂直连接字符串的

18、垂直连接字符串lstrmatchstrmatch(S1,S2) (S1,S2) 功能:功能:在逐行搜索字符串在逐行搜索字符串s2,给出以给出以s1开头的那些行开头的那些行的行号的行号lstrrepstrrep(S1,S2,S3)(S1,S2,S3) 功能:功能:把字符串把字符串s1的所有出现的所有出现s2的地方替换为的地方替换为s3lstrtokstrtok (S) (S) 功能:功能:查找字符串查找字符串S的第一个间隔符(空格符、指的第一个间隔符(空格符、指表符、回车符)前的内容表符、回车符)前的内容MALAB 7.X程序设计程序设计30/74test=This is a test!;pos

19、ition=findstr(test,is)a r r a y = s t r v c a t ( m a x a r r a y , m i n value,max value);result_1=strmatch(max,array)result_2=strrep(test,test,pest)token,remainder=strtok(This is a test!)MALAB 7.X程序设计程序设计31/74lstrcmpstrcmp(S1,S2)(S1,S2) 功能:功能:比较字符串是否相等。如果相同则返回比较字符串是否相等。如果相同则返回1 1,否则为否则为0 0。常用的字符串比

20、较函数:常用的字符串比较函数:lstrcmpistrcmpi(S1,S2)(S1,S2) 功能:功能:在忽略大小写的情况下,比较字符串是否相在忽略大小写的情况下,比较字符串是否相等。如果相同则返回等。如果相同则返回1 1,否则为,否则为0 0。lstrncmpstrncmp(S1,S2,N)(S1,S2,N) 功能功能:比较两个字符串的前:比较两个字符串的前n n个字符是否相等。如个字符是否相等。如果相同则返回果相同则返回1 1,否则为,否则为0 0。lstrncmpistrncmpi(S1,S2,N)(S1,S2,N) 功能功能:在忽略大小写的情况下,比较字符串在忽略大小写的情况下,比较字符

21、串的前的前n n个字符个字符是否相等。是否相等。如果相同则返回如果相同则返回1 1,否则为,否则为0 0。MALAB 7.X程序设计程序设计32/74str1=hello;str2=Hello;str3=help;c1=strcmp(str1,str2)c2=strcmpi(str1,str2)c3=strncmp(str1,str3,2)c4=strncmpi(str1,str3,2)MALAB 7.X程序设计程序设计33/74lupper(A)upper(A) 功能:功能:把字符串把字符串A A中的任一小写字母转换为相应中的任一小写字母转换为相应的大写字母的大写字母常用的字符串转换函数:常

22、用的字符串转换函数:llower(A)lower(A) 功能功能:把字符串把字符串A A中的任一大写字母转换为相应中的任一大写字母转换为相应的小写字母的小写字母ldouble(X)double(X) 功能功能:转换字符串转换字符串X X为为ASCIIASCII码码lchar(X)char(X) 功能功能:将将ASCIIASCII码码X X转换为字符串转换为字符串MALAB 7.X程序设计程序设计34/74lint2str(X) int2str(X) 功能功能:将整数:将整数X X转换为字符串转换为字符串lnum2str(X)num2str(X) 功能:功能:将数值将数值X X转换成字符串转换成

23、字符串lmat2str(MAT)mat2str(MAT) 功能:功能:将数值矩阵将数值矩阵MATMAT转换为可执行的形式转换为可执行的形式MALAB 7.X程序设计程序设计35/74x=5317;y=int2str(x)p=num2str(pi,7)p=num2str(pi,%10.5e)a=1 2 3;4 5 6 ;b=mat2str(a)s t r = s p r i n t f ( T h e v a l u e o f pi=%8.6f.,pi)MALAB 7.X程序设计程序设计36/74 2.7.1 元胞数组的建立元胞数组的建立l元胞数组元胞数组:一个数组里存放各种不同类型:一个数组

24、里存放各种不同类型的数据。元胞数组中的基本组成是元胞,的数据。元胞数组中的基本组成是元胞,每一个元胞是用来存放各种不同类型的数每一个元胞是用来存放各种不同类型的数据的单元。据的单元。l如果元胞中存放的数据为元胞数组,则为如果元胞中存放的数据为元胞数组,则为元胞数组的嵌套使用。元胞数组的嵌套使用。MALAB 7.X程序设计程序设计37/74 赋值语句的右边为用符号赋值语句的右边为用符号标记的不同类型的标记的不同类型的数据。数据。例例2-43 建立元胞数组,并查看元素的信息建立元胞数组,并查看元素的信息。a=This is the first example.,hadamard(2);ones(3

25、),North;EastMALAB 7.X程序设计程序设计38/74查看查看a a的各个元素的信息:的各个元素的信息:a1,1a1,1a1,2a1,2a2,1a2,1a2,2a2,2MALAB 7.X程序设计程序设计39/74b(1,1)=This is the second example.;b(1,1)=This is the second example.;b(1,2)=hilbb(1,2)=hilb(3);(3);b(2,1)=zeros(2);b(2,1)=zeros(2);b(2,2)=South;West;b(2,2)=South;West;b b % % 查看查看b b的内容的

26、内容MALAB 7.X程序设计程序设计40/74创建元胞数组的函数为:创建元胞数组的函数为:lcell(N)cell(N) 创建空的创建空的N NN N的元胞数组的元胞数组lcell(M,N)cell(M,N) 或或 cell (M,N)cell (M,N) 创建空的创建空的M M N N的元胞数组的元胞数组MALAB 7.X程序设计程序设计41/74c=cell(2);c=cell(2);c1,1=(This is the third example.);c1,1=(This is the third example.);c1,2=companc1,2=compan(1 0 3);(1 0

27、3);c2,1=3+4c2,1=3+4* *i -5;-10i -5;-10* *i 3-4i 3-4* *i;i;c2,2=; c2,2=; % %元胞数组的第四个元素为空矩阵元胞数组的第四个元素为空矩阵 C C % % 查看查看c c 的内容的内容MALAB 7.X程序设计程序设计42/74lcelldispcelldisp(C)(C) 功能:功能:显示元胞数组显示元胞数组C C的所有元素的内容的所有元素的内容celldispcelldisp,cellplotcellplot和和cellfuncellfun:lcellplotcellplot(C)(C) 功能:功能:以嵌套的格子的形式显示

28、元胞数组以嵌套的格子的形式显示元胞数组C C的所有的所有元素的结构元素的结构ld=cellfund=cellfun(fun, c)(fun, c) 功能:功能:返回判断元胞数组返回判断元胞数组c c 的元素数据类型和基本的元素数据类型和基本信息的数组信息的数组d d,其中,其中funfun为为isrealisreal,isemptyisempty, islogicalislogical,lengthlength,ndimsndims和和prodofsizeprodofsize。MALAB 7.X程序设计程序设计43/74lM=cell2mat(C)M=cell2mat(C) 功能:功能:元胞数

29、组转换为单精度矩阵,其中元胞数组转换为单精度矩阵,其中C C为多为多维元胞数组,维元胞数组,M M为转换后得到的单精度矩阵。要为转换后得到的单精度矩阵。要求输入的元胞数组元素必须是同类型的数据。求输入的元胞数组元素必须是同类型的数据。元胞数组与其他数组的转换函数:元胞数组与其他数组的转换函数: cell2matcell2mat,mat2cellmat2cell和和num2cellnum2cell。lC=mat2cell(X,M,N)C=mat2cell(X,M,N) 功能:功能:矩阵分解为元胞数组。其中矩阵分解为元胞数组。其中X X为多维元胞为多维元胞数组,数组,C C为转换后得到的矩阵。为转

30、换后得到的矩阵。lC=num2cell(A)C=num2cell(A) 功能:功能:转换数值数组为元胞数组。其中转换数值数组为元胞数组。其中A A为数值为数值数组,数组,C C为转换得到的元胞数组。为转换得到的元胞数组。 MALAB 7.X程序设计程序设计44/74x=1 2 3 4;5; 9 6 7 8; 10 11 2;cell2mat(x) %转换数值数组为单精度矩阵转换数值数组为单精度矩阵MALAB 7.X程序设计程序设计45/74X = zeros(3,4)+5;C = mat2cell(X,1 2,1 3) %矩阵分解为元胞数组矩阵分解为元胞数组A=1 2 3 4; 5 6 7 8

31、; 9 10 11 12;C=num2cell(A) %转换数值数组为元胞数组转换数值数组为元胞数组MALAB 7.X程序设计程序设计46/74 1 1 直接引用直接引用l元胞数组的元素的引用可通过指出数组名称直元胞数组的元素的引用可通过指出数组名称直接引用。接引用。l元胞数组中可以引用的元素为元胞数组的结构、元胞数组中可以引用的元素为元胞数组的结构、元胞数组的内容、元胞数组的部分元素。元胞数组的内容、元胞数组的部分元素。 MALAB 7.X程序设计程序设计47/74a=This is the forth example.,magic(3);ones(3),North;Easta(1,2) %

32、 查看查看a(1,2)的结构的结构a1,2 %查看查看a1,2元胞的内容元胞的内容a1,2(1) %引用引用a1,2元胞的第元胞的第1个元素个元素a1,2(1 2) %引用引用a1,2元胞的第元胞的第1、2个元素个元素MALAB 7.X程序设计程序设计48/74例例 2-482-48 演示元胞数组的扩展方法。演示元胞数组的扩展方法。a3,3=5 %扩展扩展a为为33的数组,的数组,a(3,3)为元胞,内为元胞,内容为容为5MALAB 7.X程序设计程序设计49/74例例2-492-49 演示元胞数组的删除方法。演示元胞数组的删除方法。a3,3= %删除删除a的第三行、第三列元素的第三行、第三列

33、元素a(3,:)= %删除删除a的第三列元素的第三列元素MALAB 7.X程序设计程序设计50/742.8.1 构架数组的建立构架数组的建立l构架数组的基本组成是域,每一个域是用构架数组的基本组成是域,每一个域是用来存放各种不同类型的数据的单元。来存放各种不同类型的数据的单元。l构架数组的建立也有三种方法:构架数组的建立也有三种方法:赋值语句、创建函数和转换函数。赋值语句、创建函数和转换函数。 MALAB 7.X程序设计程序设计51/74l例例2-502-50 使用赋值语句依次为各个域赋值的使用赋值语句依次为各个域赋值的方法建立构架数组,存储两名学生的名字、方法建立构架数组,存储两名学生的名字

34、、学号、性别、班级信息。学号、性别、班级信息。=Wang Ming;s.number=19990101;s.sex=man;s.class=199901; MALAB 7.X程序设计程序设计52/74l如查看构架数组的内容,语句为:如查看构架数组的内容,语句为: s sl如查看构架数组的某一个域内容,语句为:如查看构架数组的某一个域内容,语句为: MALAB 7.X程序设计程序设计53/74 s(2).name=Zhang Le; s(2).name=Zhang Le; s(2).number=19990201; s(2).number=19990201; s(2).s

35、ex=man; s(2).sex=man; l构架数组的第二个元素可以被通过增加下标构架数组的第二个元素可以被通过增加下标实现。实现。l如查看构架数组的各个域名,语句为:如查看构架数组的各个域名,语句为: s sMALAB 7.X程序设计程序设计54/74l可通过下面的语句查看可通过下面的语句查看s s的内容:的内容: s(1),s(1), s(2) s(2)MALAB 7.X程序设计程序设计55/74使用使用structstruct函数可以建立构架数组,格式为:函数可以建立构架数组,格式为:S = structS = struct (field1,VALUES1,field2,VALUES2

36、,.) (field1,VALUES1,field2,VALUES2,.) 功能:功能:创建构架数组创建构架数组S S,其中,其中 field1field1的值的值赋为赋为VALUES1, field2VALUES1, field2的值赋为的值赋为VALUES2,VALUES2,MALAB 7.X程序设计程序设计56/74 s=struct(name,Wang Ming,number,19990101, class, 199901,sex,man)MALAB 7.X程序设计程序设计57/74元胞数组转换为构架数组的函数为元胞数组转换为构架数组的函数为cell2struct,格式为:格式为:S

37、= cell2struct(C,FIELDS,DIM)功能:功能:元胞数组元胞数组C转换为构架数组转换为构架数组S。其中。其中FIELDS为字符串数组或元胞数组,为字符串数组或元胞数组,DIM为为元胞数组的维数。元胞数组的维数。MALAB 7.X程序设计程序设计58/74c=Zhang Ming,19990102,femal,199901;f=name,number,sex,class;s=cell2struct(c,f,2)MALAB 7.X程序设计程序设计59/741 获取获取域名域名 构架数组创建后可通过函数构架数组创建后可通过函数fieldnames获取获取构架数组的域构架数组的域,

38、, 格式为:格式为:NAMES = fieldnames(S) 功能:功能:返回返回构架数组构架数组S的域名构成的元胞数组的域名构成的元胞数组NAMES。MALAB 7.X程序设计程序设计60/74NAMES = fieldnames(s)MALAB 7.X程序设计程序设计61/74构架数组建立后,允许增加和删除域。构架数组建立后,允许增加和删除域。构架数组的域的删除可通过函数构架数组的域的删除可通过函数rmfieldrmfield实现,实现,格式为:格式为:S = rmfieldS = rmfield (S,field) (S,field) 功能:功能:从构架数组从构架数组S S中删除域中删

39、除域 fieldfield。MALAB 7.X程序设计程序设计62/74s(2).exams=90 82 88 ; % 增加增加s的域的域exams,并通过赋值语句,并通过赋值语句为为s(2) 赋值赋值s(1) % 查看查看s(1,1)的详细信息的详细信息s(2) % 查看查看s(1,2)的详细信息的详细信息s2=rmfield(s,sex) %删除删除s的域的域sexMALAB 7.X程序设计程序设计63/74l构架数组的元素的引用可通过指出数组名称、构架数组的元素的引用可通过指出数组名称、下标、域名直接引用。下标、域名直接引用。l例例 2-552-55 演示构架数组元素的引用方法。演示构架

40、数组元素的引用方法。s(1).numbers(2).number %引用引用number元素元素s(2).exams%s(2).exams%引用引用examsexams元素,并求其平均值元素,并求其平均值MALAB 7.X程序设计程序设计64/74averge=(s(2).exams(1)+s(2).exams(2)+s(2).exams(3)/3 %求平均值求平均值s(2).aver=averge % %增加增加averaver域,并赋域,并赋值为平均值值为平均值这时这时s s成为成为1x2 1x2 构架数组,并有域构架数组,并有域namename、numbernumber、classcla

41、ss、examsexams和和averaver。MALAB 7.X程序设计程序设计65/74函数函数getfieldgetfield 的的格式为格式为:F = getfieldF = getfield (S,i,j,field,k) (S,i,j,field,k)功能:功能:获取构架数组的指定的域的域值。其获取构架数组的指定的域的域值。其中中S S是构架数组名,是构架数组名,i,ji,j用来指定元素构架用来指定元素构架的下标,的下标,fieldfield是指定的域名,必须是字是指定的域名,必须是字符串,符串,kk用来指定域中数组的下标。用来指定域中数组的下标。MALAB 7.X程序设计程序设计66/74函数函数setfieldsetfield的的格式为:格式为:S=setfieldS=setfield(S,field,V) (S,field,V) S=SETFIELD(S,i,j,field,k,V)S=SETFIELD(S,i,j,field,k,V)功能:功能:设置构架数组的指定的域的域值,设置构架数组的指定的域的域值,其中其中S S是构架数组名,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论