PS:主要是讲解矩阵的相应的实现方法,其实MATLAB的很大一部分的优势,就是集成了矩阵级别的运算,并以此为特点,可以进行多维空间上的验证。

让我们懂得了原来线性代数如此有用= - =。

(一)MATLAB矩阵

一、矩阵的建立

1、直接输入法创建:

还可以有复数矩阵的建立,有两种方法:

(1)直接按照直接输入法来建立矩阵,但是元素可以直接打成复数的形式(a+bj)

(2)还有就是分别建立一个实部还有一个虚部的矩阵,然后通过(a+bj)就可以得到。

2、M文件建立矩阵

就是把建立的矩阵存在一个文件里,下次直接调用就可以了。然后方法如下(下一篇日志会叙述)

3、利用冒号表达式建立一个向量

(1)e1:e2:e3

其中e1为初始值,e2为步长,e3为终止值(只取到小于或者等于终止值就可以了),

如果e2省略,那么默认步长为1;

(2)lidspace(a,b,n)

a,b是生成向量的第一个和最后一个元素,n是元素总数。

4、建立大矩阵(由方括号中的小矩阵或者向量组合起来)

5、通过MATLAB集成的交互界面进行创建(最快)

(1)找到新建变量,并单击

(2)然后就可以进行新建变量了

1处可以改变变量名字,2处可以进行矩阵的输入,3处可以查看矩阵在内存中是否保存,没有的话请按Ctrl+s。

二、矩阵的拆分

1、矩阵元素

(1)可以直接通过下标进行修改和访问,如果超过了原来矩阵的维度,会自动扩充,并且未填充的元素置为0。

(2)矩阵元素是按照列来存储,先第一列然后第二列。然后下标和序号可以一一对应,然后由对应的sub2ind和ind2sub求得

2、矩阵拆分

(1)用冒号表达式来获得子矩阵

a、a(  : ; j )表示取a矩阵的第j列的全部元素;同样的a(i;:)表示取a矩阵第i行的全部元素。也可以直接饮用对应下标取单独的元素。

b、里面可以嵌套冒号表达式,这样子就可以取出一个小的矩阵。例子如下

c、end表示最后一个数。

(2)利用空矩阵删除矩阵的元素

clear是把变量从空间中删除,而[]则是赋值成一个空的矩阵。

同样可以使用引用,进行数组的置空

三、特殊矩阵

1、通用的特殊矩阵:

zeros 产生0的矩阵
ones 产生1的矩阵
eye 产生对角矩阵
rand 产生0~1间均匀分布的随机矩阵
randn 产生矩阵为0,方差为1的标准正态分布随机矩阵

2、用于专门学科的特殊矩阵

(1)魔方矩阵(每行每列每对角线都相等)

magic(n): 生成n阶的魔方阵。

(2)范德蒙德矩阵

(3)希尔伯特矩阵

hilb(n)                n阶希尔伯特矩阵

invhilb(n)          n阶希尔伯特的逆矩阵

(4)托普利兹矩阵

toeplitz(x,y)

(5)伴随矩阵

(二)MATLAB运算

一、算术运算

1、基本算数运算

(1)加减

(2)乘法

(3)除法

(4)乘方

这些运算主要都要服从矩阵的运算法则。维度不符合matlab会进行报错。

2、点运算

格式是在正常的符号前面加上一个“.”就好了。

运算的结果就是对矩阵中的每个元素相应的运算就好了,

二、关系运算

1、关系运算符:

< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
~= 不等于

2、运算法则:

(1)标量对标量:直接进行运算

(2)矩阵对矩阵:每个元素对应进行运算

(3)标量对矩阵:标量对每个元素进行运算

最后是真的为“1”,假的为“0“。

PS:在这里记下一个求求余数的函数rem

三、逻辑运算

1、逻辑运算符。

2、运算法则同上。

PS:运算符的优先级排序:算术>关系>逻辑

3、其他相应的一些逻辑函数(通过名字来记住功能)

(三)矩阵分析

一、对角阵与三角阵

1、对角阵

(1)提取矩阵对角线上的元素:  diag(A), diag(A,k)

(2)构造对角阵:  diag(A)

对每行每列进行相同乘数的运算,用对角阵相乘,左乘(对每行进行相乘),右乘(对每列进行相乘)

2、三角阵

(1)上三角阵

triu(A):将A变成一个上三角矩阵(下半边为0)

triu(A,k):将矩阵A的第k条对角线以上的元素

(2)下三角矩阵

tril(A)

tril(A,k)

二、矩阵的转置与旋转

1、矩阵的转置

(1)转置运算符是单撇号(’)

(2)作用就是求转置,但是请注意不是求逆矩阵。

2、矩阵的旋转

(1)运算符号:rot(A,k)

就是将矩阵逆时针旋转k*90°的角度。如果单单旋转90°就可以直接省略k这个参数。

3、矩阵的左右翻转

(1)运算符号:fliplr(A)

4、矩阵的上下翻转

(1)运算符号:flipud(A)

三、矩阵的逆与伪逆

1、矩阵的逆

(1)定义:A·B=B·A=E,就称A和B互为逆矩阵。

(2)运算函数:inv(A)

(3)应用:可以用来求解线性方程组

2、矩阵的违逆

(1)定义:我们知道在矩阵不是满秩的时候是没有逆矩阵的。但是可以找到一个与A的转置矩阵A`同型的矩阵B,使得满足矩阵的逆的定义。此时称矩阵B为矩阵A的违逆。

(2)运算函数:pinv(A)

四、矩阵的行列式

运算函数:det(A)

五、矩阵的秩与迹

1、矩阵的秩

(1)定义:就是一个矩阵的行数和列数线性无关的数目

(2)运算函数:rank(A)

2、矩阵的迹

(1)定义:就是矩阵对角阵上的元素之和。

(2)运算函数:trace(A)

六、向量和矩阵的范数

1、定义:用来度量矩阵或者向量在某种意义下的长度。

2、向量的3种常用范数以及计算函数

3、范数的三个性质:

(1)非负性

(2)齐次性

(3)满足施瓦茨不等式(a,b)<=(a,a)(b,b)

4、矩阵的范数及其计算函数

运算函数同向量的。

七、矩阵的条件数

(1)定义:在求解线性方程组时,如果系数的微小改变会导致最终结果的很大改变,称系数矩阵为病态矩阵,而不会导致最终结果的很大改变的话,则是良性矩阵,然后条件数便是来衡量这一情况的一个参数。

条件数等于A的范数与A的逆矩阵的范数的乘积。这样的话,条件数总是大于1的,如果越接近于1的话,性能越好。

(2)函数为:

八、矩阵的特征值与特殊矩阵

(六)字符串

1、规则:

(1)用单引号括起来就是字符串。

(2)然后字符串可以写成一个矩阵,但是一个字母是一个元素,所以一定要保证矩阵的维数是正确的。

(3)如果字符串本身有单引号,就要加2个单引号。

(4)较长的字符串可以用字符串向量表示,及用[]括起来。

(八)稀疏矩阵

一、矩阵存储方式

1、完全储存方式:就是之前我们使用的方式

2、稀疏矩阵方式:

二、稀疏储存方式的产生:

1、将完全储存方式转化为稀疏矩阵的方式

(1)A=sparse(S):将矩阵S转化为稀疏储存方式的矩阵A

(2)sparse的其他调用方式:

sparse(m,n):生成一个m*n的所有元素都是0的稀疏矩阵

sparse(u,v,S):u,v,S是3个等长的向量。S是要建立的稀疏矩阵的非零元素,u,v是行列下标,然后S是相应的元素值。

(3)其他操作的方式:

[u,v,s]=find(A):返回矩阵A中非零元素的下标和元素。

full(A):返回和稀疏储存矩阵A对应的完全储存方式矩阵。

2、产生稀疏储存矩阵

MATLAB学习笔记(二)——主要是MATLAB的矩阵知识相关推荐

  1. MATLAB学习笔记——二维和三维绘图

    MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...

  2. MATLAB 学习笔记(4)MATLAB 数组

    目录 MATLAB数组 MATLAB中的特殊阵列 MATLAB 魔方矩阵 MATLAB 多维数组 详细例子 MATLAB数组函数 详细示例 MATLAB数组排序 MATLAB单元阵列 注意 详细例子 ...

  3. MATLAB学习笔记(二) -- 矩阵和数组

    一.矩阵和数组的创建 函数法主要用于一些具有特许规律的矩阵. (1)zeros() -- 全零矩阵生成,ones() -- 全1矩阵 (2)eye() -- 单位矩阵,不支持二维以上的矩阵生成 (3) ...

  4. Matlab学习笔记9.3:Matlab之神经网络模型

    提示:来源于 中国大学慕课 西北工业大学 肖华勇老师的数学建模课程 文章目录 前言 一.多层前向神经网络原理介绍 二.Matlab相关函数介绍 1.网络初始化函数 2.网络训练函数 3.网络泛化函数 ...

  5. matlab 绘制符号函数,DAY8 MATLAB学习笔记—simulink入门、MATLAB符号函数的图形绘制...

    如何打开simulink: 启动simulink: 先打开MATLAB软件界面 第一步打开simulink 第二步在command windows输入 simulink然后enter,等待 有很多模块 ...

  6. MATLAB学习笔记(七)——MATLAB解方程与函数极值

    (一)线性方程组求解 包含n个未知数,由n个方程构成的线性方程组为: 其矩阵表示形式为: 其中 一.直接求解法 1.左除法 x=A\b; 如果A是奇异的,或者接近奇异的.MATLAB会发出警告信息的. ...

  7. MATLAB学习笔记(五)——MATLAB绘图

    (一)二维数据曲线图 一.绘制单根二维曲线 1.基本调用格式 plot(x,y) (1)x,y为长度相同的向量,分别用于储存x坐标和y坐标数据 (2)用于绘制以x,y为横,纵坐标的二维曲线. (3)举 ...

  8. matlab中化简为既约分时,MATLAB学习笔记(九)——MATLAB符号计算

    (一)符号对象 一.建立符号对象 1.建立符号变量和符号常量(sym,syms): 只可以建立一个符号变量 可以一次性建立多个符号变量 PS:符号常量计算的结果是精确的数学表达式,而数值常量是进行约分 ...

  9. MATLAB学习笔记一——变量、字符与矩阵

    也是很久没写过markdown了,康复训练吧 clc用来清除命令行窗口 clearall 清除工作区 一般的话为了不让命令行窗口内容复杂,都会在编辑器开头写这两个语句. 变量命名 区分大小写 长度不超 ...

  10. matlab基本运算点乘,Matlab学习笔记(一)Matlab基本运算及语法

    一.概述 Matlab(MATrix LABoratory),也即矩阵实验室,因而数据在其中都是以矩阵为基本数据单位保存的,就算一个数字,也是1*1的矩阵.本篇总结Matlab的一些基本的语法和函数用 ...

最新文章

  1. 域渗透提权之MS14-068
  2. ASP.NET页面包含另外一个页面
  3. UML基础教程(内部使用教程) 非常不错的ppt!!强烈推荐
  4. c# nullable类型有什么用
  5. vue代码生成器可视化界面_手把手教你基于SqlSugar4编写一个可视化代码生成器(生成实体,以SqlServer为例,文末附源码)...
  6. Uva 11400,照明系统设计
  7. 实验二+140+阮晨曦
  8. 写有效率的SQL查询(I)
  9. 编程语言python入门-为什么说python是适合新手入门的编程语言
  10. [python] 将一个序列的排序方式扩展到其他序列
  11. 端口冲突,可爱的8080
  12. lammps教程:单原子温度计算及输出方法
  13. 学电力好还是计算机好,毕业后想进电力系统上班?这三个专业可优先考虑
  14. 解决对表空间没有权限的问题
  15. PL/SQL——员工涨工资问题
  16. 并行程序设计导论 概念总结
  17. Spring cloud实现FeignClient指定Zone调用
  18. linux-iproute2系列-TC命令
  19. PHP 多任务秒级定时器的实现方法
  20. 百度SRE工程师提前批一面总结+为二面攒人品

热门文章

  1. Base64是一种基于64个可打印字符来表示二进制数据的表示方法,它Base64规定每76个字符后需要加上一个回车换行
  2. 新能源电动汽车充换电站系统解决方案
  3. 09_线性系统的稳态误差(静态误差)
  4. JavaWeb-Servlet源码分析
  5. 高性能MySQL分析
  6. zgrep 与 grep 区别
  7. python词频统计的方式
  8. 2023 HW 必修高危漏洞集合
  9. 易语言 websocket服务器,易语言websocket服务器源码
  10. 一站式解决数学规划求解器SCIP的安装与使用