QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3420|回复: 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 每当遇到一个新的变量名称,创建变量,并分配适当的内存空间。
    / ~# x( T7 a. m* ?8 z  e1 H) ^. A0 ~5 D7 g' s
    如果变量已经存在,则MATLAB替换以新的内容的原始内容,并分配新的存储空间,在必要的情况下。
    ! D* n6 V3 G5 _. n* [  z9 _# x5 y% D, }
    例如,% ~- L8 l) m8 }6 R( T  y
    5 A, @) l  z% j" D
    Total = 42
      j; C7 s) f2 `  j+ r+ v$ H3 J. n, R上述语句创建了一个名为“Total” 的 1-1 矩阵存储值42。
    ! d7 ^$ Y5 D$ q1 n5 q+ L7 m
    ; r5 J* @1 q! F& ^0 p# p; MMATLAB中可用的数据类型
    ! W0 P9 p9 M# ]- i0 f: n) r
    ! g# [8 z9 U) mMATLAB 提供15个基本数据类型。每种数据类型的数据存储在矩阵或阵列的形式。这个矩阵的大小或阵列是一个最低 0-0,这可以长大为任何规模大小的矩阵或数组。, ^% x. X6 L0 Y4 `8 V* A$ i8 p# `
    7 u4 y" i! e; [+ o7 _( W5 J0 {1 ]
    下表显示了在 MATLAB 中最常用的数据类型:
      Z1 y' A- j9 |9 n3 j! A% ?7 X
    . L" n6 u0 m& G  I3 M' T, W$ s! C7 o数据类型        描述  p6 I6 B8 H$ ?  c- t+ d
    int8        8-bit signed integer
    2 C7 Q# b( }0 ?# Ouint8        8-bit unsigned integer! `% h) q! R# a) N+ V
    int16        16-bit signed integer+ c6 `& ?* W7 l7 T, ~9 l1 m+ C
    uint16        16-bit unsigned integer
    9 K! s! c- O1 Y. mint32        32-bit signed integer+ v  L) J/ X2 q. r  c
    uint32        32-bit unsigned integer. c: X' d) }/ v. I/ ~& s  y7 P4 Q
    int64        64-bit signed integer
    2 F) ^" |' [: s8 A" \/ U9 ?uint64        64-bit unsigned integer) h* ^6 k8 }7 e3 p
    single        single precision numerical data
    7 L4 q, T, b0 y  mdouble        double precision numerical data4 @: g( D, j8 X- @" Y1 [
    logical        logical values of 1 or 0, represent true and false respectively7 d: X5 R/ A4 y$ \6 R) }  ]2 a7 ^5 x/ P
    char        character data (strings are stored as vector of characters)' }# G& }7 \4 Q$ F7 W2 L4 U
    cell array        array of indexed cells, each capable of storing an array of a different dimension and data type
    % W. T$ N7 y- L5 sstructure        C-like structures, each structure having named fields capable of storing an array of a different dimension and data type/ T# L) ^  B5 z/ O1 c" K5 O
    function handle        yiibaier to a function# [  \+ s. l7 k" z
    user classes        objects constructed from a user-defined class* B2 V" R1 ]2 g9 N, H2 ~' c
    java classes        objects constructed from a Java class
    $ B- P9 A# x7 ~, i. N# ?1 P& W/ S2 J+ V例子
    5 g! H# k9 }: t
    , \6 g  s* |# G9 }( t创建一个脚本文件,用下面的代码:
    , G8 {! O5 _" }, P, F
    / \5 D% K9 p8 l; t1 G3 [/ N" j; g str = 'Hello World!'
    0 }2 @; a+ Z3 c' `. b: I1 Dn = 2345
    ' b9 j9 z( f: Dd = double(n)
    & J9 [3 n: k* @( ?& T* E* G* I+ \un = uint32(789.50)9 V  h! E. v& Q
    rn = 5678.923479 p! v4 c$ L  J5 {2 C2 U3 Z% L9 L
    c = int32(rn)
    & a2 L& f" y1 ]上面的代码编译和执行时,它会产生以下结果:: F" z$ c" E' J% ?  u5 ~: R- Y

    2 j0 q* b9 m- zstr =: I3 b$ H7 I3 q( e& Q1 H2 S: J. M2 O
    Hello World!
    % \# {) O7 M. yn =. x4 J% x  t/ E( S9 P8 w
       2345, l. x1 l$ O4 b9 w) V
    d =9 c8 }$ t& _* d0 k7 }
       2345! ?  h4 t9 b# F3 Z
    un =
    6 N% _; [- M5 e! N* f% l, a: [0 W; T   790$ k+ X1 U# }" @2 O% t5 ~9 w
    rn =, _) O& j" o% M' a  q
       5.6789e+03
    7 w; k6 `; S5 _" ic =
    : c' d: V% m9 v0 ~( ~   5679! C. N# s' J5 C: a
    数据类型转换. P- }+ d1 h6 D- b; H6 J
    3 P: e4 P& F7 o
    MATLAB 提供各种函数,用于从一种数据类型转换到另一种。下表显示的数据类型转换函数:
    3 t3 g. p2 C9 s  T
    3 T* r9 D2 s# i8 Q- e函数        目的/作用
    $ D, {7 L( d5 M  p) qchar        Convert to character array (string)
    , f0 a- X  k% t* uint2str        Convert integer data to string, b6 t1 ?# \6 `& F" J; S& J$ S; u
    mat2str        Convert matrix to string
    2 a8 {' g) \2 v# K1 t: A; |num2str        Convert number to string& C0 q! o2 J& @0 }. |
    str2double        Convert string to double-precision value$ @: E$ `7 J* D
    str2num        Convert string to number
    " h/ z/ L3 S2 m0 v5 Z% P( [native2unicode        Convert numeric bytes to Unicode characters
    - N, x& \8 g6 o* X1 aunicode2native        Convert Unicode characters to numeric bytes
    $ r+ a0 G' ?& ~0 m7 Xbase2dec        Convert base N number string to decimal number. H  z& A6 ~$ N2 b
    bin2dec        Convert binary number string to decimal number' W5 o* T6 ?7 t8 h' S& @8 |# d. j7 V" V
    dec2base        Convert decimal to base N number in string
    ! `' b- }4 ]  V3 C6 udec2bin        Convert decimal to binary number in string3 }& Y4 ], ]8 O: v- _3 q: e8 @
    dec2hex        Convert decimal to hexadecimal number in string. {6 Y$ S8 q& b% c- [+ p
    hex2dec        Convert hexadecimal number string to decimal number
    ; w+ n. E. Q& F2 y) K; X. g4 Shex2num        Convert hexadecimal number string to double-precision number
    9 g9 L1 _5 K) w, i) L6 I7 p( F3 Mnum2hex        Convert singles and doubles to IEEE hexadecimal strings# z& O$ M# S/ X. m
    cell2mat        Convert cell array to numeric array
    ( Q# M6 p) c9 k  X0 [cell2struct        Convert cell array to structure array
    $ B% W! G5 w7 u5 jcellstr        Create cell array of strings from character array/ h9 O" |4 X% j" c" Q0 b
    mat2cell        Convert array to cell array with potentially different sized cells0 V, J, z: p* g6 c" @  I
    num2cell        Convert array to cell array with consistently sized cells5 I+ M% H! X  p% B5 ]( O
    struct2cell        Convert structure to cell array1 d) E$ o9 a7 g2 I+ U+ |1 \6 L* l
    测定的数据类型
    0 V! d4 [% g( U5 L$ z" ~
    ) Q: n& ]1 l2 S4 aMATLAB 提供各种函数标识数据类型的变量。
    # g5 e0 P* _1 }5 u0 C( A$ M& s; E+ V1 [: w' }, \+ N/ P
    下表提供了确定一个变量的数据类型的函数:6 E5 y% }1 M. T. _* X

    9 C' H; n5 T3 W$ j. h/ `; H; Q函数        目的/作用
    ; x2 @$ X0 k) H, G/ q% Tis        Detect state: e% L: [' _+ w% a4 N
    isa        Determine if input is object of specified class
    ( x5 g0 A; n, O0 |iscell        Determine whether input is cell array' K3 L1 y: J8 P! R+ ~
    iscellstr        Determine whether input is cell array of strings
    7 u8 F$ ^" Z6 L+ h9 B& ?% Uischar        Determine whether item is character array( c- j6 ~1 @/ e6 s# Z( |
    isfield        Determine whether input is structure array field( G, d0 r  F7 ^1 h( ?3 D& L
    isfloat        Determine if input is floating-yiibai array
    6 c: J- M  e4 D2 P# h7 Z: P9 dishghandle        True for Handle Graphics object handles
    + P6 Y7 v" j& f4 i" visinteger        Determine if input is integer array3 Y" M3 c0 ]6 ?$ b$ |# Y2 {
    isjava        Determine if input is Java object/ {1 G7 B" M" O& f
    islogical        Determine if input is logical array
    4 B9 k/ `4 }9 S* k) }3 h& Y: J4 i: Risnumeric        Determine if input is numeric array
    4 n+ K0 {9 f$ r2 C" j4 S) P  wisobject        Determine if input is MATLAB object
    % J2 Y6 Z+ o' p' oisreal        Check if input is real array
    7 b4 U! M& o! `isscalar        Determine whether input is scalar
    # u/ O! X# q8 {4 y2 oisstr        Determine whether input is character array
    . h8 B' R2 ^1 G: T# Cisstruct        Determine whether input is structure array/ Q& M( ^& j% Q; P( `
    isvector        Determine whether input is vector
    - {1 A- K# l2 p( `% lclass        Determine class of object
    ! e& ?/ d) \6 e. U! Qvalidateattributes        Check validity of array* r3 n# o( e& r  c6 F
    whos        List variables in workspace, with sizes and types
    3 w' i( o# w6 y4 A例子
    5 Y  \. _, t& v1 W% c
    ! Z- a0 _& b' g1 {6 m创建一个脚本文件,用下面的代码:; [( |* h) n1 O4 n

    - O, O# g# d1 L/ R" R) _9 ix = 3
    : ^4 k, I/ M! p4 V8 B) E) yisinteger(x)% v7 l/ c4 ~' V$ J+ S+ B
    isfloat(x)
    - j% ^. \* S3 O& qisvector(x)0 M% a& t" @6 Z( f7 L! [3 {' B
    isscalar(x)
    % J+ b2 I9 I& Q; e* L7 Lisnumeric(x)1 ^2 B8 h" R" y. K
    7 p- i- V, L# e! c" `9 [) g  q3 f
    x = 23.54
    % r) E7 @# R2 J  h0 z- ^1 W9 s9 cisinteger(x): i0 `/ m! |% i0 z% h; k3 N
    isfloat(x)
    / T! @! a, G1 Aisvector(x)( o1 [% T2 r# L7 c. ~4 O
    isscalar(x)
    : n0 [# j/ X, W) C6 b! T  Misnumeric(x)5 ]* l/ ?$ G& g) w' M

    - v! w! V. g# Q, {x = [1 2 3]' k/ g) D' d" c: y" X
    isinteger(x)
    0 y  ]2 `8 i9 L: E. m# @isfloat(x)& ^6 \  D4 b. X
    isvector(x)
    8 V# _- K" p% V8 I  X- v* z9 q: sisscalar(x): Y& F- q3 L; i0 k9 U# Q

    6 Z+ q% r- S6 C( ]9 Hx = 'Hello'
    3 G  f/ r( W8 c/ J- I. oisinteger(x)1 ~: W% S7 ~" \7 x2 \9 @8 T
    isfloat(x)
    9 L! l  Z+ q; U7 Y0 X/ {. Z: Hisvector(x)
    9 N0 z- s$ i$ K8 ~isscalar(x)
    $ \6 f- d3 {* fisnumeric(x)
    . F- Z" k8 v( D/ b当运行该文件,它会产生以下结果:
    $ z* X2 Q# z6 A0 s# ?$ L) x' L7 i# L; ]  a
    x =- ~9 n# P( w) Z- V
         3
    , w! |6 ]6 _" ]  v. x0 T+ Y! a: @/ Tans =2 v3 y( `. f8 h: j9 Y
         02 o0 O: K; r! I
    ans =: R5 `: @+ j# g/ x6 F5 F/ |
         1
    3 d! q* z- R& ~' y% ^! {3 Lans =
    5 z% @- r+ C9 o. T0 \2 e     1
    & ~( M* ]' r0 b/ gans =8 |4 O+ ?" j$ S" V" `6 i% Y% U% U
         1+ K' r2 i6 [* a
    ans =! C9 V1 V4 d+ K( N' |' Q0 L2 d
         1, S9 T7 H! d) W5 w7 ?
    x =
    ) B0 V. G  C! w* x" q* c9 u% @   23.5400- J7 Y: a; E1 B2 l  m8 r) K' r" ~: e
    ans =& x- J2 |: c8 Q2 C. E% Y
         0- y1 `# \! b2 f2 J. X3 @# p) Z
    ans =( X- t5 Z8 X% f) L) K
         1
    ) N" ]3 f, z; r1 ^: e# \1 c% L" u' rans =
    - I* E# \  l+ F     1
    ' D- [) b" [2 i8 [: ?1 Bans =
    ; X4 J, N9 @3 C% Z4 Z7 J4 Q  |     19 R3 Y, \9 H( X. k
    ans =' H+ L, q) K5 C. z6 e0 M
         1
    , Z3 S+ Q; N: Cx =" u( I3 Q7 v$ f: [
         1     2     3$ C' R) V! @2 J0 b) K
    ans =
      X, x, X* V2 ~+ x3 O     0) k1 a0 W0 Q# |) T
    ans =2 o& a, a8 A/ @# s. b, m
         1+ z- B3 P. N# O7 H3 w, `
    ans =& E. q+ C# ^$ `5 M* f0 ~& E
         1; L" c6 H2 y+ p- l/ s
    ans =
    * R% w1 J9 p$ I0 M     05 o% ~/ `7 S" ?& Q. ~
    x =
    # U4 K2 V" s5 u6 @4 r! jHello5 l# h8 G: T8 |6 p
    ans =7 P: k: P( J2 V) M: S( M7 [% S" A' M
         05 d7 q5 n1 K" z; y0 U+ C. B
    ans =9 V+ x  k1 S+ s7 Y: S- o
         0/ H& B/ Y: O' p% Z: O
    ans =
    . t- `8 h. Z+ C# p     1
    + E  P+ `" D" W) h9 z7 Q2 U( g/ @ans =% W' V' I' y0 j2 y" c  F; S
         0
    8 g0 K1 r6 g8 \% yans =; @; e8 V: r( t
         0  }0 J: ~2 D6 C0 K
    - S# G1 M0 A( w' w: p
    ————————————————
    9 Y3 n6 X6 L2 `) `9 x* m+ M, Z版权声明:本文为CSDN博主「Phil__ming」的原创文章。
    , g4 p3 n  }2 @原文链接:https://blog.csdn.net/Poseidon__ming/article/details/750925753 G$ u5 k3 I$ J$ k

    3 x. N* @. A, s% K' ^& G
    3 j/ H+ O2 {. ?# A% R
    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 01:54 , Processed in 0.740610 second(s), 57 queries .

    回顶部