[matlab] 3.矩阵
matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有。
事实上,matlab里面所有变量都是以矩阵的形式保存下来的。
%%
>> x=[1:2.1:10] x = 1.0000 3.1000 5.2000 7.3000 9.4000
1冒号生成法
非常方便,相当于python里面的for循环
x=linspace(1,10,6)
%(初值,终值,项数)
linspace法
A(n):访问矩阵A里的第n个元素(以列为遍历顺序)

matlab内置一系列特定矩阵:[]空矩阵、eye 单位阵、blkdiag对角矩阵、ones 全部元素为1的矩阵、zeros全部元素为0的矩阵
blkdiag(1,2,3,4)
对角矩阵

matlab内置常见的指令: max 、min求最大最小元素;mean求平均值;median求中位数;sum求和【注意sum对矩阵操作的时候是按列求和】;prod求积;length求数组长度;size求矩阵的阶数。
c=blkdiag(1,2,3,4)
c(4,:)=5
sum(c)
sum(sum(c))
sum求和

关于除法,注意matlab里有两种除法,左除\和右除/【相当于左乘或者右乘那个矩阵的逆矩阵】
线性代数里面学过: 除以一个矩阵 等于 乘以它的逆矩阵,
所以只有方阵才能做除法哦【可逆的方阵】
举例:【注意:rank是求矩阵的 秩】
A=[1,0,1;0,0,2;3,1,2];
rank(A)
B=[2 5 1;2 0 3;1 2 2];
rank(B)
format rat %显示分数格式
A/B
A*inv(B)
B\A
inv(B)*A
矩阵的除法
结果如图:

关于matlab中的点运算
A=[1,0,1;0,0,2;3,1,2];
B=[2 5 1;2 0 3;1 2 2]; A*B
A.*B
A.^2
点运算

下面是一些对矩阵的操作函数
转置:在矩阵后面加一个 ' 就好
reshape 改变矩阵阶数
repmat 按指定的行列数复制矩阵
rot90 逆时针旋转矩阵90度
flipud 上下翻转
filplr 左右翻转
A=[1,0,1;0,0,2];
G=repmat(A,2,2)
repmat 整个复制


A=[1,0,1;0,0,2]
H=reshape(A,3,2)
矩阵重新塑形(行列)

关系运算符
A=[1,2,3;4,5,2]
B=3*ones(2,3)
A>B
%可以用来判别 符合条件的数据位
矩阵关系运算符

find主要就是找到矩阵中符合条件的元素的序号(按列顺序)
A=[1,2,3;4,5,2]
B=3*ones(2,3)
find(A==B)
find函数的应用

A=[1,2,3;4,5,2]
B=3*ones(2,3)
find(A>3) %返回满足条件的列序号
A(find(A>3)) %根据列序号取出具体位置的数值
利用find返回的列序号取具体值

再补充一些系统的命令
clc清屏
who 显示已有变量
whos 显示已有变量和具体信息
home 将光标移到左上角
clf 清除图像
A=magic(5);
C=[eye(5);eye(5)] ;
B=C*A %线性代数 左乘单位矩阵 行方向复制A矩阵
左乘单位矩阵 复制矩阵
A=magic(5);
A=[A;A]
矩阵拼接

计算两点距离
A=magic(2);
A=A(:);
B=magic(2);
B=B(:);
D=pdist2(A,B)
pdist2 计算距离

[matlab] 3.矩阵的更多相关文章
- Matlab中矩阵的平方和矩阵中每个元素的平方介绍
该文章讲述了Matlab中矩阵的平方和矩阵中每个元素的平方介绍. 设t = [2 4 2 4] 则>> t.^2 ans = 4 164 16 而>> t^2 ans = ...
- matlab将矩阵数据归一化到[0,255]
matlab将矩阵数据归一化到[0,255] function OutImg = Normalize(InImg) ymax=255;ymin=0; xmax = max(max(InImg) ...
- Matlab操作矩阵的相关方法
Matlab操作矩阵的相关方法 下面这篇文章主要是对吴恩达老师机器学习中matlab操作的一个整理和归纳 一.基本操作 1.生成矩阵(ones.zeros) A = [1 2;3 4;5 6] ...
- Matlab/Eigen矩阵填充问题
Matlab进行矩阵填充时可以填充空矩阵,相当于空矩阵不存在,例如一下代码: P_RES = [ P_xv P_xvy P_xv*dy_dxv'; P_yxv P_y P_yxv*dy_dxv'; d ...
- [matlab]改变矩阵的大小并保存到txt文件
要完成的任务是,加载一个保存在txt文件中的矩阵, 并把它扩大10倍,并且要再次保存回去 %加载txt文件 >load('Matrix.txt'); %扩大10倍 repmat(Matrix,r ...
- matlab之矩阵分解
矩阵分解 矩阵分解 (decomposition, factorization)是将矩阵拆解为数个矩阵的乘积. 1.三角分解法: 要求原矩阵为方阵,将之分解成一个上三角形矩阵(或是排列(permute ...
- MATLAB学习笔记(二)——主要是MATLAB的矩阵知识
PS:主要是讲解矩阵的相应的实现方法,其实MATLAB的很大一部分的优势,就是集成了矩阵级别的运算,并以此为特点,可以进行多维空间上的验证. 让我们懂得了原来线性代数如此有用= - =. (一)MAT ...
- Matlab计算矩阵和函数梯度
一.差分与微分 我自己的理解. 二.求解 2.1 矩阵 这就是matlab的计算结果.太小的话放大些: c = 4 5 9 7 2 1 5 2 6 >> [x,y]=gradient(c) ...
- Matlab计算矩阵间距离
夜深人静时分,宿舍就我自己,只有蚊子陪伴着我,我慢慢码下这段文字............ 感觉知识结构不完善:上学期看论文,发现类间离散度矩阵和类内离散度矩阵,然后百度,找不到,现在学模式识别,见了, ...
随机推荐
- C#设计模式之四建造者模式(Builder Pattern)【创建型】
一.引言 今天我们要讲讲Builder模式,也就是建造者模式,当然也有叫生成器模式的,英文名称是Builder Pattern.在现实生活中,我们经常会遇到一些构成比较复杂的物品,比如:电脑,它就是一 ...
- memcached 源码阅览 一
想要快速了解memcached内部原理么?那么赶紧离开本页,这会耽误您的时间. 不知时隔多少时间,今天受了些刺激,在码农路上开始犹豫起来,但是想想自己也没其他本身,就只好放下王者荣耀,重新看看技术内容 ...
- call,apply,bind的用法与区别
1.call/apply/bind方法的来源 首先,在使用call,apply,bind方法时,我们有必要知道这三个方法究竟是来自哪里?为什么可以使用的到这三个方法? call,apply,bind这 ...
- 二进制安装 kubernetes 1.12(四) - 部署 Node 节点组件
在 master 上操作 vi /etc/profile export PATH=/opt/kubernetes/bin:$PATH source /etc/profile 将 kubelet-boo ...
- 小tips:JS语法之标签(label)
JavaScript语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下. label: statement 标签可以是任意的标识符,但是不能是保留字,语句 ...
- 2017-11-09 中文代码示例之Vuejs入门教程(一)
"中文编程"知乎专栏原链 为了检验中文命名在主流框架中的支持程度, 在vuejs官方入门教程第一部分的示例代码中尽量使用了中文命名. 所有演示都在本地测试通过, 源码在这里. 下面 ...
- 【机器学习基本理论】详解最大后验概率估计(MAP)的理解
[机器学习基本理论]详解最大后验概率估计(MAP)的理解 https://blog.csdn.net/weixin_42137700/article/details/81628065 最大似然估计(M ...
- js的深层克隆和浅层克隆代码和理解
<script> //判断是不是原始值 //判断是数组还是对象 //建立相应的数组或对象 var obj={ name:'辣鸡', sex:'male', card:['laobi','f ...
- Markdown:常用语法
1.标题 说明:一共可以6级标题,几级几个# 一级标题 #一级标题 2.代码 用前后扩上 Hello World! 3.代码块 用前后扩上 Hello World! 4.加粗 加粗了 **加粗了** ...
- VMware虚拟机CentOS7网络通信与无线上网
实现主机和虚拟机网络通信 1.虚拟机设置 VMware界面最上面,选择[虚拟机]->[设置]:将网络连接改为"桥接模式",如下图所示: 2.CentOS7网络设置 自动获取I ...