数值计算可以分为两类:矩阵运算和矩阵元素运算

3.1 矩阵函数和特殊矩阵

       矩阵代数的处理数组大部分以一维数组(向量)和二维数组(矩阵)为主。

常见的矩阵处理函数如下:

特殊矩阵:

稀疏矩阵:

稀疏矩阵的创建通常可以通过使用sparse和spdiags函数来进行:

  • sparse(i,j,s,m,n,nz_max)使用[i,j,s]来创建m*n维稀疏矩阵s,其中s为所有非零元素构成的向量,i,j分别为非零元素的行下标和列下标。
  • spdiags(B,d,m,n)可以抽取、创建或替代对角稀疏矩阵,其中m和n分别为矩阵的行和列的维数,d表示长度为p的整数向量,B为满矩阵。
  • 稀疏矩阵和满矩阵之间可以通过sparse和full函数进行转换。
  • spy(A)画出A矩阵

3-2  矩阵分析

  • 范数分析:norm()函数可以用来求解向量和矩阵的范数,

           如 n2=norm(x),ninf=norm(x,inf),nneg_inf=norm(x,-inf)分别求解二范数,无穷范数和负无穷范数

          求解大型矩阵的范数和稀疏矩阵时,可以考虑采用normest来求解。

  • 条件数分析:矩阵的条件数总是大于1,正交矩阵的条件数等于1,奇异矩阵的条件数为无穷大,

         病态矩阵的条件数是比较大的数据。 矩阵的条件数可以通过函数cond()求解。

3.3  线性方程组

下面介绍三种方程组:恰定方程组、超定方程组、欠定方程组。

  •  恰定方程组:方程组的个数和未知数的个数相等,分为奇异和非奇异两种。

%求解非奇异恰定方程组的解
>> A=[1 2 3;4 5 6;7 8 0];
>> y=[366;804;351]

%方法一:判断A的条件数、秩以及增广矩阵[A y]的秩
>> rank(A)

>>rank([A y])

>> cond(A)

>> x_1=inv(A)*y

>> %方法2 通过矩阵左除来求解线性方程组的解,LU分解,速度快
>> x_2=A\y

%求解奇异恰定方程组的解

>> A=[1 3 7;-1 4 4;1 10 18];
>> y=[6;4;15];
>> %方法1:通过矩阵左除来求解线性方程组的解
>> x_1=A\y

>> %方法2 判断A的条件数、A的秩以及增广矩阵[A y]的秩
>> det_A=det(A)

>> rank_A=rank(A)

>> rank_Ay=rank([A y])

>> cond_A=cond(A)

>> x_2=pinv(A)*y;
>> disp(x_2)

  •  欠定方程组:方程组的个数小于未知数的个数,存在无数个解。最小范数解,略。

方法1:左除法:x_1=A\y

方法2:伪逆矩阵法(范数最小)

x_2=pinv(A)*y

  •  超定方程组:方程组的个数大于未知数的个数,存在无数个解。最小二乘解,略。

3.4  矩阵分解

   主要包括Cholesky 分解、LU分解和QR分解

3.5 特征值分析(略)

Matlab--从入门到精通(Chapter3 矩阵运算)的更多相关文章

  1. Matlab 从入门到精通 Chapter11 文件读取I/O

    11.1 工作空间数据读取 将工作空间的变量保存为文件,可以使用save命令.  save('filename') 将文件保存在当前目录下,文件名为filename.mat save('filenam ...

  2. 《Matlab实用案例》系列Matlab从入门到精通实用100例案例教程目录(持续更新)

    目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 2. 专栏地址 「 刘一哥与GIS的故事 」之<Matlab使用案例> 3. 专栏目录 [MATLAB统计分析与应用1 ...

  3. Matlab从入门到精通 Chapter5 数据可视化--

    5-1 图形绘制示例 >> x2=-17:0.02:3; >> y2=1./((x2+3).^2+1)+1./((x2+9).^2+4)+5; >> subplot ...

  4. CUDA从入门到精通

    http://blog.csdn.net/augusdi/article/details/12833235 CUDA从入门到精通(零):写在前面 在老板的要求下.本博主从2012年上高性能计算课程開始 ...

  5. CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET

    http://blog.csdn.net/augusdi/article/details/12833235 CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET CUDA ...

  6. MyBatis从入门到精通(1):MyBatis入门

    作为一个自学Java的自动化专业211大学本科生,在学习和实践过程中"趟了不少雷",所以有志于建立一个适合同样有热情学习Java技术的参考"排雷手册". 最近在 ...

  7. 【halcon教程资料】全网汇总如何快速、高效率学习机器视觉从入门到精通

    我以八年的视觉工程师开发的工作经验告诉你,你不要再因为学习halcon发愁了,我接触过很多学习halcon的小白,并不是不愿意学,而是不知道怎么快速.高效率的学习精通,一天天的过去了,对学习halco ...

  8. 【CUDA开发】CUDA从入门到精通

    CUDA从入门到精通(零):写在前面 在老板的要求下,本博主从2012年上高性能计算课程开始接触CUDA编程,随后将该技术应用到了实际项目中,使处理程序加速超过1K,可见基于图形显示器的并行计算对于追 ...

  9. Simulink仿真入门到精通(十九) 总结回顾&自我练习

    从2019年12月27到2020年2月12日,学习了Simulink仿真及代码生成技术入门到精通,历时17天. 学习的比较粗糙,有一些地方还没理解透彻,全书梳理总结: Simulink的基础模块已基本 ...

  10. matlab快速入门

    matlab快速入门 1矩阵 生成矩阵 ​ % 直接法 a = [1,2,3;4,5,6;7,8,9]; % 冒号一维矩阵 a = 开始:步长:结束,步长为1可省略 b = 1:1:10; % 1,2 ...

随机推荐

  1. Java NIO(六)选择器

    前言 Selector选择器是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件.这样使得一个单独的线程可以管理多个Channel,从而管理多个网络连接.选择 ...

  2. 新手配置vux

    1.首先跟平常一样创建一个vue的项目 2.开始配置vux 第一步 安装vux npm install vux --save 第二步  安装vux-loader npm install vux-loa ...

  3. Python学习——BeautifulSoup篇

    BeautifulSoup     Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beau ...

  4. 「JavaSE 重新出发」05.03 反射

    能够分析类能力的程序称为反射(reflection). 反射库(reflection library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵 Java 代码的程序. 反射机制可以用 ...

  5. CDR 2017版本LiveSketch工具是什么,怎么用?

    LiveSketch 工具在提供手绘草图的简便性和速度的同时,结合了智能笔触调整和向量绘图.在您绘制草图时,CorelDRAW 2017会分析您输入笔触的属性.时序和空间接近度,对其进行调整并将其转换 ...

  6. mysql定时清理binlog

    一.没有主从同步的情况下清理日志 mysql -uroot -p123456 -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ),INTERVAL 5 DAY) ...

  7. spring使用注解开发

    1.准备工作(1)导入common-annotations.jar(2)导入schema文件 文件名为spring-context-2.5.xsd(3)在xml的beans节点中配置 service层 ...

  8. node——post提交新闻内容

    获取用户post提交的数据分多次提交,因为post提交数据的时候,数据量可能比较大,会要影响服务器中获取用户所以.提交的所有数据,就必须监听request事件.那么,什么时候才表示浏览器把所有数据提交 ...

  9. Sona && Little Elephant and Array && Little Elephant and Array && D-query && Powerful array && Fast Queries (莫队)

    vjudge上莫队专题 真的是要吐槽自己(自己的莫队手残写了2个bug) s=sqrt(n) 是元素的个数而不是询问的个数(之所以是sqrt(n)使得左端点每个块左端点的范围嘴都是sqrt(n)) 在 ...

  10. python matplotlib数据可视化

    #基于python3 Matplotlib构建的3D图形: 使用pycharm的小伙伴把sciview给关掉: 因为sciview显示的是png图片.3d图形一般我们都需要拖拖拽拽的. 参见: htt ...