QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3389|回复: 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 每当遇到一个新的变量名称,创建变量,并分配适当的内存空间。/ `. l9 j' f; x* u

    3 k; X( [8 e) f+ ~如果变量已经存在,则MATLAB替换以新的内容的原始内容,并分配新的存储空间,在必要的情况下。
    & J4 w6 E1 F5 Q" r2 j$ u* n; P
    $ c1 h% _" q  ^  d' {例如,  E1 N* a% X) i

    1 a7 l, y* k' UTotal = 42
    $ V- k- `3 e4 I( K  u6 w上述语句创建了一个名为“Total” 的 1-1 矩阵存储值42。# v) g, e: d) o5 l3 u2 N  f+ S+ Z7 _6 k
    ' ]% [& u" {2 g* k# V1 Z7 [
    MATLAB中可用的数据类型# M* y- p2 b8 E3 F& m7 R, T- X

    7 W; f4 W  E+ L8 ]5 a( e, m) ZMATLAB 提供15个基本数据类型。每种数据类型的数据存储在矩阵或阵列的形式。这个矩阵的大小或阵列是一个最低 0-0,这可以长大为任何规模大小的矩阵或数组。
      U, k. K$ p# X. D1 ^! i6 y
    1 {' _- c" m& y3 Z' ?7 H6 w下表显示了在 MATLAB 中最常用的数据类型:+ w! |% G6 O; O9 |
    4 |  ^% v' X9 P+ G1 g
    数据类型        描述
    2 y! w8 F7 L" j5 v# lint8        8-bit signed integer7 W5 A1 W9 T  r0 s9 L+ p% Q
    uint8        8-bit unsigned integer
    2 ~4 k$ Q$ |2 E0 \/ yint16        16-bit signed integer. M, X9 Z  |0 x  o' K) y
    uint16        16-bit unsigned integer! D/ \4 A/ Y* O
    int32        32-bit signed integer/ d, `; H0 D% r8 F, ?  `
    uint32        32-bit unsigned integer
    0 }  F1 R5 W8 rint64        64-bit signed integer5 c$ j+ `7 y! M" |. C' g
    uint64        64-bit unsigned integer: P$ o8 P' @) X5 f
    single        single precision numerical data0 Y, l/ U5 h* B
    double        double precision numerical data) @4 ?/ M1 ?2 B( v0 x" I, m
    logical        logical values of 1 or 0, represent true and false respectively
    + [: M$ D1 H2 H# _char        character data (strings are stored as vector of characters)  R6 {9 v: Q( E" `% b% l) V
    cell array        array of indexed cells, each capable of storing an array of a different dimension and data type7 `' a% G+ Y0 _9 ]6 ~/ f! x( ]
    structure        C-like structures, each structure having named fields capable of storing an array of a different dimension and data type# D4 g: @* w) Z2 }- U# P" K
    function handle        yiibaier to a function
    $ L: ^: t; c6 m4 X- n( ?$ ouser classes        objects constructed from a user-defined class
    8 j& b5 e  W1 Mjava classes        objects constructed from a Java class3 v7 I" S- o) b7 l9 c" Y
    例子
    " P  ^7 |, t! W( B
    / e4 ^' [* v. B7 g* X创建一个脚本文件,用下面的代码:
    , Q+ f4 a! C! s1 m/ w% s+ M$ K* m* I" o
    str = 'Hello World!'& c) c! b5 c7 p: p( o3 s1 ]
    n = 23452 D  i6 i; L2 r+ T, S
    d = double(n)
      A" l$ _- k. Vun = uint32(789.50)2 `. [# F7 R8 M4 u% ]; E
    rn = 5678.92347
    5 @2 C4 w# g. @/ Gc = int32(rn)
    , K9 K+ f8 C1 A% j6 [8 D上面的代码编译和执行时,它会产生以下结果:
    9 d; B6 h: u( q( p6 b
    * S& U6 Q) C  ^# _9 P' g! tstr =$ {$ g# X: i: t# }
    Hello World!. C0 q+ q9 g/ e- Z. `( ?
    n =
    . d; B$ I3 K+ |$ ?" N3 G   2345
    * @: e! _- F, [' o4 S" `/ Sd =
    $ A: l0 u: L9 t3 x# X4 ^4 d   2345: j1 L% @5 W) M$ `0 [7 z3 b3 z; g
    un =% X* I! m  ?4 X3 q3 c6 }
       790
    2 q$ w7 U9 C3 U. G. l5 u- Prn =
    # {/ ?' E8 B1 X1 k   5.6789e+03# }5 X6 i, N4 m, m! a
    c =
    * t. j# ]2 j/ n- a# Q   5679% h1 j. C( {0 z" f5 u8 x
    数据类型转换
    " ?, X) {' B4 k
    ' i; ^; e$ X( y/ `; g. I3 i+ KMATLAB 提供各种函数,用于从一种数据类型转换到另一种。下表显示的数据类型转换函数:
    1 H0 R3 @1 g8 z) [! Z
    " T8 M6 t# N: K+ p4 n7 s1 v函数        目的/作用, `* X2 Q) h9 y5 K* @
    char        Convert to character array (string)' C2 @/ A! C' s6 t9 A: v7 l
    int2str        Convert integer data to string1 c& t6 q$ ?0 Z% _5 R8 ?$ S3 U+ B
    mat2str        Convert matrix to string+ t6 ^6 }3 F( B; |) a- K
    num2str        Convert number to string
    6 Q" G4 H1 M7 x9 t( ~3 gstr2double        Convert string to double-precision value
    / R2 ?& n1 ]) l  vstr2num        Convert string to number
    ! \) @3 D0 o% O# o  L5 Inative2unicode        Convert numeric bytes to Unicode characters: V2 N7 v! b& [4 U$ h( q
    unicode2native        Convert Unicode characters to numeric bytes
    / H" N- E) g7 i% z' M$ Hbase2dec        Convert base N number string to decimal number
      F  _4 S) J- Q$ Obin2dec        Convert binary number string to decimal number
    + `6 k* y8 S! Q/ K' y/ F6 S2 \dec2base        Convert decimal to base N number in string
    7 O. X( O1 F& K6 L+ O6 t& l( D: xdec2bin        Convert decimal to binary number in string
    2 [& W! O+ ~4 _8 m# N3 }8 P8 cdec2hex        Convert decimal to hexadecimal number in string5 Q) `. \- |/ M+ ]% w$ h+ y
    hex2dec        Convert hexadecimal number string to decimal number
    0 K4 T  `7 C  Q/ [9 ghex2num        Convert hexadecimal number string to double-precision number
    5 l/ z$ w* L7 d  L* bnum2hex        Convert singles and doubles to IEEE hexadecimal strings
    & y# a/ L+ b& T( r9 k6 t( O; j% F/ @cell2mat        Convert cell array to numeric array
    : I4 {& q( G' K1 f0 P1 scell2struct        Convert cell array to structure array
      h! h' S. ?# f0 xcellstr        Create cell array of strings from character array
    ' i1 j0 v: c  L  Wmat2cell        Convert array to cell array with potentially different sized cells) ?0 [& G) m2 D& @
    num2cell        Convert array to cell array with consistently sized cells2 u0 d' I8 y' W' p5 y/ p, f
    struct2cell        Convert structure to cell array6 k3 z! k9 G/ J; f
    测定的数据类型
    3 O* {. [9 K5 E; Q
    % ?2 a* P: t( v$ t8 a  H( SMATLAB 提供各种函数标识数据类型的变量。& w, B" H) Z0 n3 z2 \9 X! ]& K* o
    $ _3 O7 |/ x, z1 b7 c. F
    下表提供了确定一个变量的数据类型的函数:
      e/ u& n  Z! {% N6 _( Z3 t% H2 V. C" ~1 k+ A. W3 \
    函数        目的/作用
    9 Q5 d1 P% N+ ~. `1 k+ M' Lis        Detect state" J" H  C+ B! o8 Q* t* [
    isa        Determine if input is object of specified class: V+ U6 I! F2 h( X
    iscell        Determine whether input is cell array
    ; N# O2 R+ \2 E% N7 n8 Miscellstr        Determine whether input is cell array of strings" z# E9 ^2 S% J
    ischar        Determine whether item is character array/ I' h. C( d3 n2 K3 K
    isfield        Determine whether input is structure array field
    # {0 W, a5 W! @$ h& l; x0 `isfloat        Determine if input is floating-yiibai array8 m: |4 Y, e, p! O/ m
    ishghandle        True for Handle Graphics object handles
    . a: v, q4 m5 Q7 z1 |isinteger        Determine if input is integer array
    6 n, _0 `+ F3 u$ r8 Q- |2 ?' pisjava        Determine if input is Java object
    1 u; v* B& |4 R5 i6 A4 Oislogical        Determine if input is logical array# Z% O- [  G; y1 B+ p0 G
    isnumeric        Determine if input is numeric array
    5 q/ B4 c/ a1 _! Aisobject        Determine if input is MATLAB object
    8 V; j7 {4 w- ~" _. {isreal        Check if input is real array: U" g, h! r9 p% h+ p
    isscalar        Determine whether input is scalar
      b  m5 `7 A) k0 }4 zisstr        Determine whether input is character array& J; x% H  ^5 G5 e5 v
    isstruct        Determine whether input is structure array
    4 {4 w5 V# P, ]" u& k; R; j* _1 S. Qisvector        Determine whether input is vector
    ( @/ c* c; J& G) a8 qclass        Determine class of object
    ) W, {6 G$ J- _: yvalidateattributes        Check validity of array; p' j1 _8 ]5 u8 R. @/ d/ y
    whos        List variables in workspace, with sizes and types4 S  ^3 |/ n4 I' v# ?7 c
    例子
    : t" A1 `) C( X1 v/ b4 h; V0 T0 u& z' w
    创建一个脚本文件,用下面的代码:  s  s- k& E. O# F$ {5 _% }
    ) F2 F# C' x" z, J
    x = 3% d4 U% L+ R' z  ^
    isinteger(x)2 }; f8 o, Z& E+ `0 j# y0 q
    isfloat(x)2 x' ~. [% Q; f, g) a
    isvector(x)- ]7 A/ }7 Q. {7 C* D& @
    isscalar(x). @% ]& I! y& r1 p. L8 [
    isnumeric(x)* p& C7 ?* h% v" ^. D
    % T3 F' |; r# t8 o- M
    x = 23.546 H4 X2 V' {/ j7 ?# R, i
    isinteger(x)
    ) p4 l) f8 _8 q8 S9 fisfloat(x)6 g* I% ^# F/ e3 O* m/ p+ v" h
    isvector(x)
    / j8 k) u% c; e' Pisscalar(x)0 B- X' O, C3 D1 G% A
    isnumeric(x)
    " g6 t: l/ b! _- z) M' @
    " U% ^' V$ d, {5 A) ix = [1 2 3]
    9 t) \. L4 |) Y' f! cisinteger(x)
    + p8 p. ]0 [6 {8 {- sisfloat(x)
    * k. Q1 `3 x# Gisvector(x)2 V  T) _' a: m% G" A, ]! L: _( W2 R
    isscalar(x)
    ( j" X6 W( ^; a
    " V$ R! n, G( w. ^" sx = 'Hello'
    7 s$ Q/ H/ w' l# qisinteger(x)4 L- T% H" \9 ]; a$ X# \% G) z
    isfloat(x)+ k0 H: C6 M# ?; o+ G+ n: o2 o8 h2 v
    isvector(x)
    % L8 D, ~) r2 E& n% _4 Yisscalar(x)
    / q, `5 Y5 M2 j" Z9 Aisnumeric(x)
    . R: u5 V1 U3 Z& j6 h8 t# v当运行该文件,它会产生以下结果:
    , D! r" d$ z; E# i) {5 L0 N. ]
    2 q% P  t+ |2 H( Hx =
    & _, h; f* j: R2 U; Y     3$ K; n# P+ r, j# [# n3 F
    ans =& V1 A0 J; C2 \+ a' t$ m0 e+ u
         0/ H, Y- j# P. p$ Q& R
    ans =
    4 [0 y9 |8 Z. N5 {7 b4 N" L     1
    0 v6 a- S. l+ b) |) I" l1 O8 _ans =
    8 X: s2 Y+ M1 G$ c2 ?  S. n     1, H8 t5 }' l8 P' h
    ans =
      E6 a7 C+ i" `! K5 k1 G  |6 d     1
    ( }& T2 z/ L$ `6 S" r( @* mans =
    2 q8 {9 {2 Z# p     1
    ) a! Y1 T' g% |! b8 c" R* Hx =- |4 {# }2 |, w$ p
       23.5400
    ; ?( ]5 z- \$ S' a. U! k8 d( a6 q% S) Oans =
    4 s+ Q' B) \, y6 u7 q     0
    0 D: A" [* `# Kans =0 M2 T+ [1 g8 f3 L. q+ u% C- w
         1; A- G( \4 Q2 I  e; y9 R/ D
    ans =0 h8 k3 s  g# h! ^+ I* _. v
         1* ]3 V" y; N8 Y5 ~8 n9 H
    ans =9 I& l* B+ s7 O! Q
         1. {4 ^# Y) k% c7 u
    ans =! \7 F, _& V& f1 O2 r
         10 ^# ]* T% q/ ]& x4 O- i
    x =$ z2 s; h* [! W# ]8 P* k4 K
         1     2     3/ W  b7 K4 e; [9 ?* v. H$ @, S
    ans =
    4 E) c; X  ]9 J4 U1 `     0; Q  q; |* E, X2 o
    ans =
    3 J5 K2 ]% l% z1 g     17 j. o7 o' y1 J/ ?: G
    ans =
    / Z" L; q6 M, t) B7 r3 S9 v& y! R     1  U5 Q0 V' y2 u* C3 t6 z
    ans =
    # \" C. \$ F2 F- a. r7 w8 O  a     0/ ^8 ?4 |; i/ A! o
    x =
    / v6 y% S3 I7 R' BHello/ Y5 j- {( B4 i) A. X
    ans =7 y+ ~- K, X# i1 Y: K+ H
         0) u2 u& t0 H$ D( [, v3 k# O$ n
    ans =
    ! M2 y" u8 V& z! S7 f5 I     0
    ' {$ G2 h" d+ m' Q5 H4 Dans =
    * ~# u0 @4 H2 R' O: Z9 j2 q     1
    % O0 c( M0 b( O; ?, ?ans =
    7 \( }+ p2 r: M     0
    " Y, D3 w& Y& Y0 \0 J3 yans =
    . {. Y+ @* o" W4 y* K- H' D     0
    ! N/ w) ?7 e2 o  d  ^; Q7 P( K. [2 a4 E) L! c# @6 c, ~' l
    ————————————————+ u7 c6 V; _8 x! e- s( g4 _0 r
    版权声明:本文为CSDN博主「Phil__ming」的原创文章。
    * d7 A# @7 T0 J9 E原文链接:https://blog.csdn.net/Poseidon__ming/article/details/75092575( v2 B5 x' b3 s$ V% F8 X! e% n2 J

    $ B6 k" ?& ~% v$ }) J% l  E! X) L( a3 J/ G
    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 22:14 , Processed in 0.401667 second(s), 59 queries .

    回顶部