zoukankan      html  css  js  c++  java
  • 矩阵和数组的区别

    矩阵和数组的区别

    数组中的元素可以是字符等
    矩阵中的只能是数
    这是二者最直观的区别。
    因为矩阵是一个数学概念(线性代数里的),数组是个计算机上的概念。
    你见过纯粹数学中有数组的概念吗?没有。
    因为计算机上(准确的说是信息科学中)常用到线性代数的知识,就引用了矩阵的概念。

    《精通MATLAB6.5版》(张志涌编著,北京航空航天大学出版社)中说:
    从外观形状和数据结构上看,二维数组和数学中的矩阵没有区别。但是矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则。而数组元算是Matlab软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。虽然数组运算尚缺乏严谨的数学推理,虽然数组运算仍在完善和成熟中,但是它的作用和影响正随着matlab的发展而扩大。
    数组运算:
    数与数组加减:k+/-A        %k加或减A的每个元素
    数组乘数组:  A.*B         %对应元素相乘
    数组乘方:  A.^k         %A的每个元素k次方;k.^A,分别以k为底A的各元素为指数求幂值
    数除以数组:  k./A和A./k   %k分别被A的元素除
    数组除法:    左除A.B右除B./A,对应元素相除
    矩阵运算:
    数与矩阵加减:k+/-A             %等价于k*ones(size(A))+/-A
    矩阵乘法:    A*B               %按数学定义的矩阵乘法规则
    矩阵乘方:  A^k               %k个矩阵A相乘
    矩阵除法:    左除AB右除B/A    %分别为AX=B和XA=B的解
    可见,数组的运算很简单。若不考虑数学意义时,矩阵是数组的二维版本。
    构造数组:
    1、直接构造:用空格或逗号间隔数组元素
    x=[1,2,3,4,5,6]
    2、增量法构造:使用冒号操作符创建数组
    a=first:end         %递增,且步长为1的数组
    a=first:step:end     %指定增量步长值创建任何等差序列
    3、用linspace函数构造
    x=linspace(first,last,num)  %需要指定首尾值和元素总个数,步长根据num平均分配
    构造矩阵
    1、简单创建方法
    用[],逗号或空格格开各元素,分号隔开各行,注意各行具有相同的元素个数。
    2、构造特殊矩阵
    ones,zeros,eye,diag,magic,rand,randn,randpem
    .....
     
     

    NumPy矩阵与数组的区别

    矩阵matrix和数组array是NumPy里的两种数据类型,都可以用于处理行列表示的数字元素。

    1.matrix只能是2维的,array可以是任意维数。

    随机初始化实例:

    2.在这两个数据类型上执行相同的数学运算会得到不同的结果

    对于a,b两个matrices,a*b表示矩阵乘积

     对于array来说,a*b表示逐个元素相乘

     **运算符表示的含义也不同,对于maxtrix来说,a**2表示a*a

     对于array来说,a**2表示数组里的数的平方

  • 相关阅读:
    739. Daily Temperatures
    556. Next Greater Element III
    1078. Occurrences After Bigram
    1053. Previous Permutation With One Swap
    565. Array Nesting
    1052. Grumpy Bookstore Owner
    1051. Height Checker
    数据库入门及SQL基本语法
    ISCSI的概念
    配置一个IP SAN 存储服务器
  • 原文地址:https://www.cnblogs.com/yoyowin/p/12861262.html
Copyright © 2011-2022 走看看