例如:

要将A、C、D、E四列组成一个数组,即除去B列。

首先看matlab读取excel专用函数xlsread是否提供了相应的功能。

num = xlsread(filename)

读取名为filename文件的数据,默认读取sheet1中的数据。filename要包括文件路径。

num = xlsread(filename,sheet)

读取名为filename文件工作表sheet中的的数据,

num = xlsread(filename,xlRange)

读取名为filename文件的数据,默认读取sheet1中的数据,读取xlRange列的

num = xlsread(filename,sheet,xlRange)

读取名为filename文件工作表sheet,xlRange列中的的数据

num = xlsread(filename,sheet,xlRange,'basic')

用基本的形式读取电子表格中的数据,the default on systems without Excel for Windows.(不知道怎么翻译?难道是说不支持windows下的excel?),如果没有工作表和列的特别要求,默认为空字符。例如: num= xlsread(filename,'','','basic').

不过我在matlab下运行的num= xlsread('D:\program files\matlab\example.xls','','','basic')报错,我的是windows系统

[num,txt,raw]= xlsread(filename)

num返回filename中的数据部分数组,txt部分用NaN表示

txt返回filename的txt值

raw返回和原数组相同大小的元胞数组

Example:

[num,txt,raw]= xlsread('D:\program files\matlab\example.xls')

>> example

num =

     1     2     2     3
     5     6     6     7
     3     9     8    14
   NaN   NaN   NaN     5

txt =

    'yx'    's'    'a'

raw =

    [ 1]    [2]    [2]    [ 3]
    [ 5]    [6]    [6]    [ 7]
    [ 3]    [9]    [8]    [14]
    'yx'    's'    'a'    [ 5]

___ = xlsread(filename,-1)

交互式的打开一个windows下的excel窗口读取excel中的数据

Example:

num= xlsread('D:\program files\matlab\example.xls',-1)

先在打开的excel中选取数据,再返回matlab点击弹出窗口中的确定(如上图)即可。不过好像也不支持隔列选取,只支持多列连续选取

[num,txt,raw,custom]= xlsread(filename,sheet,xlRange,'',functionHandle)

执行一个函数,返回多种类型的矩阵

Example:

  1. 在工作表中执行一个函数 然后返回数值型数据
  •       在命令行中输入以下命令 产生一个随机的正态分布矩阵(gallery函数用法参照help)

              misc = pi*gallery('normaldata',[10,3],1);
              xlswrite('myExample.xlsx',misc,'MyData');

  

  • 编写特定功能的函数(此处是将[-3 3]以外的数据变成-3或3,按照最近原则)

         function [Data] = setMinMax(Data)

  minval = -3; maxval = 3;

  for k = 1:Data.Count
    v = Data.Value{k};
    if v > maxval || v < minval
       if v > maxval
          Data.Value{k} = maxval;
       else
           Data.Value{k} = minval;
       end
    end
  end

  • 最后按照函数实现对数据的处理

trim = xlsread('myExample.xlsx','MyData','','',@setMinMax)

(用空字符代替XRange和basic参数,此处用了两个空字符当占位符 placeholders)

2 返回数据的索引(按列计算)

  • 函数要满足返回索引的需求

function [Data,indices] = setMinMax(Data)

  minval = -3; maxval = 3;
  indices = [];

  for k = 1:Data.Count
    v = Data.Value{k};
    if v > maxval || v < minval
       if v > maxval
          Data.Value{k} = maxval;
       else
           Data.Value{k} = minval;
       end
       indices = [indices k];
    end
  end

  • 调用指定函数

[trim,txt,raw,idx] = xlsread('myExample.xlsx',...'MyData','','',@setMinMax);

>>disp(idx)

>>7     9    11    15    19    20    23    24    30

以上就是关于xlsread函数的全部变体和用法

在help帮助的最后写明了xlsread函数的两个限制:

1  Limitationsxlsread reads only 7-bit ASCII characters(只能读取七位ASCII序列)
2  .xlsread does not support non-contiguous ranges(不支持非邻行的读取,也就是说只能读取相邻的行和列了~~~~(>_<)~~~~ )

.(选取特定列的方法,待定更新)

matlab怎么选取excel的特定列构成数组的更多相关文章

  1. C# EXCEL导入 混合列文字为空,找不到可安装的 ISAM的解决办法

    C# EXCEL导入 混合列文字为空,找不到可安装的 ISAM的解决办法 使用C#导入 Excel数据到 DataTable,如果连接串中只写 Excel 8.0,则正常的字符列,数值列都没有问题,但 ...

  2. .NET 里操作Excel 出现有些列的数据取不到的问题

    错误重现: ----------------------------------------------------------------------- 在导入Excel读取数据时,其中的一个字段保 ...

  3. LeetCode Excel Sheet Column Title (输出excel表的列名称)

    题意:给一个数字n,输出excel表的列名称. 思路:其实观察可知道,是个26进制的标记而已.那就模拟一下,每次计算一位时就先左移1位,再进行计算. class Solution { public: ...

  4. jquery获取表格中特定列

    jQuery().text() 如果有一个表格,我们要用jquery获取特定列,则需要修改列的索引值就好了,此句代码获取的是页面的第10列

  5. 将EXCEL中的列拼接成SQL insert插入语句

    工作中经常需要将EXCEL文件中的数据导入到各种数据库,但是对于不熟悉数据库的人来说,如果直接使用命令执行导入,这无疑是一个难题,也是一个风险.这里我们直接在EXCEL文件中拼接成标准的SQL ins ...

  6. SharePoint 2013 搜索SharePoint 特定列和特定文档(自己定义搜索)

    SharePoint 2013 搜索SharePoint 特定列和特定文档 1,操作步骤和图例,因语言和版本号的不同 我尽量使用抓图方式. 2.  In Central Administration, ...

  7. 工作小应用:EXCEL查找两列重复数据

    工作案例:excel存在A列.B列,需要找出B列没有A列的数据,具体做法如下(以office2007做案例): 1.点击 公式-定义名称 ,选中A列,填写名称“AAA”,选中B列,填写名称“BBB”: ...

  8. excel 如何为列添加指定内容(字符串)

      excel 如何为列添加指定内容(字符串) CreateTime--2018年5月26日17:52:32 Author:Marydon 1.情景展示 D列的值需要获取B列的值并且在后面统一加上12 ...

  9. 用NPOI操作EXCEL-锁定列CreateFreezePane()

    public void ExportPermissionRoleData(string search, int roleStatus) { var workbook = new HSSFWorkboo ...

随机推荐

  1. 《AngularJS学习整理》系列分享专栏

    <AngularJS学习整理>系列分享专栏   <AngularJS学习整理>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/re ...

  2. Caliburn.Micro 杰的入门教程4,事件聚合器

    Caliburn.Micro 杰的入门教程1(原创翻译)Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(原创翻译)Caliburn.Micro 杰的入门 ...

  3. 使用OpenLayers发布地图

    OpenLayers是用于制作交互式Web地图的开源客户端JavaScript类库,制作的地图几乎可以在所有的浏览器中查看.因为是客户端类库,它不需要特殊的服务器端软件或配置,甚至不用下载任何东西就可 ...

  4. 微服务架构(Microservice Architect Pattern)综述——什么是微服务架构(读书笔记)

    简单定义: 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调,相互配合,为用户提供最终价值.每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制相互沟通(通 ...

  5. [数据结构]_[C/C++]_[链表的最佳创建方式]

    场景 1.链表在C/C++里使用非常频繁, 因为它非常使用, 可作为天然的可变数组. push到末尾时对前面的链表项不影响. 反观C数组和std::vector, 一个是静态大小, 一个是增加多了会对 ...

  6. GDAL2.1.1库在Ubuntu14.04下编译时遇到的问题处理方法

    不用作任何调整,直接在Linux下编译GDAL2.1.1源码的步骤是: $ ./configure $ make $ make install 非常简单,这样也能正常生成gdal动态库.静态库,如果想 ...

  7. android学习十三 首选项

    1,首选项可用用来持久保存用户设置,游戏最高分等 2,首选项有,列表首选项,复选框首选项,对话框首选项.. 3,通过xml文件和代码创建首选项      addPreferencesFromResou ...

  8. 【独家】K8S漏洞报告 | 近期bug fix解读&1.9.11主要bug fix汇总

    *内容提要: 1. Kube-proxy长连接优雅断开机制及IPVS模式实现 2. 10/29--11/19 bug fix汇总分析 3. 1.9.11重要bug fix汇总 在本周的跟踪分析中,以1 ...

  9. .net web api应用遇到的一些问题

    1.调用webapi接口时,碰到一种情况: 通过webapi调用接口时,返回的json数据,死活转换不成对象,转换的对象一直为null: webapi端代码: [HttpGet] public str ...

  10. Linux命令应用大词典-第42章 PostgreSQL数据库

    42.1 initdb:初始化PostgreSQL数据库 42.2 pg_ctl:控制PostgreSQL服务 42.3 psql:PostgreSQL交互式客户端工具 42.4 createdb:创 ...