矩阵的基础知识

这篇具有很好参考价值的文章主要介绍了矩阵的基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、矩阵的定义

  •  矩阵:一个由m×n个元素排成的m行n列的表。
  • 矩阵的常规存储:将矩阵描述成一个二维数组。
  • 矩阵的常规存储的特点:1.可以对其元素进行随机存取 2.矩阵的运算非常简单 3.存储密度为1 
  • 矩阵的压缩存储:1.为多个相同的非零元素只分配一个存储空间 2.对零元素不分配空间
  • 什么是压缩存储:若多个数据元素的值相同,则只分配一个元素值的存储空间,且零元素不占存储空间
  • 什么样的矩阵能够压缩:一些特殊矩阵(比如:对称矩阵,对角矩阵,三角矩阵,稀疏矩阵等)
  • 什么叫稀疏矩阵:矩阵中的非零元素个数较少(一般小于5%) 

二、怎么压缩 

  1. 对称矩阵 
  • 本身特点:在n×n的矩阵a中,满足如下性质:aij=aji(1<=i,j<=n)
  • 存储方法:只存储下(或者上)三角(包括主对角线)的数据元素。共占用n(n+1)/2个元素空间。 
  • 存储结构:1.对称矩阵上下三角中的元素均为:n×(n+1)/2可以以行序为主序将元素存放在一维数组a[n×(n + 1) / 2]中。 
可以以行序为主序将元素存放在一维数组a[n×(n + 1) / 2]中。
aij前面有i-1行,前面i-1行一共有1+2+...i-1个元素,也就是(i-1)i/2
    只看第i行,前面有j-1个元素
    所以aij的地址=a11的地址+【(i - 1)i / 2】*sizeof(a11)+(j-1)*sizeof(a11)

矩阵的基础知识 

 文章来源地址https://www.toymoban.com/news/detail-459427.html

   2. 三角矩阵

矩阵的基础知识 

 

  • 本身特点:对角线以下(或者以上)的数据元素(不包括对角线)全部为常数c。
  • 存储方法:重复元素c共享一个元素存储空间,共占用n(n+1)/2个元素
  •  对于上三角:
第一种以行序为主序存储
第1行存放n个元素-----1
第2行存放n-1个元素-----2
...
第i-1行存放n-(i-1-1)=n-i+2个元素-----i-1
第i行存放n-(i-1)=n-i+1个元素
aij前面有i-1行,前面i-1行有n+n-1+.....n-i+2个元素,也就是(i-1)(2n-i+2)/2
   只看第i行,第i行的第一个元素为aii,所以aij前面有j - i个元素
   所以aij的地址 = a11的地址 + 【(i - 1)(2n - i + 2) / 2】 * sizeof(a11) + (j - i) * sizeof(a11)

第二种以列序为主序存储
aij前面有j-1列一共有1+2....+j-1个元素,也就是(j-1)j/2
   只看第j列,前面有i-1个元素
    所以aij的地址 = a11的地址 + 【(j - 1)j / 2】 * sizeof(a11) + (i - 1) * sizeof(a11)
  •  对于下三角:
以行为主序存储:
aij前面有i - 1行,前面i - 1行一共有1 + 2 + ...i - 1个元素,也就是(i - 1)i / 2
只看第i行,前面有j - 1个元素
所以aij的地址 = a11的地址 + 【(i - 1)i / 2】 * sizeof(a11) + (j - 1) * sizeof(a11)
3.对角矩阵(带状矩阵)
特点:在n×n的方阵中,所有非零元素都集中自爱以主对角线为中心的带状区域,区域外的值全是0,则陈伟对角矩阵。
常见的有三对矩阵,五对角矩阵,七对角矩阵。
存储方法:以对角线的顺序存储

3.对角矩阵(带状矩阵)

  • 特点:在n×n的方阵中,所有非零元素都集中自爱以主对角线为中心的带状区域,区域外的值全是0,则陈伟对角矩阵。常见的有三对矩阵,五对角矩阵,七对角矩阵。
  • 存储方法:以对角线的顺序存储 

矩阵的基础知识 

矩阵的基础知识  

4.稀疏矩阵

  • 设在m×n矩阵中有t个非零元素。令ss=t/(m×n)  当ss<=5%的时候称为稀疏矩阵。
  • 三元组(i,j,aij)唯一确定矩阵的一个非零元(i,j分别表示aij的位于第i行,第j列)。
  • 压缩原则:存各非零元的值、行列的位置和矩阵的行列数。
  • 注意:为更可靠描述,通常再加一个“总体信息”:即总行数,总列数,非零元素总个数。 
  • 三元组顺序表又称有序的双下标法。
  • 三元组顺序表的优点:非零元在表中按行序有序存储,因此便于进行依次顺序处理的矩阵运算。
  • 三元组顺序表的缺点:不能随机存取。若按行号存取某一行的非零元,则需从头开始进行查找。
  • 优点:它能够灵活的插入因运算而产生的新的非零元素,删除因运算而产生的新的非零元素,实现矩阵的各种运算。 

矩阵的基础知识 

 矩阵的基础知识

 

到了这里,关于矩阵的基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB矩阵基础知识(一)

            MATLAB即Matrix Laboratory(矩阵实验室),可见MATLAB在矩阵问题上的优势,本次内容主要关于矩阵的生成调用。         矩阵是由m*n个数组成的m行n列的数表,也可以看做m个n维向量组成。若m=n则矩阵为n阶仿真。 矩阵的生成  1、直接通过键盘输入生成矩阵是最常用的

    2024年02月10日
    浏览(58)
  • 深度学习·理论篇(2023版)·第002篇深度学习和计算机视觉中的基础数学知识01:线性变换的定义+基于角度的线性变换案例(坐标变换)+点积和投影+矩阵乘法的几何意义+图形化精讲

    💕 恭喜本博客浏览量达到两百万,CSDN内容合伙人,CSDN人工智能领域实力新星~ 🧡 本文章为2021版本迭代更新版本,在结合有效知识的基础上对文章进行合理的增加,使得整个文章时刻顺应时代需要 🧡 本专栏将通过系统的深度学习实例,从可解释性的角度对深度学习的原理

    2023年04月08日
    浏览(56)
  • 知识储备--基础算法篇-矩阵

    第一题上来就跪了,看了官方答案感觉不是很好理解,找了一个比较容易理解的。 还有一个暴力方法,其中有几个知识点, list的[]中有三个参数,用冒号分割 list[param1:param2:param3] param1,相当于start_index,可以为空,默认是0 param2,相当于end_index,可以为空,默认是list.size p

    2024年02月10日
    浏览(32)
  • matlab基础知识加矩阵运算初步

    ** matlab(matrix laboratory)** 功能符号 1.分号(;) 不让matlab显示运算结果,抑制输出 2.续行号(…) 某行命令太长,指令行必须多行书写时,使用“…\\\"处理,表示下一行是上一行的连续 常用指令 1.cd 显示或改变工作目录 2.clc 清空命令行窗口 3.clear 清除所有变量 clear+变量名 清除一

    2024年02月10日
    浏览(35)
  • MATLAB基础知识之数组与矩阵

    本文是参考书籍《MATLAB R2020a完全自学一本通 》自己整理的一些笔记和一些练习,希望会给大家带来一些帮助。 目录 1、数组创建与运算 1.1数组的创建 1.2数组的运算 1.2.1 算术运算  1.2.2关系运算与逻辑运算  2、矩阵的构造与操作 2.1矩阵的构造 2.2矩阵的操作 2.3矩阵索引  2

    2024年02月07日
    浏览(41)
  • 数据结构|基础知识定义

    1.值传递、地址传递、值返回、地址返回 1 值传递 :普通变量作为函数参数传递是单向的值传递,只是将实参的值复制一份给形参变量,形参的改变不会影响实参的值,因为所在内存空间不同 如果传递的是地址,被调函数使用指针接收,如果在被调函数中,没有更改指针指向

    2024年02月08日
    浏览(47)
  • C语言基础知识:宏定义

    目录 一.预处理 二.宏定义用法 ①宏常量 ②宏语句 ③宏函数 ④其它 1.#undef 是用来撤销宏定义的,用法如下: 2.使用ifndef防止头文件被重复包含和编译 三.宏定义相关作用符 ①换行符 \\\"\\\" ②字符串化符 \\\"#\\\" ③片段连接符\\\"##\\\" 四.宏函数的巧用 ①类型传递 ②传递数组 五.注意事项

    2024年02月06日
    浏览(44)
  • FPGA基础知识-用户自定义原语

    目录 学习目标 学习内容 1.UDP的组成 2.UDP定义规则 3.表示组合逻辑的UDP 4.表示时序逻辑的UDP 5.UDP表中的缩写符号 6.UDP设计指南  学习时间 学习总结 提示:这里可以添加学习目标 理解编写UDP的规则,明白UDP的各个组成部分。 学会编写表示时序和表示组合逻辑的两种不同的UDP, 理

    2024年02月11日
    浏览(51)
  • 区块链基础知识1:定义、原理及概述

    随着数字经济的快速发展,区块链技术逐渐崭露头角,成为推动各行各业数字化转型的重要力量。本文旨在介绍区块链的基础知识,包括其定义、原理以及应用领域,以期为读者提供一个全面而深入的了解。 区块链是一种基于去中心化、分布式、不可篡改的数据存储结构。它

    2024年04月27日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包