|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
/ O/ ]8 X. B% R$ L' |
MATLAB基础教程(1)8 l0 ~4 E# D1 e' v% l
5 v+ D; |6 p. j2 { V变量和数组
9 C: U: T/ d+ N, p$ r* R) o+ T; P q
MATLAB程序的基本数据单元是数组。一个数组是以行和列组织起来的数据集合,并且拥有一个数组名。数组中的单个数据是可以背访问的,访问的方法是数组名后带一个括号,括号内是这个数据多对应行标和列标。标量在MATLAB中也被当作数组来处理——它被看作只有一行一列的数组。9 v$ i) g' ]" l N
% e {# ^# F1 u数组的大小(size)由数组的行数和列数共同决定,注意行数在前。一个数组所包含的数据多少可由行数乘列数得到。. ]8 ^$ D0 w+ f
! F- L5 F! [6 x) u2 r6 n
例如,下列数组的大小为:
\4 i5 Y/ V& g: {' c3 c
% q- h: E, h* m
1 s& i7 o$ D% j: B) w) m! l+ A
2 L q4 q( V3 x1 l' U N% a
8 F3 {1 D6 b" j1 H$ O! s; k
' @' M1 B3 C! j* c
( F, X3 k& V# m& A/ L数组中的单个数据是可以被访问的,如果这个数组是宇哥行向量或列向量,则只需要一个下标。例如上面的数组A(2 1)为3,C(2)为2。一个MATLAB变量是一段包含一个数组的内存区,并且拥有一个用户指定的变量名。通过适当的命令和它的变量名随时可以就调用它和修改它。
2 r. n$ { w7 }4 B- P- f2 C3 G4 R* a, ]! @! N
MATLAB的变量名必须以字母开头,后面可以跟字母,数字和下划线(_),只有前31个字符是有效的;如果超过了31个字符,其余的字符将被忽略。如果,声明两个变量,两个变量只有第32个字符不同,那么MATLAB将它们当作同一变量对待。+ M# C/ O* A, R0 _$ x% E
6 n( d8 a1 d/ m- _好的编程习惯
* _0 @" g% r& z9 O
* u! N1 c2 U6 N给变量起一个描述性的且易于记忆的变量名。例如,货币汇率可以exchange_rate为变量名。
4 f7 g, Z/ k: d; u! l: a; ~( {
/ `( [2 P' q8 o: v在所写的程序开头列出——数据字典十分重要,数据字典列举了本程序中用到的所有变量的定义。它的定义应包括本条目的所要描述的内容和它在执行所在的单元。; o$ u5 ^ C0 t& `9 K9 D1 b
+ O1 S' ]0 g4 J3 c2 k
每次用到一个变量时,确保变量名的大小写的精确匹配。变量名中只使用小写字母是个好的编程习惯。# v6 D8 K! W0 \ `. G* S
' j3 V" p3 ^5 C% K' y I; u- [4 T
两个最常见的变量类型是char型和double型。double型的变量包括由64位双精度浮点数构成的标量或数组。这种变量可以代表实数,虚数和复数。每个值的实部和虚部的变化范围为正反10-^-308~10^308,拥有15到16位有效数字。
2 v9 ?! g8 U: h& I% A; G& M- g' w) z8 V+ }
将一个数值赋值于一个变量名,那么MATLAB将自动建立一个double型变量。例如,下面语句创建了一个以var为变量名的double型变量,包含了一个double型的单个元素,储存了复数值(1+i);+ D# k" k) G) W3 X
# y( Q8 v7 I. I$ F- z+ pvar=1+i;
" \4 b8 X4 n+ x. L/ b, }6 _0 @- L, R7 k6 B2 @- H: h
char型的变量包括由16位数值构成的标量或数组,每一个16位数代表一个字符。这个类型的经常用于字符串操作,当一个字符或字符串赋值于一个变量名时,系统会自动建立一个char型变量。例如,下面的语句执行后,系统将会建立一个1x26的字符串数组。 q0 t' X# z& Z1 S1 ]
* q2 G7 T4 c% k; |# L* g& H: d! }, Y$ }2 Y) J# T
comment='this a character string';3 t& j" O) F5 P8 ^7 _/ ?! f, k
, o: q6 @) O# F0 c* v像C语言这样的语言中,变量类型和变量在使用之前必须强制声明。这种语言称为强类型语言。相对的,像MATLAB这样的叫做弱类型语言。通过简单的赋值形式就可以创建变量,变量类型取决于创建时的类型。
& w8 ~& _* @& G( J2 D7 a V; G) T' F6 r; W& O. U* z: R1 L; b
6 P/ U/ f( Q5 h3 e. Z' A+ z8 u
3 G; y7 k9 f4 q) x* R
3 b$ d2 `, G* w9 W) G) \2 e8 i/ _3 K+ l: B+ ~/ L% b
; u0 a, m6 e7 H# ^% Y5 L
! z( v m! l0 k$ X5 R. i |
|