- 在线时间
- 2759 小时
- 最后登录
- 2017-9-15
- 注册时间
- 2011-4-3
- 听众数
- 538
- 收听数
- 4
- 能力
- 80 分
- 体力
- 1764 点
- 威望
- 27 点
- 阅读权限
- 150
- 积分
- 5990
- 相册
- 0
- 日志
- 0
- 记录
- 5
- 帖子
- 6675
- 主题
- 3503
- 精华
- 3
- 分享
- 6
- 好友
- 1721
TA的每日心情 | 开心 2017-2-7 15:12 |
|---|
签到天数: 691 天 [LV.9]以坛为家II
 群组: 2013年国赛赛前培训 群组: 2014年地区赛数学建模 群组: 数学中国第二期SAS培训 群组: 物联网工程师考试 群组: 2013年美赛优秀论文解 |
21、ndi***ength在多维数组中的注意事项
- W& T6 R- K# q2 W" v: Znumel是用来查询矩阵所含元素总数的函数,例numel(A)
7 ?. j7 A8 H& O- t+ {) ^3 ?: Mndims是用来查询矩阵所含维数的函数,例ndims(A)
- K6 `7 Q0 M: q9 c' w; \ndims(A(:,:,1))返回结果是2,因为A的第三维只有1维,那么实际上A只是一个二维矩阵;
5 w5 q! P+ s- U, n% F: _$ Clength只能返回一维数组的长度,对于矩阵就必须用size将其化为一维数组之后再用length函数 5 z5 f1 {' a4 C7 W' D% y+ D6 E
length(A)将得到size(A)的结果中较大的那一个元素;
, G' l/ f! B2 U# {3 slength(size(A))才能得到A的维数;
* }, ]5 ~- r& ?, j" ~; }4 N4 H0 [- d# s3 X" B/ ]! ]
22、创建单元数组(记得留意大括号{},等号两边至少要有一个大括号,否则会报错,因为单元数组能够容纳的内容要多,而数组中的元素只能容纳一个字符或数字,另外,单元中可以包含另一个单元) & G& Q, N2 y1 I+ {6 R
1、 单元索引法: 4 `% x' ?( t( `; T2 o6 [7 L& p
A(1,1)={[1 2 3 ;4 5 6;7 8 9]}; - L; q9 D" r ^
A(1,2)={'example'};
( v5 ~4 \. ^) \A(2,1)={1+2i};
" d% c: Q9 N: x& h9 e+ q# Q" RA(2,2)={6:-1:1};
p- \6 p0 g& R7 `" u- P8 S: Z6 ^输出结果:
. X4 N0 F0 l6 j! p; p
# p0 G' x4 m/ _8 l: l7 hA =
% S* @! C7 C/ n6 F. D5 b. s* s3 s9 z" F
[3x3 double] 'example' ( ^! T$ a* @% y0 {. _7 B
[1.0000 + 2.0000i] [1x6 double] $ `) _3 c( N1 L% ~4 E
8 e Z( i, c6 L& M2、 内容索引法: : R2 v( e9 A) Z9 e- I
A{1,1}=[1 2 3 ;4 5 6;7 8 9];
/ O; h: B9 b1 B: fA{1,2}='example';
) i& h- `, p) \" ^+ JA{2,1}=1+2i; 0 s4 g6 k$ M/ i) Z" |
A{2,2}=6:-1:1;
9 J+ V( L" i2 u$ e/ E1 P( h! F2 e) L G; s" u' Y. r. O/ ?, h3 c
A(I,j)={x}和A{I,J}=x都表明将x的值保存于单元数组A的第(I,j)个元素中。其中,前者A(I,j)={x}被称为“按单元索引”,后者A{I,J}=x被称为“按内容索引”。换句话说,花括号{}用于访问单元的值,而圆括号()用于标识单元的位置而不访问它们的值。
. \% A+ L4 D2 y; _/ [( z* ?例: " a! }3 F. V6 [/ d6 p l
A{1,1}=[1 2 3 ;4 5 6;7 8 9] & A T9 l) R6 {4 H U* Y; s7 I
A(1,1)=[ 3x3 double]
8 u/ D3 j' m: A, c, s6 D花括号在等号左边时:可以对多个单元数组的数据进行输出; & z1 _6 d, y; W2 C7 F8 T2 }9 M5 ^, f( g
例:A{1,:}=1:5,将会报错;错误原因是A{1,:}没有指定多少个单元数组将要被赋值 - \. M. e0 W2 S! {% ^
花括号在等号右边时:可以对多个单元数组的数据进行输入;
. H/ S$ \+ {5 g9 |8 x例:A(1, ={1:5},将会将A的第一行单元数组从左至右依次赋值为1、2、3、4、5; 5 M6 j2 z* L! L7 K8 v. {! ~
$ Q4 J% z9 k7 A
celldisp(A)用于强制输出单元数组A中的内容,联想记忆:cell+disp--------display展示 ) u, ~. i+ c+ \6 H; S6 I( f$ G/ U
cell(I,j)用于生成指定大小的空单元数组 $ e( z$ i# H4 D; @! ~4 n z
( }; Y- U2 G2 w5 _2 d
, H I( B0 W7 N' r$ a$ Y
>> class(B{1,1})%按内容索引 $ C/ _4 ^2 b' D% k8 `2 v
' w6 w: ?, u, G. e/ I
ans =
( j$ {/ z3 S3 u0 T, ]- b1 m# C1 n: ? ]
double ) H$ T- t9 L, N- B. b, b8 m/ U
@0 V- r! n% [
>> class(B(1,1))%按单元索引 2 z( h' L# R6 H7 L
' e. T- X0 y# |; Kans =
/ z" p+ ~0 [& V4 B4 |
% N: H+ ^$ E* j0 u5 L: n1 l- p+ Qcell
) w. Y) c4 Z! _* B+ y由上面的例子可以看出“由单元索引”和“由内容索引”的结果是完全不同的,“按单元索引”得到的是单元的标识(即单元里是什么类型的值),“按内容索引”得到的是单元的内容(即单元里是什么值)0 d$ ^& S! |' [. l+ i: c# ]
8 v. E! f% Y0 u, ?
]; ^+ j# G8 e$ T( c: L- U
* w) O: z* ~# M6 s" y
/ v* H( p- I" R$ S' u# X0 O
2 r6 i+ O$ i% V0 c2 q/ ^3 h5 J1 J: o
|
zan
|