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数据分析与多项式计算

    (一)数据处理统计 一.最大值和最小值 1.求向量的最大值和最小值 y=max(X); %返回向量X的最大值存入y,如果X中含有复数则按模最大的存入y [y,I]=max(X);%返回向量X的最大值存 ...

  2. MATLAB学习笔记(十一)——MATLAB图形用户界面设计

    (一)菜单设计 一.建立用户菜单 1.概况: 用户菜单一般含有一级菜单和二级菜单,乃至多级菜单.每一级菜单又包含多个菜单项.建立菜单可以使用uimenu函数. 2.uimenu函数调用: %建立一级菜 ...

  3. MATLAB学习笔记(十)——MATLAB图形句柄

    (一)图形对象及其句柄 一.图形对象 MATLAB图形对象包括: 1.MATLAB每一个具体图形一定包括计算机屏幕和图形窗口两个对象 二.图形对象句柄 1.定义 MATLAB在创建每一个图形对象时,都 ...

  4. MATLAB学习笔记(九)——MATLAB符号计算

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

  5. MATLAB学习笔记(八)——MATLAB数值积分与微分

    (一)数值积分 一.数值积分的MATLAB实现方法: 1.变步长辛普生法(quad)法: (1)调用格式: [I,n]=quad('fname',a,b,tol,trace); fname是被积函数: ...

  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学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  9. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  10. 【数学建模】MATLAB学习笔记——函数式文件

    MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...

随机推荐

  1. [Asp.Net]状态管理(ViewState、Cookie)

    简介 HTTP协议是无状态的.从客户端到服务器的连接可以在每个请求之后关闭.但是一般需要把一些客户端信息从一个页面传送给另一个页面. 无状态的根本原因是:浏览器和服务器使用Socket通信,服务器将请 ...

  2. 10.23lamp环境

    前序: 查考文章:http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.html http://www.centos.bz/2011/09/ ...

  3. HTML 标准属性 和 事件属性

    HTML的公共属性 HTML 和 XHTML 标签支持的标准属性 核心属性 (Core Attributes) 以下标签不提供下面的属性:base.head.html.meta.param.scrip ...

  4. ORACLE10G工作原理

    数据库查询语句内部执行过程 Select * from   xxx 步骤 分析阶段(parse) 1.         共享池库高速缓存有没有该语句.如果有直接返回结果. 2.         语法分 ...

  5. linux 使用 ionice 限制 Xen 虚拟机磁盘 IO

    作为 VPS 服务商我们需要保证每个 VPS 公平的使用 host(服务器)的资源,避免某个 VPS 因为程序死循环.挂起.滥用等因素 “拖累” 其他 VPS,如果出现这个情况如何临时限制这个 VPS ...

  6. Java--多线程读取网络图片并保存在本地

    本例用到了多线程.时间函数.网络流.文件读写.正则表达式(在读取html内容response时,最好不要用正则表达式来抓捕html文本内容里的特征,因为服务器返回的多个页面的文本内容不一定使用相同的模 ...

  7. 利用nginx泛域名解析配置二级域名和多域名

    利用nginx泛域名解析配置二级域名和多域名 网站的目录结构为 html ├── bbs └── www html为nginx的安装目录下默认的存放源代码的路径. bbs为论坛程序源代码路径 www为 ...

  8. Redis windows安装配置与Jedis访问数据库

    一 Redis概要 Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器 ...

  9. 《ASP.NET MVC4 WEB编程》学习笔记------Web API

    本文截取自情缘 1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集 ...

  10. C++纯虚函数

    本文较为深入的分析了C++中虚函数与纯虚函数的用法,对于学习和掌握面向对象程序设计来说是至关重要的.具体内容如下: 首先,面向对象程序设计(object-oriented programming)的核 ...