矩阵展开

>> B=[1;3]

B =

1

3

>> C=kron(B,[1,1,1])

C =

1     1     1

3     3     3

使用imshow绘制图片到到指定坐标

% 产生新的图像显示框 hAxe=axes('Parent',gcf,... % 设置新的axe, 将'parent' 属性设置为当前窗口gcf     'Units','pixels',...  %设置单位为pixels     'Position',[30 80 605 705]);  % 指定axe的位置,格式为[left bottom width height], left和bottom设定了axe的左下 %角坐标,width和height设定了窗口的宽度和高度 %选定hAxe为当前axe axes(hAxe); %显示图像 imshow(...)

unique的实现

matlab里面的unique是通过排序后错位相减的方式实现的 充分利用了矩阵运算的性质 灰常巧妙啊!!!

寻找矩阵中某向量~

比如有矩阵A=[ 1 1 1;

2 2 2;

3 3 3;

4 4 4;]

行向量B=[3 3 3]

则: B在A的第  3 行

请问:怎么自动求出B在A的哪一行呢?

方法1:

——————————————————

for i=1:3

if (A(i,:)==B)

Position=i;

end

end

——————————————————

方法2:

——————————————————

find(ismember(A,B,'rows'));

——————————————————

ismember函数:

tf = ismember(A, S)返回一个和A同样长的数组,当A中元素是集合S中的元素时,返回逻辑1(真),否则为0。在集合论方面,k为1当A属于S。输入参数A和S可能是数值型或者字符型数组或者字符型元胞数组。 www.iLoveMatlab.cn

tf = ismember(A, S, 'rows')

当A和S为矩阵并且列数相同时,当A中的行同时也是S中的行时返回1,否则返回0。

如果A或S是字符元胞数组时不能用此语法。

[tf, loc] = ismember(A, S, ...)

返回一个包含A中的元素也是S种元素的最大索引。对于A中元素不出现S里面的,ismember返回0.

matlab 矩阵变向量

reshape

A=A(:)

后面这个真是神奇!

画矩形

line(rectx(:),recty(:));

rectx recty 为五维向量 代表五个点 ABCDA

-------------------------------------------------------------------------------------------------------------------------------------

关于下标索引

matlab以数组为基本处理单元,这是其特色,也支持灵活的矩阵下标索引也就是矩阵元素访问,包括双下标索引,线性索引,逻辑索引,冒号索引,数组索引等方式。

线性索引以列为单位对矩阵元素进行索引,通用的索引方式是A(B,C),这里B,C分别为矩阵A的行列下标组成的数组,可以是标量,向量及矩阵,其处理机制如下:将B,C分别按行进行向量化(将所有的列拼接成行向量相当于于reshape(A,

numel(A),1))成行向量vetor(B),vector(C),然后对这两个向量索引

,也就是 A(B,C)=A(vetor(B),vector(C))。

A= reshape(1:12,3,4)

A =

1              4              7             10

2              5              8             11

3              6              9             12

逻辑索引:

A(find(A>5))

ans =

6

7

8

9

10

11

12

线性索引:

A(7)

ans =

7

双下标索引:

A(3,2)

ans =

6

冒号索引:

A(:,1)

ans =

1

2

3

数组索引:

——标量

A(1,:)

ans =

1              4              7             10

——向量

A([1 2], [2 4])

ans =

4             10

5             11

——矩阵

B=[1 2 3; 3 2 1],C=[2 3;1 4]

B =

1              2              3

3              2              1

C =

2              3

1              4

A(B,C)

ans =

4              1              7             10

6              3              9             12

5              2              8             11

5              2              8             11

6              3              9             12

4              1              7             10

可以看出,除了逻辑索引和线性索引外,双下标索引,冒号索引其实是数组索引的标量及向量特例,数组索引当下标为矩阵时又需进行向量化,这种向量化方式是按列进行的,这与线性索引的按列定址如出一辙,也就是Maltab尽管是以矩阵为基本处理(编程)单元,但其内部处理方式应该也是按列进行处理的(按列存储数据)。

K-means聚类算法采用的是将N*P的矩阵X划分为K个类,使得类内对象之间的距离最大,而类之间的距离最小。

使用方法: Idx=Kmeans(X,K) [Idx,C]=Kmeans(X,K)  [Idx,C,sumD]=Kmeans(X,K)  [Idx,C,sumD,D]=Kmeans(X,K)  […]=Kmeans(…,’Param1’,Val1,’Param2’,Val2,…)

各输入输出参数介绍:

X N*P的数据矩阵 K 表示将X划分为几类,为整数 Idx N*1的向量,存储的是每个点的聚类标号 C K*P的矩阵,存储的是K个聚类质心位置 sumD 1*K的和向量,存储的是类间所有点与该类质心点距离之和 D N*K的矩阵,存储的是每个点与所有质心的距离 […]=Kmeans(…,'Param1',Val1,'Param2',Val2,…) 这其中的参数Param1、Param2等,主要可以设置为如下: 1. ‘Distance’(距离测度) ‘sqEuclidean’ 欧式距离(默认时,采用此距离方式) ‘cityblock’ 绝度误差和,又称:L1 ‘cosine’ 针对向量 ‘correlation’   针对有时序关系的值 ‘Hamming’ 只针对二进制数据 2. ‘Start’(初始质心位置选择方法) ‘sample’ 从X中随机选取K个质心点 ‘uniform’ 根据X的分布范围均匀的随机生成K个质心 ‘cluster’ 初始聚类阶段随机选择10%的X的子样本(此方法初始使用’sample’方法) matrix 提供一K*P的矩阵,作为初始质心位置集合 3. ‘Replicates’(聚类重复次数)   整数

Empty cluster created at iteration XXX 是因为在分群的过程中有某些群落没有分配到任何的输入图样 最主要的原因在于各群的初始値设定不洽当 建议改进算法 或者设置kmeans遇到空群时的参数 默认参数是报错 就是楼主遇到的 'emptyaction':'error'|'drop'|'singleton' 上面是3个可选参数,分别对应 报错|丢弃空群|创建新群 如选用第2个参数可以这样调用 kmeans(X,2,'emptyaction','drop') 当然 还有其他一些参数 可用命令 help  kmeans

matlab错位相减,matlab随手记相关推荐

  1. matlab错位相减,在非节奏流水施工中,通常用来计算流水步距的方法是()。A.累加数列错位相减取大差值B.累加数列错...

    在非节奏流水施工中,通常用来计算流水步距的方法是().A.累加数列错位相减取大差值B.累加数列错 更多相关问题 引起喉痛的常见喉部疾病有().().().().(). 以下不属于公布目的的审计报告的服 ...

  2. chatgpt赋能Python-pandas_错位相减

    Pandas:错位相减的重要性 如果你使用pandas进行数据处理,在一些数据分析的场景中你必须要逐行遍历并做一些数学计算,譬如你想要计算数据集中的同一列中相邻行之间的差异或"错位相减&qu ...

  3. python 数据错位相减,上下两行相减

    今天接到一个需求,要求对数据错位相减.感觉写得有点麻烦,如果有其他方法,欢迎留言交流 数据说明:有客户.消费日期.消费额度 求解目标:对于同一个客户,对日期升序排序,如果下一个日期的消费额度大于上一个 ...

  4. 【Python数据清洗】python 错位相减,同一行(列)的错位相相减shift()

    今天接到一个需求,要求对数据错位相减.感觉写得有点麻烦,如果有其他方法,欢迎留言交流 数据说明:有客户.消费日期.消费额度 求解目标:对于同一个客户,对日期升序排序,如果下一个日期的消费额度大于上一个 ...

  5. matlab 多项式相减,matlab多项式计算与数据处理

    1.掌握数据统计和分析的方法 2.掌握数值插值与曲线拟合的方法及其应用 3.掌握多项式的常用运算 (多项式必须保证对应长度相等才能相加减) 有3个多项式试进行下列操作: (1)求P(x)=p1(x)+ ...

  6. 高中数学数列解题:技巧数列大题—错位相减

    本文原作者:vxiaobo2018 大家好,我们今天来讲一下数列大题第二问主要考察的是裂项相消和错位相减求和,裂项相消考察的是思维方式,错位相减考察的是计算能力.那么老师今天讲一种技巧,大家只要把技巧 ...

  7. scala 借助数组实现数据序列的错位相减

    object test{def main(args: Array[String]): Unit = {println("Hello Spark")val arrayBuffer=A ...

  8. 风电光伏的场景生成与消减-matlab代码 可利用蒙特卡洛模拟或者拉丁超立方生成光伏和风电出力场景

    风电光伏的场景生成与消减-matlab代码 可利用蒙特卡洛模拟或者拉丁超立方生成光伏和风电出力场景,并采用快速前推法或同步回代消除法进行削减,可以对生成场景数和削减数据进行修改,下图展示的为1000个 ...

  9. matlab 祁彬彬,MATLAB 向量化编程基础精讲

    <MATLAB 向量化编程基础精讲>使用MATLAB新版本2016a,拣选Mathworks官方群组Cody中一些有趣的代码问题,分6章讲解这些优秀示例代码中使用数组.字符串操作.正则表达 ...

最新文章

  1. RedHat使用163源
  2. android-sdk-windows下载版
  3. “零成本”建设数据中心机房容灾方案
  4. 十八、二叉树遍历序列还原
  5. SqlServer的NEWID()函数巧用,生成GUID作为唯一标识用
  6. oracle财务软件凭证打印,金算盘财务软件后台数据库为Oracle
  7. Android中如何查看在res中存放的drawable文件对应的JAVA类型是什么呢
  8. tail将输出的日志放到文件中_如何将Spring Boot应用中日志输出格式改为JSON?
  9. Mysql高性能优化技能总结
  10. 疫情加速中国服务器采购 数字化转型成为增长“新引擎”
  11. windows 8.1无人值守安装
  12. 我有几个粽子,和一个故事
  13. 书单 | 这6本书,带你轻松学习自动化办公
  14. 周记——20151221
  15. 商学院学习笔记(2)
  16. 安卓Web Service实现天气预报功能
  17. Android各种时间格式转换
  18. 【最新版】友价T5交易商城源码 ,10月更新新增自助交易
  19. 模拟退火算法(数学建模清风)
  20. python找出主力合约价格_Python实盘交易之期货指数映射主力与“自动换月”

热门文章

  1. 有人负责,才有质量:写给在集市中迷失的一代
  2. 吴忠军 - 养生之道 老人健康长寿的大秘诀
  3. 华为网络---静态路由
  4. 门禁上的push是什么意思_门禁门磁线接在什么设备上的
  5. APP用户界面设计六基本原则
  6. 扬帆际海:如何成为一个合格的跨境电商运营?
  7. 微信小程序实现运动步数排名与发布个人动态服务器部署
  8. 请简述一下”==”和”equals”的区别
  9. imag在matlab,Matlab基本函数-imag函数 | 学步园
  10. React Hooks 详解