MATLAB 并不需要任何类型的声明或维度报表。 MATLAB 每当遇到一个新的变量名称,创建变量,并分配适当的内存空间。7 A4 m& t+ W7 v4 C- U. G6 ^/ K
, N! M8 B# n8 u, M% z
如果变量已经存在,则MATLAB替换以新的内容的原始内容,并分配新的存储空间,在必要的情况下。 # c6 l _1 g9 r' v/ z5 Y% `) \6 k2 ]. _1 G
例如, / k" E; B& z8 z% Z0 ~ 2 b& b3 n h" ~& d) f+ BTotal = 421 w) F2 V5 s( |
上述语句创建了一个名为“Total” 的 1-1 矩阵存储值42。 / }( h+ q2 e: Y; o4 a1 Y . g" b' J) e+ _* uMATLAB中可用的数据类型 2 {; Y" Z1 J; I- E3 [ ! M2 ]/ Z1 }' m) \+ ?. u XMATLAB 提供15个基本数据类型。每种数据类型的数据存储在矩阵或阵列的形式。这个矩阵的大小或阵列是一个最低 0-0,这可以长大为任何规模大小的矩阵或数组。/ h8 Z! N( l. R f! f$ i: F# c
% E/ R/ F$ o9 R
下表显示了在 MATLAB 中最常用的数据类型:7 q. y# ?: V$ C6 x4 f" [+ |1 ]
0 W3 e% [5 O- n3 Q n$ y数据类型 描述 , a" y/ U8 W7 Y: a4 iint8 8-bit signed integer : H& |& K }! Q8 a' X, Fuint8 8-bit unsigned integer # [. u) @2 b: O0 D: j$ _/ n- K* bint16 16-bit signed integer2 m* u5 h. n& k0 Q7 c
uint16 16-bit unsigned integer) c* k* B! y, }
int32 32-bit signed integer0 \* @( @9 o) i
uint32 32-bit unsigned integer; W( N) F. B$ f/ Y: K! A
int64 64-bit signed integer n7 i: H* M: p3 w4 Ruint64 64-bit unsigned integer $ m. B: ?: x5 e8 J* n1 n" `: `single single precision numerical data 9 | O- ^$ d3 Ndouble double precision numerical data( l0 r+ {$ L# Q
logical logical values of 1 or 0, represent true and false respectively X: X6 ~$ V% F1 D4 r* tchar character data (strings are stored as vector of characters) * @* K& T. l/ c C9 e, K# \cell array array of indexed cells, each capable of storing an array of a different dimension and data type! s) J: i* D8 H0 H
structure C-like structures, each structure having named fields capable of storing an array of a different dimension and data type ! M( T$ d& J+ B$ F4 L1 _/ r P) Cfunction handle yiibaier to a function8 l) s* w" m O$ x! T
user classes objects constructed from a user-defined class3 o* h& F6 x/ _$ L
java classes objects constructed from a Java class8 M% {% b: b" f2 h
例子8 y# x8 K O$ K3 L _2 ~
! Y% j% d& L( \! {, G" G4 U, A
创建一个脚本文件,用下面的代码:+ P! e/ S: K6 {: F r- q
7 c+ @" ~$ ~4 t str = 'Hello World!'3 x# ]& ?- P: x0 p( N+ _4 `
n = 2345 : m, D9 @/ _; Q" M1 ^9 H1 qd = double(n) % W( h0 a* \6 {" {+ q9 {un = uint32(789.50) , e! @/ v% x! j9 E" ]rn = 5678.923470 g3 }; Y2 O2 }. t4 z- H9 G
c = int32(rn)5 k3 @; W. r- e0 y& ?9 Y
上面的代码编译和执行时,它会产生以下结果:, V* @ S9 Y/ ] R* h* k
& m$ |' \9 N7 m1 x7 q
str =! x! Z1 f( ^; E0 N; a
Hello World! 2 y0 B! _$ f- T! f P6 in =# h, A- T4 J' U$ y% b
2345) u, B8 G9 I8 L6 s: {8 n- z
d =0 t! D: G! }1 ?& f
2345 9 w8 ^% t3 B9 W3 i; yun =, i8 ^+ z9 a% i$ L! i
790 3 y/ p6 r" ?4 E ^. s& drn =0 n( Y, h" G9 ~! J9 w b
5.6789e+03 [& r9 Z8 F9 d" b. `9 g
c =) _: [' {( b* R5 l
5679 + n) {5 z! {. L0 a1 k' u/ v数据类型转换% j2 V% j9 B0 D9 E& p