- 在线时间
- 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在多维数组中的注意事项 " {5 n r5 l( m
numel是用来查询矩阵所含元素总数的函数,例numel(A)
* Z- r/ Z/ D$ y, qndims是用来查询矩阵所含维数的函数,例ndims(A)
3 E, v3 Z' T* F/ U( ]ndims(A(:,:,1))返回结果是2,因为A的第三维只有1维,那么实际上A只是一个二维矩阵; - b$ n; c' ?3 b5 [7 h' I
length只能返回一维数组的长度,对于矩阵就必须用size将其化为一维数组之后再用length函数 * V2 u# A8 Y( ]' O& q9 O* H2 p
length(A)将得到size(A)的结果中较大的那一个元素;
0 B: d2 m4 F- t) dlength(size(A))才能得到A的维数;
) o5 T% y9 J2 k; F5 R$ I7 b% @! }4 [3 A* I D
22、创建单元数组(记得留意大括号{},等号两边至少要有一个大括号,否则会报错,因为单元数组能够容纳的内容要多,而数组中的元素只能容纳一个字符或数字,另外,单元中可以包含另一个单元) % V( g; {# i6 u1 y& {$ o
1、 单元索引法:
" L: z8 Z1 [7 o. ^" o" X% VA(1,1)={[1 2 3 ;4 5 6;7 8 9]};
- ^6 ~6 S* O( n6 qA(1,2)={'example'};
' X' y0 _0 C7 q1 kA(2,1)={1+2i}; 9 |3 {8 k- g. |+ o- b6 [! `
A(2,2)={6:-1:1}; 2 g G% m' p% z Z
输出结果: 9 R- T, o: n7 V; X
# p% ?# Z- k% e2 S
A =
2 |. H7 r) G& |: f# d& M- D+ n) z( h# l! q! ?% y
[3x3 double] 'example'
8 F- f. c# @0 L& p" C$ M5 r) |8 ][1.0000 + 2.0000i] [1x6 double]
_2 {, a6 F4 c
) O. D% D% M: Z- x. e9 ]2、 内容索引法:
% Y% t& q3 N$ D. W5 nA{1,1}=[1 2 3 ;4 5 6;7 8 9];
% r" `* g* k' i1 vA{1,2}='example';
; k c3 t+ O, y) ?6 L) C% gA{2,1}=1+2i;
. C; N, u+ F4 {8 |3 h7 v9 DA{2,2}=6:-1:1; 8 q0 s5 }3 K# C9 F4 i* G
& ]) ?# q0 G/ [A(I,j)={x}和A{I,J}=x都表明将x的值保存于单元数组A的第(I,j)个元素中。其中,前者A(I,j)={x}被称为“按单元索引”,后者A{I,J}=x被称为“按内容索引”。换句话说,花括号{}用于访问单元的值,而圆括号()用于标识单元的位置而不访问它们的值。
5 v* C$ I9 M$ G% K6 j例:
% N9 D6 [5 c" _, B7 n6 b. uA{1,1}=[1 2 3 ;4 5 6;7 8 9] ! a6 {4 K( y; {1 D8 ^
A(1,1)=[ 3x3 double]
: m3 N$ R* N( `) V4 r) D4 V花括号在等号左边时:可以对多个单元数组的数据进行输出; + h, K2 ^; K1 E; m; N3 `
例:A{1,:}=1:5,将会报错;错误原因是A{1,:}没有指定多少个单元数组将要被赋值
X/ H3 ?7 b- V1 {. U- l花括号在等号右边时:可以对多个单元数组的数据进行输入;
) i8 |% k9 k2 r/ N例:A(1, ={1:5},将会将A的第一行单元数组从左至右依次赋值为1、2、3、4、5; 2 T4 j8 o5 i2 a- H- P6 Q
& ~. A# g+ V0 y+ Y# T/ S& }
celldisp(A)用于强制输出单元数组A中的内容,联想记忆:cell+disp--------display展示 : e7 u/ F( b4 c4 R& G5 A- A& c& C
cell(I,j)用于生成指定大小的空单元数组
4 @- g% ?! R* s: u: M3 b8 a o2 [6 z K
4 Z# q( t& X0 j+ u/ W$ p& g1 t4 k
>> class(B{1,1})%按内容索引 : p) \1 M2 F* Q4 H
+ M& U( u: B! Y! R" A ?, ]
ans = ' Z' q- E$ S* B# L0 z p" y5 z
" K9 p0 o0 |! Ddouble 1 _. w1 e* t" G9 K
- `; V/ g9 c: _; g4 b* G( _>> class(B(1,1))%按单元索引 5 S, H* W t! E9 C7 J% i' p
9 W) p# ]( `: L& g' S: F
ans =
# ^4 J: g4 d Z9 H2 l
0 {0 J+ [5 c4 b, \" ^6 E4 scell
5 M: B8 i1 Y: k8 ^) [由上面的例子可以看出“由单元索引”和“由内容索引”的结果是完全不同的,“按单元索引”得到的是单元的标识(即单元里是什么类型的值),“按内容索引”得到的是单元的内容(即单元里是什么值)
8 X) d1 O* l3 Z1 g
$ o1 Y; O9 \- k5 I/ A& u% s. X1 [" g$ F. ?% ]* \
) d) J' R9 b* f" J4 q$ N5 m- G, r
2 ~1 y- O+ F5 ~) `) H4 P4 |# l
7 K% _( Y9 w( T2 i' e9 _
: z2 M2 q$ c1 F' G3 h k |
zan
|