QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3388|回复: 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 每当遇到一个新的变量名称,创建变量,并分配适当的内存空间。
    " P" O: }8 R7 b  z. }& [2 a2 y' [% a4 R
    如果变量已经存在,则MATLAB替换以新的内容的原始内容,并分配新的存储空间,在必要的情况下。) D, f% O" @' u* E- f9 ^
    & l- M5 s  ?8 C  f
    例如,1 T9 k7 a6 }" K: O1 K* H2 x
    6 Z& M; X/ M2 w/ W4 J
    Total = 42
    / C8 B9 d2 k  J3 z  C上述语句创建了一个名为“Total” 的 1-1 矩阵存储值42。1 t0 q& t; n4 A7 V" ]- U* i

    4 F& m) g( ?7 h* J) a. U! nMATLAB中可用的数据类型
    # v3 p* }& p3 X+ z1 n
    : h/ H* X4 |3 O& j4 s- b# W) r3 OMATLAB 提供15个基本数据类型。每种数据类型的数据存储在矩阵或阵列的形式。这个矩阵的大小或阵列是一个最低 0-0,这可以长大为任何规模大小的矩阵或数组。
    & e' ]7 h; j. b0 m1 G3 B( F' k% h' i9 ?+ L4 s0 g1 d" ]
    下表显示了在 MATLAB 中最常用的数据类型:
    $ I8 A  O0 ]% i$ i, A8 X4 O! Y" x0 \4 C0 Y/ H0 _
    数据类型        描述& I0 s5 O7 Z9 W6 A5 i
    int8        8-bit signed integer
    + a- Z7 K# \. muint8        8-bit unsigned integer% D, `, K& X' Z% r
    int16        16-bit signed integer
    / X4 d, I2 a  o) f: @uint16        16-bit unsigned integer2 U! b4 E- j! ^- a% ~/ U+ W
    int32        32-bit signed integer  X2 q0 V* D6 X/ F$ t
    uint32        32-bit unsigned integer
    " V) [6 w# Z# ?2 _/ k5 d2 Mint64        64-bit signed integer7 a, \; r+ y1 G+ }, M
    uint64        64-bit unsigned integer
    , H9 H3 Y% W# o5 t5 o4 d" dsingle        single precision numerical data8 ?" M' O; T/ Y
    double        double precision numerical data
    6 }& M- U+ y% h" @! g% Clogical        logical values of 1 or 0, represent true and false respectively
    6 r* ^# n5 k0 G( K5 K! tchar        character data (strings are stored as vector of characters)0 M7 J1 |3 i( D0 I; z+ d. {) @+ w
    cell array        array of indexed cells, each capable of storing an array of a different dimension and data type
    / q" O4 D# J0 [% P# h, w, Ustructure        C-like structures, each structure having named fields capable of storing an array of a different dimension and data type- ]" ^/ [( y* ?. q" I8 v4 r
    function handle        yiibaier to a function7 C* W, v  ~! ?; ^. Z; c: b, I/ A6 C
    user classes        objects constructed from a user-defined class8 ~) |0 o( O0 r4 g) Y$ J
    java classes        objects constructed from a Java class
    6 D; W" H* I- E$ {例子! f) @8 ]9 L9 z7 P5 l. _: F, }9 B9 h) N
    + a7 A8 X" t0 l% j: I
    创建一个脚本文件,用下面的代码:# k# e. {' Z' M9 v  E; ?# [
    - e0 w4 a. Z5 b; b! J& u! M
    str = 'Hello World!'2 ?$ J& N: K) T4 M& |( t( g
    n = 23452 N4 h) f" v8 v, t3 S, W
    d = double(n)8 A) `  l" m. l9 U0 V$ b: h7 `
    un = uint32(789.50)
    ' e5 E: t& X! A6 _0 D) J; ?rn = 5678.92347* o- e& C2 Y. X# I% |9 I
    c = int32(rn)- q  a3 W- c0 q
    上面的代码编译和执行时,它会产生以下结果:) J/ e4 i$ H  |$ R, ?
    $ {$ |0 |7 @7 j& I
    str =% O4 ?6 i' K) h. N' q
    Hello World!
    8 J( X* b9 ]% |( T  L& Y  xn =
    $ R: o. y: s; _2 {4 B3 a4 T* t; v1 r   2345
    : o, O  ^$ ~2 l2 s$ id =
    ' o: S3 N* |3 }' q% ]5 l: H9 e- r0 R   2345  P5 [# z. f& E; x
    un =1 j& U2 h4 S8 E* A  Z
       7906 q# B. Z$ e: _
    rn =
    ! h9 }7 W3 ^2 U) h" W% H   5.6789e+03" S+ ^' s6 h% v* A1 g
    c =
    % Y6 I# B$ ^) }/ V% v   5679
    ( i, Y) |4 U8 J( P+ ~8 G, p数据类型转换+ ?4 F! m9 a% c1 c

    & {" D9 G. s5 r, R. eMATLAB 提供各种函数,用于从一种数据类型转换到另一种。下表显示的数据类型转换函数:# l+ ^# I& p9 {& e' t
    ; v) _+ N+ p% t. a2 J
    函数        目的/作用7 u$ o) o1 ?4 X1 ]8 r8 z- }# ~
    char        Convert to character array (string). D& ~5 w! H  W2 ~. @9 w# _
    int2str        Convert integer data to string
    ! d% K& a: a2 X* k% h7 f7 omat2str        Convert matrix to string
    & q: [  x% s. E2 @- a8 Ynum2str        Convert number to string" e' l7 X0 X& ~. U& k
    str2double        Convert string to double-precision value. Q# W; B2 i" O  L* C0 ?% w8 j# M
    str2num        Convert string to number$ O# F# X4 J1 _3 s4 m
    native2unicode        Convert numeric bytes to Unicode characters
    , |6 g. x' O" K4 eunicode2native        Convert Unicode characters to numeric bytes
      h" U9 A6 m6 {, f. M5 jbase2dec        Convert base N number string to decimal number) o" P# e- @/ x2 f8 a( s& i
    bin2dec        Convert binary number string to decimal number
    ) `& q& b1 l$ _+ e( |, Kdec2base        Convert decimal to base N number in string
    9 g' ?- e3 D5 X2 Sdec2bin        Convert decimal to binary number in string
    & X: F& T* h2 B7 fdec2hex        Convert decimal to hexadecimal number in string
    ) t6 s1 X4 |% R, Ehex2dec        Convert hexadecimal number string to decimal number( ~# ]' D! s8 V3 H
    hex2num        Convert hexadecimal number string to double-precision number: R" K. E9 [- _
    num2hex        Convert singles and doubles to IEEE hexadecimal strings% ]8 y3 ?/ e% O4 P' V# l8 q9 h
    cell2mat        Convert cell array to numeric array
    ! F# x7 x/ B/ j6 R5 Y; x* ncell2struct        Convert cell array to structure array
    : X- y: J/ ?* f7 p2 d* ]cellstr        Create cell array of strings from character array5 Y* c+ p1 z! K$ H9 B0 X+ G
    mat2cell        Convert array to cell array with potentially different sized cells
    ) H- L( s6 B  A) Q2 Jnum2cell        Convert array to cell array with consistently sized cells' D( \. b: t  w
    struct2cell        Convert structure to cell array4 J+ V# u" h0 _: C- O* p' D; \5 q
    测定的数据类型
    3 ]6 T3 {" S4 m, \
    $ {% T+ m9 x% }MATLAB 提供各种函数标识数据类型的变量。/ {' `" c. @& ~, m" C- m

    ' `; k0 s2 t+ t9 Z# P8 Q下表提供了确定一个变量的数据类型的函数:
    4 M, L0 {8 r: Q/ l3 p% ?
    ) K9 o. `* W( D7 ?函数        目的/作用, B( e5 A; F: \0 R* L
    is        Detect state9 }; l' @7 k: i4 v( M5 O; R8 o
    isa        Determine if input is object of specified class
    . e& G% G) Z/ a% X+ d% piscell        Determine whether input is cell array
    8 F/ u6 g4 l  K$ h1 K4 Viscellstr        Determine whether input is cell array of strings2 ^- x0 T& n5 H( y  Q$ P
    ischar        Determine whether item is character array
    + P: `; i0 ]6 N; ^6 O* hisfield        Determine whether input is structure array field4 A( L6 ]3 {' q, A2 r
    isfloat        Determine if input is floating-yiibai array! ?2 i% U) X5 c7 d8 m
    ishghandle        True for Handle Graphics object handles: R% X8 `" b: a
    isinteger        Determine if input is integer array( M6 I, G5 N1 K2 N: p; S
    isjava        Determine if input is Java object# K7 I4 e, K0 Y/ c5 }$ z
    islogical        Determine if input is logical array
    ( V; F/ ~$ {. sisnumeric        Determine if input is numeric array
    & w; r0 m$ X6 |5 gisobject        Determine if input is MATLAB object
    4 j+ y- g& S! k7 v  w3 Zisreal        Check if input is real array% f1 y  C# r' u7 _2 A
    isscalar        Determine whether input is scalar4 N8 \& k; n6 \! ^1 \
    isstr        Determine whether input is character array! k; m2 V2 I9 Q* E% G. u
    isstruct        Determine whether input is structure array" a  {; x. `0 H" a
    isvector        Determine whether input is vector' f2 r: @* g; f9 i: O( ?
    class        Determine class of object9 H1 f1 c+ s/ W( U
    validateattributes        Check validity of array6 q- `) C5 Y2 Q4 M8 K) h8 N0 Q: Z, W
    whos        List variables in workspace, with sizes and types
      n: p: M( k, z+ g# u8 V/ m例子  y: M/ n7 a# ?0 E/ z- ^" ]
      h9 `; K6 B7 q) t- X: k
    创建一个脚本文件,用下面的代码:8 Q' b. b; S2 X0 B3 ]/ k# ]

    / s- H; [; a; [. O2 B; l6 c8 Xx = 3+ N  Y- z9 |* j5 i
    isinteger(x)
    ) I1 ^$ S' [7 d8 E3 V! ~# A  Qisfloat(x): k! @- s% d2 |/ O; i' ^* }; r
    isvector(x)
    / ~5 ]4 F9 C# j$ W( S& C4 d; I1 zisscalar(x)' ~( P# w/ U( b" S5 Z4 [
    isnumeric(x)$ U: m3 N1 z0 K1 _# c3 i

    ' p" S; |6 w# S& Ex = 23.54
    3 T/ u2 V- Y. l* \& n( L6 j" ^+ Nisinteger(x)1 R- ]1 R& b; l) X
    isfloat(x)
    ) m+ w2 I! @6 o8 Cisvector(x)
    4 ^* I& o/ d& v1 ]; s' D3 \isscalar(x)% `# _0 x: m) S# P" p/ J6 |
    isnumeric(x)
    , I( u+ ]6 i4 F2 h# s  M. X( p9 S( e% h; B9 F" K1 T
    x = [1 2 3]
    5 p% }3 T! \4 B- z1 Nisinteger(x): q* s4 c5 G& {: r# ]1 Q; X& v- H
    isfloat(x)+ ^5 u( q7 ]) L0 c# i+ U3 B
    isvector(x)
    $ L, h: ]4 W; Z% |9 Y/ \5 j6 T8 Qisscalar(x)& V" s  T4 x! B) c
    . p, v& F% H" R; X9 I
    x = 'Hello'+ D/ l; D" Y2 o( d
    isinteger(x)9 \: X; R) k* A/ z) l+ E0 u( w
    isfloat(x)- J) l8 N1 @1 P1 L# U
    isvector(x)1 e6 n+ x! K( Y9 ?6 _& X
    isscalar(x)& Z6 m  K" u$ Y) ^" j# [
    isnumeric(x)
      c# _; e; j+ \9 \当运行该文件,它会产生以下结果:
    8 f. k5 U  {1 r; c0 }1 T$ j' C2 }$ x2 h$ f. l
    x =' a7 B' @8 V% Y0 I1 z0 }9 R
         3
    * k" ?& W7 C$ uans =
    - o. m6 M+ W9 n8 V6 \! N3 a1 b     0
    3 s, h* O3 F6 j) x2 `ans =
    . M) S. l! z5 E1 h! C     1) ], x4 G! p8 m) ]5 |2 }6 P2 A6 o
    ans =
    2 m5 e; [( G1 X. \) N1 `( X     1
    # a- F3 O: M3 I6 t' zans =
    % i6 s! ^1 r+ a+ g. S     1) z3 l6 F$ k5 z$ W: ]
    ans =& [" b# ~0 a% ^; d2 \4 d
         16 h' r+ R* V* b& ?; W% j
    x =
    , |1 |$ H! d7 F; W   23.54000 N. Q7 M7 z& n  v& c, ^, U) D
    ans =
    ' \' K4 R+ j! [5 b! F5 _/ n1 U     06 H/ W. k- v6 z- S3 b' _$ o  W
    ans =# s4 t+ U& j# z! |/ U) ~( O% a
         1
    ' X, ]& c( F6 Q4 Q) v/ J# Pans =2 O" C: A4 ]; y/ t
         1# [4 A8 Z& ], g' ?5 H; q; m
    ans =
    : K7 G" D2 F- ]- A3 z5 J# Q# }8 {  J     1
    5 C1 E* T; ]3 m! K" q  Oans =
    0 e0 L5 X0 g2 }: b8 U1 k     1
    ; W$ S# u! G4 p6 e; Ex =! N) D9 m4 W6 T& _
         1     2     37 g3 M" u. R- t2 ]" M0 }
    ans =
    ) Y! {1 \: n) W     0
    / N- r: e6 B4 }+ {2 J0 z& rans =
    5 u) [. v3 n1 L5 \  l7 }  w! Y: u     1: f% o% R/ W+ j7 v% Q# o+ H  p
    ans =
      m7 U3 O+ [( [" T) V     1$ I7 l- K" ^6 A; i& H* J/ f
    ans =
    " p- D& J% k4 m# ]/ D     0
    1 Y% v, R) u4 D: q# jx =7 T; F$ ^7 l  d$ j: }/ ]; a0 A4 u
    Hello
    " K# S$ z1 ?" B- r5 Zans =) t* M6 k$ ^5 f& q( V  U
         0$ N- ]* H( c6 G
    ans =
    2 ~3 A5 s* {5 E2 C& R+ k  Y     0( T& X- C8 ?9 ]8 k
    ans =
    / h3 w/ f2 x' g+ L2 ~0 S     1
    + T9 o7 u% e; Z/ Gans =/ ]' y0 O5 p7 ?4 ~3 @& h* W
         0
    ) e8 ^; p4 d+ y: A, s  J! [ans =
    - n" s9 {3 K9 T! V$ Z     01 o8 ?* C+ B& y% Q3 P- u

    . x% M0 t. p& J: w0 P- P————————————————. y/ W: H0 \7 W& G8 A) G$ a
    版权声明:本文为CSDN博主「Phil__ming」的原创文章。) u0 p! N( @  K* a, B* H
    原文链接:https://blog.csdn.net/Poseidon__ming/article/details/750925751 |  V6 V& D( U- B$ }' O

    ( G4 _/ u. R/ Z- m, v
    / t% _! V) [3 I# ]# a) V
    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-6-11 17:44 , Processed in 0.408735 second(s), 57 queries .

    回顶部