• 【MATLAB 从零到进阶】day2 矩阵 数组


    访问矩阵元素

    >> A=[1,2,3;4,5,6;7,8,9];

    >> x=A(2,3)% 双下标访问

    x =

    6

    >> x=A(2)% 单下标访问

    x =

    4

    单下标访问时相当于访问A所转成的向量的元素。

    >> A(3:6)

    ans =

    7 2 5 8

    >>y4=A(:,1:2)%提取A的前两列元素

    y4 =

    1 2

    4 5

    7 8

    >>y5 = A(1,:)%提取A的第一行元素

    >> y5 = A(1,:)

    y5 =

    1 2 3

    矩阵拼接

    B=repmat(A, [m,n])%将矩阵A拼接为大矩阵

    >> A=[1 2 3;4 5 6];

    >> B=repmat(A,[2,2])

    B =

    1 2 3 1 2 3

    4 5 6 4 5 6

    1 2 3 1 2 3

    4 5 6 4 5 6

    定义字符矩阵

    >> C=['abc';'def';'ghi']

    C =

    abc

    def

    ghi

    >> size(C) %查看矩阵行数和列数

    ans =

    3 3

    定义复数矩阵

    >> a=[1 2;3 4];

    >> b=[5 6;7 8];

    >> A2=complex(a,b)

    A2 =

    1.0000 + 5.0000i 2.0000 +6.0000i

    3.0000 + 7.0000i 4.0000 +8.0000i

    >> a=[1 2;3 4];

    >> b=[5 6;7 8];

    >> A2=complex(a,b)

    A2 =

    1.0000 + 5.0000i 2.0000 +6.0000i

    3.0000 + 7.0000i 4.0000 +8.0000i

    定义符号矩阵

    >> syms a b c d

    >> A1=[a b;c d]

    A1 =

    [ a, b]

    [ c, d]

    >> A2=[1 2 3;4 5 6];

    >> A2=sym(A2)

    A2 =

    [ 1, 2, 3]

    [ 4, 5, 6]

    特殊矩阵

    零矩阵:zeros

    一矩阵:ones

    单位阵:eye

    对角阵:diag

    随机阵:rand

    魔方阵:magic

    高维数组

    >> x(1:2,1:2,1)=[1 2;3 4];

    >> x(1:2,1:2,2)=[5 6;7 8];

    >> x(:,:,1)

    ans =

    1 2

    3 4

    >> x(:,:,2)

    ans =

    5 6

    7 8

    利用reshape函数定义3维数组。

    >> x=reshape(1:12,[2,2,3])

    x(:,:,1) =

    1 3

    2 4

    x(:,:,2) =

    5 7

    6 8

    x(:,:,3) =

    9 11

    10 12

    利用repmat函数定义3维数组

    >> x=repmat([1 2;3 4],[1 1 2])

    x(:,:,1) =

    1 2

    3 4

    x(:,:,2) =

    1 2

    3 4

    定义元胞数组

    直接赋值定义元胞数组

    >> c1={[1 2;3 4],'xz',10;[5 67],['abc';'def'],'i love matlab'}

    c1 =

    [2x2 double] 'xz' [ 10]

    [1x3 double] [2x3 char] 'i love matlab'

    利用cell函数定义元胞数组

    c = cell(n)

    c = cell(m, n)

    c = cell([m, n])

    c = cell(m, n, p,…)

    c = cell([m n p …])

    c = cell(size(A))

    定义结构体数组

    >> struct1(1).name='xz';

    >> struct1(2).name='hp';

    >> struct1(1).age=31;

    >> struct1(2).age=22;

    >> struct1

    struct1 =

    1x2 struct array with fields:

    name

    age

    利用struct函数定义结构体数组

    调用格式:

    s = struct('field1', values1, 'field2', values2, …)

    s = struct('field1', {}, 'field2', {}, …)

    >> struct2=struct('name',{'xz','hp'},'age',{31,22})

    struct2 =

    1x2 struct array with fields:

    name

    age

    >> struct2(1).name

    ans =

    xz

  • 相关阅读:
    JavaScript小笔记の经典算法等....
    SEO
    幻灯片の纯CSS,NO JavaScript
    试说明采用双缓冲技术如何进行I/O操作
    常用的缓冲技术有哪几种?
    什么是缓冲,引入缓冲的原因是什么?
    什么是设备控制块,它主要包括什么内容,简述其作用?
    进程的逻辑设备如何与一个物理设备建立对应的关系?
    什么是设备独立性,引入这一概念有什么好处?
    试叙述段页式地址变换过程。
  • 原文地址:https://www.cnblogs.com/jpld/p/4567318.html
Copyright © 2020-2023  润新知