QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3363|回复: 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 每当遇到一个新的变量名称,创建变量,并分配适当的内存空间。
    ) ]" f0 Q: o8 T) G* v, [% c
    ) k# }) m8 h  v7 Y如果变量已经存在,则MATLAB替换以新的内容的原始内容,并分配新的存储空间,在必要的情况下。4 u" a  B( N2 H  G: e
    1 \  {( E6 p, O! a' Q6 u* R
    例如,$ Z- L$ P2 L, j+ ^2 k

    % @2 |  R. H7 n: }* k8 f4 [Total = 42  j8 A1 R# `9 I- A1 Q
    上述语句创建了一个名为“Total” 的 1-1 矩阵存储值42。
    & _0 T' L8 Z4 `, u8 f5 d. O6 }* `/ i/ [( |/ E+ X" f
    MATLAB中可用的数据类型
      s' E* d6 E2 F  k6 Y( B' V9 X# v2 |4 w. D4 H
    MATLAB 提供15个基本数据类型。每种数据类型的数据存储在矩阵或阵列的形式。这个矩阵的大小或阵列是一个最低 0-0,这可以长大为任何规模大小的矩阵或数组。
    ' l; |8 z1 a6 g" g
    & i6 l4 Z6 L$ E; ^0 w6 W( @下表显示了在 MATLAB 中最常用的数据类型:
    ! n, W. }( k: {9 ]
    + M& n. q- c, r数据类型        描述
      r- V4 V" V* Y& B8 ~int8        8-bit signed integer
    0 J8 G% O# W% q' D  Ruint8        8-bit unsigned integer
    / d+ x) L) l: j( ?int16        16-bit signed integer
    . ^8 i2 s5 {7 D5 K2 L3 H& Y9 {uint16        16-bit unsigned integer6 H; D9 ]  i' x3 o+ g5 Z( N! w/ V
    int32        32-bit signed integer) B. K- J  }1 F6 i4 _
    uint32        32-bit unsigned integer# T. S7 r6 I" i) g5 d# W; e" K
    int64        64-bit signed integer
    ' ?# g! p/ P0 k3 a, F- X) {uint64        64-bit unsigned integer" {8 E/ P; h3 v" K, ^! t
    single        single precision numerical data
    # Z% C, X. h* h8 idouble        double precision numerical data3 r0 T  i+ j  C4 |* _$ {- ]- I
    logical        logical values of 1 or 0, represent true and false respectively
    # A- g0 q# m" n& D) x& A. f$ B" kchar        character data (strings are stored as vector of characters)3 c. O% d% c) c, d# }
    cell array        array of indexed cells, each capable of storing an array of a different dimension and data type
    . p/ h+ t* k1 g: e9 Nstructure        C-like structures, each structure having named fields capable of storing an array of a different dimension and data type
    3 W9 x  F# d' e: Ofunction handle        yiibaier to a function
    % z3 G; n1 ~0 j* C8 G: i: uuser classes        objects constructed from a user-defined class! j6 u8 W: o. S' i, L6 g2 Y7 s1 C
    java classes        objects constructed from a Java class
    ' Q  O; C1 A0 v. T/ G2 m例子% ~+ R6 f- H# b1 s+ W
    0 D0 C3 w, z2 z! _; S
    创建一个脚本文件,用下面的代码:2 L7 y2 q; o; C; C1 B

    ) q! E8 \0 p' F2 f2 p8 W- z str = 'Hello World!'; ]( C* Y/ ]/ z
    n = 2345* J7 ^( Y+ t3 Q6 D8 C
    d = double(n)" T9 T* }) p; a2 X0 ^
    un = uint32(789.50)
    9 `; o; @, G0 k/ w5 t3 Y# Arn = 5678.92347" f5 a2 f+ \3 E& `, C! i
    c = int32(rn)
    9 o' I& d+ r3 S- J上面的代码编译和执行时,它会产生以下结果:
    0 @- U4 I4 l2 K7 u& E9 v' J% J' q5 l/ Y% b
    str =
    . ^5 L4 G+ q0 b1 {( q! M# @$ t( CHello World!+ ]7 d* M$ F$ z3 j
    n =
    6 d! t: F! R, \   2345
    2 U# d3 {: _6 p- }d =
    $ j% F) |1 m( G; R. G( f6 a  J   23459 e& f4 P+ `8 z6 u
    un =$ T/ I& h1 {; }# @/ M: ^
       790+ [7 A6 h7 `& I" x
    rn =
    1 \5 f4 y$ t7 p. Z6 q" d   5.6789e+03
    % P8 P, L/ v) _6 b$ Bc =% x5 c: ]% V: M! g! k
       5679$ w; h/ h) y/ Y4 I# _
    数据类型转换! K! x: v( I/ D, C" H
    3 o3 G$ |5 T+ J& W& b! \1 n; u+ p
    MATLAB 提供各种函数,用于从一种数据类型转换到另一种。下表显示的数据类型转换函数:
    7 k8 L% {8 h. O0 A  X
    ; E( ^. @; f, e+ k函数        目的/作用
    4 J6 P$ p9 r6 W7 F' Ichar        Convert to character array (string)
    ( f- Q, `  f- _- k7 r; r, qint2str        Convert integer data to string( p: H; \' v4 N
    mat2str        Convert matrix to string
    1 M8 k8 b. z7 H& d# wnum2str        Convert number to string: W. K5 k% m* o5 G
    str2double        Convert string to double-precision value
    $ [" {  \5 j  Z: i1 J; wstr2num        Convert string to number
    % C* i+ q$ n% \& v# \native2unicode        Convert numeric bytes to Unicode characters8 @! O- q: U' X% ]
    unicode2native        Convert Unicode characters to numeric bytes  N/ B: ^7 j; v8 @+ \
    base2dec        Convert base N number string to decimal number
    + p- U2 w; H9 A, O: c  [! kbin2dec        Convert binary number string to decimal number8 A) t4 G4 |: C8 S  q! @
    dec2base        Convert decimal to base N number in string, r- b* e0 W. v7 W# Z8 ~
    dec2bin        Convert decimal to binary number in string
    * }# N, S1 |) }3 {/ z% _9 }dec2hex        Convert decimal to hexadecimal number in string5 x' C; d  V4 R9 w
    hex2dec        Convert hexadecimal number string to decimal number
    : l$ F: G& s5 zhex2num        Convert hexadecimal number string to double-precision number2 d# B, V) n/ h, t, [3 W
    num2hex        Convert singles and doubles to IEEE hexadecimal strings8 }# Q' i% W5 w0 k4 k) n* ]! K
    cell2mat        Convert cell array to numeric array
    9 d2 K" I# {& w' p# i' D+ {7 {cell2struct        Convert cell array to structure array
    $ @7 [, q) {1 ]1 k2 }% \cellstr        Create cell array of strings from character array
    7 x6 e$ }; x; w* F7 U( h" Emat2cell        Convert array to cell array with potentially different sized cells
    : f# W4 w1 i" R% j2 [num2cell        Convert array to cell array with consistently sized cells" [+ U4 _% G/ X: ~
    struct2cell        Convert structure to cell array! q( b7 ~+ g6 d' N
    测定的数据类型! L- m" ~1 _  ?- j
    & \( u3 E3 k9 R# U
    MATLAB 提供各种函数标识数据类型的变量。' R& A% \  S- O" K

    $ L& c% Q+ z5 z, @5 |- \下表提供了确定一个变量的数据类型的函数:
    ) P5 @+ i7 i) P2 E
    , I3 B2 ]" ~: ~. p9 w) P函数        目的/作用- s) y' U; S# I0 K
    is        Detect state
    ; X$ p3 F" M0 g" {0 Yisa        Determine if input is object of specified class  D. }& s3 m- T5 c/ b2 e, h) q( Q5 I
    iscell        Determine whether input is cell array  M9 @, T8 t. Z! w' v
    iscellstr        Determine whether input is cell array of strings
    - u# Y0 r  f8 b' t" tischar        Determine whether item is character array) Q- S% s+ H  r. y
    isfield        Determine whether input is structure array field
    - F5 L: V' H5 O- t* fisfloat        Determine if input is floating-yiibai array! N+ H6 \% q8 @
    ishghandle        True for Handle Graphics object handles9 R7 r- h# M7 M, x9 \5 A9 R
    isinteger        Determine if input is integer array; U& f2 E/ b* M2 E  r( P2 p5 I
    isjava        Determine if input is Java object) @0 J! V! ^4 G  W5 U7 `
    islogical        Determine if input is logical array) x8 g, }5 S( D1 I' a8 O7 L% E
    isnumeric        Determine if input is numeric array
    " e9 @  I; |2 E3 R$ W) Xisobject        Determine if input is MATLAB object
    & i" t  C% u+ V- s# V; h7 risreal        Check if input is real array
    ) J! y& c* ^' Disscalar        Determine whether input is scalar
    5 s3 ?# ~* H3 H7 Visstr        Determine whether input is character array
    . J4 X: A& z: T" g' A7 D8 Pisstruct        Determine whether input is structure array
    , x% z/ C8 B  C, i! bisvector        Determine whether input is vector1 m" O" f3 l: K( v! N1 G9 i
    class        Determine class of object" l7 H$ {% l2 ?2 X1 U
    validateattributes        Check validity of array# u5 ~% O" ]+ M: j& {) X5 @
    whos        List variables in workspace, with sizes and types4 T' y3 c+ P' K+ g6 k. i
    例子3 ^; j! S1 B. L+ N% c6 C5 z

    4 @& X8 k7 B* U1 L$ Z创建一个脚本文件,用下面的代码:0 k1 o: y9 V9 k. G* u% W

    1 J. ^4 h" |8 L8 Ux = 35 h0 @  T& K/ v/ @% B! D
    isinteger(x)/ O: p2 m$ ^- ~2 K# ]4 @8 d; [, i
    isfloat(x)5 l9 H! Y$ s6 K' L2 @
    isvector(x)
    # X5 v/ M' J/ E& jisscalar(x)
    2 W0 K7 _" x- Z6 ~* `% Iisnumeric(x)
    % J9 d1 P, n. H2 c' z; e5 S; d+ X$ F" y4 M2 o' T
    x = 23.544 ^3 y1 X0 g  A" ~, X7 w" [! o4 B
    isinteger(x)
    % i: \# p0 ?/ e2 [% _+ xisfloat(x)
    6 Q0 E! O3 z/ F: n( ]3 ~0 f- Bisvector(x)& I% t' R( n% v% @! L0 U
    isscalar(x)* N8 @1 w7 `1 r, H9 N4 J
    isnumeric(x)
    + `! c" r, o7 g: K' v1 H6 O% b  m
      Z# ?3 G/ h' Y& ?8 A% x; Sx = [1 2 3]
    % m* t$ P/ X' f6 T" Oisinteger(x)+ L" c  Y# e% ]. k& }3 X
    isfloat(x)' L8 F3 j7 \, T: N$ A$ |$ O
    isvector(x)) W6 L2 J8 S7 a
    isscalar(x)0 c5 g/ U+ |" {- t

    8 C- |; e. V- _6 Px = 'Hello'
    5 b6 q1 R# c& e+ Wisinteger(x)
    2 e2 d, L, l5 Tisfloat(x)
    * c6 t+ g1 A2 Risvector(x)
    & r3 @$ W4 ]) a+ Q, X9 {isscalar(x)
    / b1 [9 u* E$ f6 y& r6 w" ~' Yisnumeric(x)' M6 ?( K1 t' `! \. O
    当运行该文件,它会产生以下结果:
    * I! K% u/ Z" g, O% W& |) [3 T/ S- ?
    x =
    0 f3 H7 e+ k' D7 i: C     3
    " }0 D7 N6 s3 nans =, C( |; B' d: p
         0
    4 i" \% l1 ]0 w7 v+ F9 n* q/ L& Cans =
    $ D$ D& E) ]6 x7 X9 ?! ^- z( N     1) i: p  ^' i6 Y; ?0 b: r) D
    ans =1 J/ ?5 E: Q8 y
         1
    % I! \: s  n, S# F/ {+ m/ `; aans =
    : ?, @1 h3 i9 A' Q     1
    ) f# J$ O. E0 T: gans =0 ~/ k# A7 K$ r6 M; v7 @
         10 [5 D8 E% a0 d, _$ r9 {
    x =
    4 a4 ^. d% ?  d0 ^; ~5 s  Z$ n: y. H1 a   23.54003 c& v1 l: G, l  ~) `$ h
    ans =9 M0 l& l, D- q5 c. r2 E" l) x
         0
    ! n' u# B1 W3 ?8 g( V2 T7 h' t0 \ans =
    6 K: r+ f- I# i' j/ g  r     11 R8 O% x) P0 E. L5 I
    ans =  X) U' [. F0 j3 v
         1
    3 u- X0 E' R6 s" o  rans =
    + U. \+ A6 M3 {' \: s( X7 ]# x     18 W5 T8 ^9 C# S: S
    ans =
    , O, h/ Q% _  Y$ y+ J0 K/ N+ e. j     15 Z8 V: \& t: k! K$ q0 i9 N8 Q
    x =
    " G* W& |; e. w! g7 j5 R) _% O     1     2     3
    5 R2 x) Q( D" H8 x4 @ans =
    ; [( k$ {  ]8 u; G     0
    # y3 z. X( {* Q; ~& |7 b; mans =, l7 ^3 Z7 {8 H" C5 B
         1
    - K6 t6 ^, [" j: K: i- t' pans =  O, ^0 ^% h7 C
         1
    7 Y9 j4 z  O# nans =
    # M1 \! e7 |0 j( D     0
    2 U% @9 B2 S1 A/ z2 [x =$ I. t, e7 A( r! C  F
    Hello5 z3 Q* ?( q! M2 Y( _4 J
    ans =
    1 _, P! @" i9 ~/ O) L     0
    " m1 C  A3 J, Gans =
    1 _6 R4 b- k) c: H! V- c+ _  _* i     0' U- G7 e  d7 J# C; X1 K0 l
    ans =
    1 f# k5 ?3 h0 ]     1
    3 \( f5 S5 g4 `ans =
    ' i; w. W" Q9 w  U# c8 ^     03 |. Z5 c& S- v. W4 i  p8 w( `4 v
    ans =  _( ?5 C/ V9 c" X! b" D
         0
    4 ^! R+ ^6 A" s% C* k$ U
    % K7 J) t  T" d9 L# D. k# E6 z" K: v————————————————4 _9 I6 L( E' `5 G
    版权声明:本文为CSDN博主「Phil__ming」的原创文章。3 }2 e1 x4 F# S- s' Q/ t# m9 Q
    原文链接:https://blog.csdn.net/Poseidon__ming/article/details/75092575+ k4 ~# H; b5 X9 V
    * M8 f  A' O0 I% Z) G' q

    7 q( {+ p. C' W" O, d4 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-4-19 18:48 , Processed in 0.416989 second(s), 58 queries .

    回顶部