最近,需要用MATLAB处理一批数据,数据的格式如下:

如上图所示,在一个文本文件中存储着一个N行8列的矩阵,第一列的取值为-1,0,1.为了将所有含有这三个值的行分别提出出来。使用find函数应该是比较高效的。

find函数语法:

1. ind = find(X)

2. ind = find(X, k)

3. ind = find(X, k, 'first')

4. ind = find(X, k, 'last')

5. [row,col] = find(X, ...)

6. [row,col,v] = find(X, ...)

说明:

1. ind = find(X)

找出矩阵X中的所有非零元素,并将这些元素的线性索引值(linear indices:按列)返回到向量ind中。

如果X是一个行向量,则ind是一个行向量;否则,ind是一个列向量。

如果X不含非零元素或是一个空矩阵,则ind是一个空矩阵。

2. ind = find(X, k) 或 3. ind = find(X, k, 'first')

返回第一个非零元素k的索引值。

k必须是一个正数,但是它可以是任何数字数值类型。

4. ind = find(X, k, 'last')

返回最后一个非零元素k的索引值。

5. [row,col] = find(X, ...)

返回矩阵X中非零元素的行和列的索引值。

这个语法对于处理稀疏矩阵尤其有用。

如果X是一个N(N>2)维矩阵,col包括列的线性索引。

例如,一个5*7*3的矩阵X,有一个非零元素X(4,2,3),find函数将返回row=4和col=16。也就是说,(第1页有7列)+(第2页有7列)+(第3页有2列)=16。

6. [row,col,v] = find(X, ...)

返回X中非零元素的一个列或行向量v,同时返回行和列的索引值。

如果X是一个逻辑表示,则v是一个逻辑矩阵。

输出向量v包含通过评估X表示得到的逻辑矩阵的非零元素。

根据如上的语法原理编写代码如下:

function result = example(dataPath)

%dataPath为data的路径

[pathstrssim, namessim, extssim] = fileparts(dataPath);

%读取数据

[Choice a b c d e f g ] =...

textread(dataPath,'%f%f%f%f%f%f%f%f%f%f%f');

tempMat = [Choice a b c d e f g];

%计算矩阵的总数

total = size(Choice,1);

tie = find(tempMat(:,1) == 0);

non_tie = total - size(tie,1);

[Lrow,Lcol V] = find(tempMat(:,1) == -1);

LeftMat1 =tempMat(Lrow,:);

[Rrow,Rcol V] = find(tempMat(:,1) == 1);

RrowMat1 =tempMat(Rrow,:);

result = [LeftMat1;RrowMat1];

end

find(==)函数matlab,MATLAB学习笔记(1 )find函数相关推荐

  1. 系统辨识理论及MATLAB仿真——学习笔记(1)

    系统辨识理论及MATLAB仿真学习笔记(1) 前言 目录 第1章 绪论 1.1 建立数学模型的基本方法 1.2 系统辨识的定义 1.3 系统辨识的研究目的 1.4 数学模型的分类 1.5 几种常见的数 ...

  2. matlab bwmorph spur,matlab图像处理学习笔记-数学形态与二值图像操作

    matlab图像处理学习笔记-数学形态与二值图像操作 数学形态学主要处理的是二值图像,因为二值图像的处理操作比较简单. 9.1 数学形态学图像处理 基本思想:利用一个称作结构元素(structurin ...

  3. c++学习笔记内联函数,函数重载,默认参数

    c++学习笔记内联函数,函数重载,默认参数 1 inline内联函数 C++中的const常量可以替代宏常数定义,如: const int A = 3;  #define A 3 C++中是否有解决 ...

  4. c语言中void arrout,c语言学习笔记(数组、函数

    <c语言学习笔记(数组.函数>由会员分享,可在线阅读,更多相关<c语言学习笔记(数组.函数(53页珍藏版)>请在人人文库网上搜索. 1.数组2010-3-29 22:40一维数 ...

  5. IOS学习笔记07---C语言函数-scanf函数

    2013/8/7 IOS学习笔记07---C语言函数-scanf函数 ------------------------------ qq交流群:创梦技术交流群:251572072            ...

  6. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  7. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  8. jquery学习笔记及常用函数封装

    二.JQuery 学习笔记及常用函数封装 https://download.csdn.net/download/weixin_42530002/13087988 1.JQuery入门 (1).css选 ...

  9. STATA学习笔记:egen函数

    STATA学习笔记:egen函数 1. egen (1)mean() webuse egenxmpl,clear egen avg = mean(cholesterol) gen deviation ...

  10. Python学习笔记11:函数修饰符

    Python学习笔记11:函数修饰符 Python有很多有趣的特性,其中函数修饰符就是一个. 我们在之前的那个web应用示例中用过如下写法: @web.route('/log') @符号后边的,就是一 ...

最新文章

  1. 三维点云的深度学习研究综述
  2. 全球及中国商用壁挂式浴镜行业投资决策与需求前景预测报告2022版
  3. mybatis环境搭建步骤(含配置文件代码)
  4. python turtle库输出文字_python turtle库学习笔记
  5. Nginx正向与反向代理
  6. NTA高性能Flow负载均衡及其应用
  7. 如何将Node.js Streaming MapReduce引入Amazon EMR
  8. 从源码角度彻底理解ReentrantLock(重入锁)
  9. 流过的时光... 想到了曾经的我某个情节我笑了...
  10. 数据结构之均摊复杂度的使用(课本)
  11. mongodb 正则
  12. 【TWVRP】基于matlab灰狼算法求解带时间窗的路径规划问题【含Matlab源码 1075期】
  13. 抖音及其他app对xp框架的检测原理刨析和反制方法
  14. html页面内容的收缩和展开效果
  15. 充电IC中的动态路径管理
  16. 使用Typora编辑器编写md文档插入图片方法
  17. Android开发之使用Web Service进行网络编程
  18. JVM - 垃圾回收(垃圾标记阶段算法,内存泄漏与溢出)(2)
  19. win7 提示 由于无法验证发布者,windows阻止控件安装 解决办法
  20. 软件测试基础理论2-产品模型

热门文章

  1. c语言怎么定义存储过程输出的游标,存储过程触发器和游标.ppt
  2. G 分布式服务链路追踪-SkyWorking
  3. 产品经理如何做好项目管理
  4. 【ACWing】665. 倍数
  5. android 按钮并排左右_在android studio中并排对齐按钮
  6. 服务器宕机了,数据会丢失吗
  7. 75道关于CSS的高频面试题总结,请注意查收
  8. MFC 给列表控件发送左键单击、双击、以及右键单击消息
  9. 现在什么浏览器最好用?
  10. 手机站百度地图一键导航代码