QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3422|回复: 1
打印 上一主题 下一主题

MATLAB数据类型

[复制链接]
字体大小: 正常 放大

326

主题

32

听众

1万

积分

  • TA的每日心情
    慵懒
    2020-7-12 09:52
  • 签到天数: 116 天

    [LV.6]常住居民II

    管理员

    群组2018教师培训(呼和浩

    群组2017-05-04 量化投资实

    群组2017“草原杯”夏令营

    群组2018美赛冲刺培训

    群组2017 田老师国赛冲刺课

    跳转到指定楼层
    1#
    发表于 2020-1-20 16:59 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    MATLAB 并不需要任何类型的声明或维度报表。 MATLAB 每当遇到一个新的变量名称,创建变量,并分配适当的内存空间。
    ) r6 _8 Z: h- A  k5 _; y5 }8 A) k. t6 v* e' y0 M7 u9 ~
    如果变量已经存在,则MATLAB替换以新的内容的原始内容,并分配新的存储空间,在必要的情况下。- U( R+ `  r& R( W" R" F* H7 }, }

    8 W9 G7 [8 W0 W, a$ G0 Y, w5 ^例如,
    : ]. t3 H" Q% Q, Y& y# o1 J* `3 c4 N! D
    Total = 42
    & d$ k5 O+ y; g6 K2 d. w; A上述语句创建了一个名为“Total” 的 1-1 矩阵存储值42。
    9 J% y+ G$ ?, H- @8 S. {
    ' s  h& q( X$ cMATLAB中可用的数据类型
    " e8 H1 t) ]5 L3 S( J9 D  u8 U0 a+ D1 ^
    MATLAB 提供15个基本数据类型。每种数据类型的数据存储在矩阵或阵列的形式。这个矩阵的大小或阵列是一个最低 0-0,这可以长大为任何规模大小的矩阵或数组。2 l  b! x+ ~+ m8 u$ q2 K

    7 X3 ]( K3 ~+ U: j下表显示了在 MATLAB 中最常用的数据类型:# E( v6 l. X7 d  Z6 j

    ' w: S, `, a4 W( _+ Q; E数据类型        描述! _* ^! @( c+ C4 |  T& N( `
    int8        8-bit signed integer
    % r$ e% M  b* {uint8        8-bit unsigned integer: Q. r8 W' \" T, _0 p  c2 r
    int16        16-bit signed integer
    # u& g1 q) i7 Tuint16        16-bit unsigned integer! b. c# a' \; ~6 d7 r
    int32        32-bit signed integer. Z, t, n! l% o. r9 [; [
    uint32        32-bit unsigned integer
    2 P& {5 B: s) p5 T2 `. X0 q' \% N* uint64        64-bit signed integer# P+ w8 `: z" c* ?5 k9 \
    uint64        64-bit unsigned integer. p" v: Q, N9 H" D
    single        single precision numerical data" |; K2 [4 _7 l
    double        double precision numerical data& R+ U3 W. {8 C) c9 V
    logical        logical values of 1 or 0, represent true and false respectively3 N, K8 {! K5 G9 L& c" E$ f
    char        character data (strings are stored as vector of characters)& _$ B* [/ a3 F0 j  B
    cell array        array of indexed cells, each capable of storing an array of a different dimension and data type" `7 @' W) L- R8 ~: _8 m. g
    structure        C-like structures, each structure having named fields capable of storing an array of a different dimension and data type
    8 }8 K0 H' O/ }- T8 ^function handle        yiibaier to a function. H8 z( b' \1 K) l( \/ Q6 \  O
    user classes        objects constructed from a user-defined class1 ^5 J- {; E5 s1 I  e) E
    java classes        objects constructed from a Java class
    ! j! i' S. J: J4 Z  E7 w例子# \$ G! L1 s. z2 K5 F$ \0 E
    9 p, x+ A9 F& x9 d* H
    创建一个脚本文件,用下面的代码:- {7 M4 m) D( ^* ~2 ]& R, n% p
    * T2 A) v0 Z6 X$ W
    str = 'Hello World!'5 Z+ n# ~& r7 |: ~3 r1 }, G
    n = 2345
    * b9 B- }; o8 y  ~8 ]d = double(n)/ [# b3 K9 H$ f2 @, w; Y% Y; ]
    un = uint32(789.50)
    2 n6 L8 u- J, `! ], j# F* Krn = 5678.92347$ a& D' ?. H6 O% y  P
    c = int32(rn)
    ; U$ u( K) S) r% w! G: A6 K上面的代码编译和执行时,它会产生以下结果:
    : Y9 m7 k# D2 \/ X* _: y9 ^: S% c. s
    str =
    9 R/ l4 X: B& ?' k2 q7 l8 I) j6 k* j- WHello World!5 d- h$ ?9 d* D! G
    n =- _+ d) g2 X, H! X
       2345
    1 V4 N* ~! d  ~- N, Sd =& Z0 H8 i; d0 t2 i0 \
       2345, P# ^. v; c6 t8 F$ Z. \
    un =( S% b9 W, l) o# w6 u, _& Q8 i6 Y, Z
       790
    . V5 h4 ]9 {' V5 ]rn =
    + T: D; G* V& [! ~6 Q   5.6789e+03
    - y+ B+ M6 ~0 z$ Kc =
    5 P3 v% g# q+ i) {" M' U3 U   5679
    . V, [3 d+ N% V  s* Q; R: e  R# ]数据类型转换
    3 w4 G( F+ V3 ]" t' J4 G. [' p
    # l; z1 `/ ]1 DMATLAB 提供各种函数,用于从一种数据类型转换到另一种。下表显示的数据类型转换函数:7 G( f7 N  ]9 P; e
    " i: F; C5 ~% Y7 z+ U. A, I
    函数        目的/作用
    5 e3 x. u& x: K. O$ gchar        Convert to character array (string)
    . @+ y( y7 s% `0 ]% {4 m2 B0 o6 `, p2 Rint2str        Convert integer data to string
    & P; {  Q1 J' ?" Smat2str        Convert matrix to string% F8 ~' E/ a: _/ W: J/ s6 _7 ?" Y
    num2str        Convert number to string
    ; {6 h( s$ B9 _  O, Hstr2double        Convert string to double-precision value
    8 v( K% i' @$ N& r% M( rstr2num        Convert string to number
    # I: |- e. j; p6 x; [4 \* xnative2unicode        Convert numeric bytes to Unicode characters
    . B6 y/ O- h6 L3 o" Iunicode2native        Convert Unicode characters to numeric bytes
    9 z1 z+ E5 K9 E$ `# [. mbase2dec        Convert base N number string to decimal number
    4 b, w8 H. p0 d& C  L# ?0 Nbin2dec        Convert binary number string to decimal number
    ; F) s+ r) E3 k. I: X! }4 f* s! Gdec2base        Convert decimal to base N number in string
    , x: c' a0 N4 c. e: _dec2bin        Convert decimal to binary number in string3 d; ]: o7 m+ n2 n* ?9 @7 {0 f
    dec2hex        Convert decimal to hexadecimal number in string) G' ]3 Y& u, y
    hex2dec        Convert hexadecimal number string to decimal number/ \6 r2 s- ^* S& o; {- @! ~
    hex2num        Convert hexadecimal number string to double-precision number
    % k! O+ Q: \1 @. {8 nnum2hex        Convert singles and doubles to IEEE hexadecimal strings
    ; J2 R5 {; V4 m& B' A+ ncell2mat        Convert cell array to numeric array
      b  `) c9 \! V/ [3 W% }; _! dcell2struct        Convert cell array to structure array
    7 c* z1 ]# i, D  K8 Z) K5 ]# u. Tcellstr        Create cell array of strings from character array2 T+ R7 v" z9 ~( n* T( u
    mat2cell        Convert array to cell array with potentially different sized cells
    ) e- q9 T# {( X$ n3 Bnum2cell        Convert array to cell array with consistently sized cells
    9 w8 p1 Y, _$ ?8 }  N$ U0 F7 estruct2cell        Convert structure to cell array
    . k' |3 H* O/ `+ i测定的数据类型3 G2 C( D$ e. e  ?% X
    1 Y5 Y# Q# h  h. P$ g: ]0 G
    MATLAB 提供各种函数标识数据类型的变量。! s* J: m, @* @& e: r9 X
    6 V; _" e' Q( `* M) w0 {1 b
    下表提供了确定一个变量的数据类型的函数:
    5 E( C' ^" M  a, ]/ m% o% R$ c! _- V5 B6 [/ I2 f& A
    函数        目的/作用
    / B0 [1 ^  a% w% Y! c: x: ~9 q1 qis        Detect state9 z. c2 M4 l9 k8 L% g7 N" ^+ E9 D
    isa        Determine if input is object of specified class" T$ w+ t# w$ g
    iscell        Determine whether input is cell array
    , M( W  e9 U0 L, j& E" Q! Oiscellstr        Determine whether input is cell array of strings
    " H5 V5 K6 u' s$ Fischar        Determine whether item is character array
    5 U5 t4 ]& u3 F0 ^2 r! ?isfield        Determine whether input is structure array field, H, T) V+ j  C8 o  ~1 ?5 [5 `
    isfloat        Determine if input is floating-yiibai array
    : Z7 E/ q4 F" R: ]+ y$ Sishghandle        True for Handle Graphics object handles5 m, H" F. i' a% G2 F
    isinteger        Determine if input is integer array3 C( y# B& q. d" p7 z
    isjava        Determine if input is Java object
    : q6 X5 |" ^" r/ @$ N# t' {islogical        Determine if input is logical array5 a# i, g2 }4 m( K' y
    isnumeric        Determine if input is numeric array) D" B( W( G* g$ t7 }$ i
    isobject        Determine if input is MATLAB object
    4 Z& {# M* Q. R" H" Xisreal        Check if input is real array3 I' Q2 f6 A; ?5 f7 w9 D  K# R
    isscalar        Determine whether input is scalar, z0 a6 f" T! ?8 }' ?
    isstr        Determine whether input is character array
    $ w: f2 l8 r# q- o. Visstruct        Determine whether input is structure array
    6 y7 M) W- S& A0 i  bisvector        Determine whether input is vector
    9 z) Y7 {$ {3 u7 h! Cclass        Determine class of object) e% M$ x5 ]# Y" o9 C
    validateattributes        Check validity of array
    ' @4 X' h3 K) C2 p( y! h& zwhos        List variables in workspace, with sizes and types) o! J! Q+ X4 j3 G8 T; j! @
    例子
    # _5 U! k$ _( Y1 K4 \& `' s
    ! Q- e' Z+ y5 B0 ?/ U; U创建一个脚本文件,用下面的代码:3 P1 z) Z6 j4 j! a$ t6 i
    2 ]) X% ]$ S( D9 j7 O! V
    x = 36 `+ d/ Q& z* L& ]
    isinteger(x)
    ; R6 r9 M3 g, W8 m# E) qisfloat(x)
    ; Y( Z0 \3 H  q) V& }isvector(x). l$ Z, h- }" D( ]" |4 f
    isscalar(x)1 Y: ]/ _; I* }) z: p! g3 J2 k* |  S. R. Z
    isnumeric(x)
      H7 [: r8 T9 z
    & P' w* w, w: p9 Wx = 23.54
    3 r3 ?0 Z# u# s6 z5 b; v7 L2 Xisinteger(x)
    / D! h. u/ \3 T6 ?0 Lisfloat(x)" U% T1 A/ i. m$ Q5 F7 z0 z" \
    isvector(x): d/ ?1 W: {5 e# R# M7 a
    isscalar(x)
    - d! D+ d, U  a% Nisnumeric(x)
    $ y, e* x4 P0 j& y8 y9 w! Z, N1 ]
    * \% k6 ^) {0 G% f3 o3 b; Z3 a: }& Mx = [1 2 3]# c3 B- m3 Q, F9 c4 n! g
    isinteger(x)4 L8 `" H7 C! u: i- Z
    isfloat(x)
    ) f2 w1 `' W4 Q/ E4 n$ cisvector(x)
    5 Q" l# l- J4 h6 X4 K: f3 Xisscalar(x)
    * ~: S: T* M) R' M  K7 |% F$ `
    ; i2 \( K, G5 ?% F4 N" Qx = 'Hello') W  o. p- `& z/ `
    isinteger(x)7 q1 Z8 R& s, `# k3 |. N9 g
    isfloat(x)
    - @7 _( n2 I& L8 r, w: n) misvector(x)
    7 c# L! B" I# q- A( Kisscalar(x)
    6 y: Q/ v6 r8 z; E6 F0 b8 h) Sisnumeric(x)4 }. e: D% I- T9 q% W4 a% X
    当运行该文件,它会产生以下结果:1 f' d( D9 v1 v4 p6 g0 n* V
    & b( p7 z) Z2 N" F+ O# u6 d
    x =! M0 e3 |6 n# n, G
         3/ d8 x0 u) p9 W8 y- d
    ans =
    2 a' K% E9 A; [2 q+ ^5 K- `1 d$ B     0, |( X8 U7 G- v$ B/ S
    ans =& [9 Z5 S7 M" a8 x' O9 }
         1% U$ E' m% j5 R; Y2 V* H6 ?' F
    ans =
    * F4 [: E6 I* W" ~$ K- H2 h     18 s7 j7 e$ S0 s. T' |7 f) \5 R
    ans =! @! I8 A6 _8 R8 `6 w4 ]
         1
    * ^/ a6 n6 w, t+ ?ans =3 ~* v$ N4 ]* G! c) a, Y
         1
    : {" q$ s/ l$ R2 p" cx =+ ?0 P* s2 C3 P
       23.5400
    $ l+ f8 H: o8 |ans =7 y* `8 Y1 g4 ^' K
         0
    / L4 o) A* A0 L: f/ A( Uans =
    & c5 b' @2 v/ I/ M2 x" F     16 A& V. J9 p) d& c
    ans =
    ( _4 N9 g8 w0 X9 `! U     1& K" U$ C; T+ x+ `& X
    ans =3 B7 l  J: _  l1 d$ M4 T
         18 Q: I! y5 N8 h# q$ l9 o& O
    ans =1 H4 F$ ^, _7 _5 _5 R9 V
         1
    2 E$ Q7 x. C3 _7 b: z6 W% Ix =- ^9 S  h" x2 `2 D; `
         1     2     3
    , a3 b/ z% O+ g: V+ Nans =$ h3 s7 G' B* v$ W2 B+ [) K
         0
    + L5 L4 {5 P+ |" Qans =
    % y1 H- f0 g( D: C     1
    2 w1 V# y- R( y+ u$ v# ?- ]ans =4 l) ~7 I+ \( T2 X, d
         1
    ) I) y5 Y9 N# s3 G+ Dans =' n% U# B4 [9 S: X& d3 u
         0
    0 O! I* U7 d0 E  Vx =. f; G6 P% J( T% y5 q: E4 @2 k4 s1 x
    Hello/ q1 y7 g6 T( Z; g, J$ ~2 p
    ans =
    ( m6 \# j3 ^8 L" a! J0 ^7 J     0
    : [' e8 X; k* ?) ~& ]1 s' ?) eans =
    5 f4 ]0 v! D" Q     00 U3 _' @9 {$ m2 C
    ans =
    ) C% w" P% U. e6 R     1
    - ~* C0 C) H, g% |5 g* z" jans =
    / b$ N, W! x& w' [  e     0
    7 ?5 v) q  W1 O% W1 _2 Lans =2 v5 h$ b, J/ _! O
         0
    ; f$ ~+ Q/ ^( b4 P* |- I1 O1 V9 A+ x$ g$ v
    ————————————————
    9 z7 ~- Z6 i- ^9 U1 g版权声明:本文为CSDN博主「Phil__ming」的原创文章。
    * }# y# y9 `1 Q% M1 p( e原文链接:https://blog.csdn.net/Poseidon__ming/article/details/75092575' S& l& u' ~9 k! y4 d3 x- P0 E1 `) B

    1 t+ c" p* v" x" A' `+ z; V
    # W& S, c2 ?+ b* G' {8 b
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    0

    主题

    1

    听众

    59

    积分

    升级  56.84%

  • TA的每日心情
    开心
    2020-3-22 18:15
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    邮箱绑定达人

    群组数学建模美赛备战群组

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-8-8 02:59 , Processed in 0.355821 second(s), 56 queries .

    回顶部