精华内容
下载资源
问答
  • 数据排列在五列中:第一列包含指示时间戳的文本。第二、第三和第四列包含数值数据,指示温度、湿度和风速。最后一列包含说明性文本。显示 bigfile.txt 文件内容。type('bigfile.txt')## AID = 02476## YKZ Timestamp...

    数据文件概述

    样本文件 bigfile.txt 中包含以 ## 开头的注释行。数据排列在五列中:第一列包含指示时间戳的文本。第二、第三和第四列包含数值数据,指示温度、湿度和风速。最后一列包含说明性文本。显示 bigfile.txt 文件内容。

    type('bigfile.txt')

    ## AID = 02476

    ## YKZ Timestamp Temp Humidity Wind Weather

    06-Sep-2013 01:00:006.6894clear

    06-Sep-2013 05:00:005.9951clear

    06-Sep-2013 09:00:0015.6515mainly clear

    06-Sep-2013 13:00:0019.63710mainly clear

    06-Sep-2013 17:00:0022.4419mostly cloudy

    06-Sep-2013 21:00:0017.3677mainly clear

    ## BID = 02477

    ## YVR Timestamp Temp Humidity Wind Weather

    09-Sep-2013 01:00:0015.2918clear

    09-Sep-2013 05:00:0019.1947n/a

    09-Sep-2013 09:00:0018.5944fog

    09-Sep-2013 13:00:0020.18115mainly clear

    09-Sep-2013 17:00:0020.17717n/a

    09-Sep-2013 18:00:0020.07517n/a

    09-Sep-2013 21:00:0016.89025mainly clear

    ## CID = 02478

    ## YYZ Timestamp Temp Humidity Wind Weather

    将数据块导入为表

    要将数据导入为表,请将 readtable 与导入选项配合使用。

    使用 detectImportOptions 函数,为文件创建一个导入选项对象。使用 DataLines 属性指定数据位置。例如,第 3 行至第 8 行包含第一个数据块。也可选择使用 VariableNames 属性来指定变量的名称。最后,将 readtable 与 opts 对象配合使用,导入第一个数据块。

    opts = detectImportOptions('bigfile.txt');

    opts.DataLines = [3 8];

    opts.VariableNames = {'Timestamp','Temp',...

    'Humidity','Wind','Weather'};

    T_first = readtable('bigfile.txt',opts)

    T_first=6×5 table

    Timestamp Temp Humidity Wind Weather

    ____________________ ____ ________ ____ _________________

    06-Sep-2013 01:00:00 6.6 89 4 {'clear' }

    06-Sep-2013 05:00:00 5.9 95 1 {'clear' }

    06-Sep-2013 09:00:00 15.6 51 5 {'mainly clear' }

    06-Sep-2013 13:00:00 19.6 37 10 {'mainly clear' }

    06-Sep-2013 17:00:00 22.4 41 9 {'mostly cloudy'}

    06-Sep-2013 21:00:00 17.3 67 7 {'mainly clear' }

    通过将 DataLines 属性更新为第二个块的位置,读取第二个块。

    opts.DataLines = [11 17];

    T_second = readtable('bigfile.txt',opts)

    T_second=7×5 table

    Timestamp Temp Humidity Wind Weather

    ____________________ ____ ________ ____ ________________

    09-Sep-2013 01:00:00 15.2 91 8 {'clear' }

    09-Sep-2013 05:00:00 19.1 94 7 {'n/a' }

    09-Sep-2013 09:00:00 18.5 94 4 {'fog' }

    09-Sep-2013 13:00:00 20.1 81 15 {'mainly clear'}

    09-Sep-2013 17:00:00 20.1 77 17 {'n/a' }

    09-Sep-2013 18:00:00 20 75 17 {'n/a' }

    09-Sep-2013 21:00:00 16.8 90 25 {'mainly clear'}

    将数据块导入为元胞数组

    要以元胞数组形式导入数据,您可以将 readcell 函数与 detectImportOptions 结合使用,或使用 textscan 函数。首先使用 readcell 函数导入数据块,然后使用 textscan 执行相同的导入。

    要使用 readcell 函数执行导入,请使用 detectImportOptions 函数为文件创建一个导入选项对象。使用 DataLines 属性指定数据位置。然后,使用 readcell 函数和导入选项对象 opts 执行导入操作。

    opts = detectImportOptions('bigfile.txt');

    opts.DataLines = [3 8]; % fist block of data

    C = readcell('bigfile.txt',opts)

    C=6×5 cell array

    Columns 1 through 4

    {[06-Sep-2013 01:00:00]} {[ 6.6000]} {[89]} {[ 4]}

    {[06-Sep-2013 05:00:00]} {[ 5.9000]} {[95]} {[ 1]}

    {[06-Sep-2013 09:00:00]} {[15.6000]} {[51]} {[ 5]}

    {[06-Sep-2013 13:00:00]} {[19.6000]} {[37]} {[10]}

    {[06-Sep-2013 17:00:00]} {[22.4000]} {[41]} {[ 9]}

    {[06-Sep-2013 21:00:00]} {[17.3000]} {[67]} {[ 7]}

    Column 5

    {'clear' }

    {'clear' }

    {'mainly clear' }

    {'mainly clear' }

    {'mostly cloudy'}

    {'mainly clear' }

    要使用 textscan 函数执行导入,请使用 N 指定块大小,并使用 formatSpec 指定数据字段的格式。例如,将 '%s' 用于文本变量,将 '%D' 用于日期和时间变量,或将 '%c' 用于分类变量。使用 fopen 打开文件。然后,函数将返回文件标识符 fileID。下一步,使用 textscan 函数读取文件。

    N = 6;

    formatSpec = '%D %f %f %f %c';

    fileID = fopen('bigfile.txt');

    读取第一个块并显示变量 Humidity 的内容。

    C_first = textscan(fileID,formatSpec,N,'CommentStyle','##','Delimiter','\t')

    C_first=1×5 cell array

    Columns 1 through 4

    {6x1 datetime} {6x1 double} {6x1 double} {6x1 double}

    Column 5

    {6x1 char}

    C_first{3}

    ans = 6×1

    89

    NaN

    95

    NaN

    51

    NaN

    更新块大小 N,并读取第二个块。显示第五个变量 Weather 的内容。

    N = 7;

    C_second = textscan(fileID,formatSpec,N,'CommentStyle','##','Delimiter','\t')

    C_second=1×5 cell array

    Columns 1 through 4

    {7x1 datetime} {7x1 double} {7x1 double} {7x1 double}

    Column 5

    {7x1 char}

    C_second{5}

    ans = 7x1 char array

    'm'

    '...'

    'm'

    '...'

    'm'

    '...'

    'c'

    关闭文件。

    fclose(fileID);

    展开全文
  • 本示例从文本文件中读取一个包含文本和数值的混合数据块,然后将该数据块导入到表中或元胞数组中。 1.数据文件概述 样本文件bigfile.txt中包含以 ## 开头的注释行。数据排列在五列中:第一列包含指示时间戳的文本...

    目录

    1.数据文件概述

    2.将数据块导入为表

    3.将数据块导入为元胞数组


    本示例从文本文件中读取一个包含文本和数值的混合数据块,然后将该数据块导入到表中或元胞数组中。

    1.数据文件概述

    样本文件 bigfile.txt 中包含以 ## 开头的注释行。数据排列在五列中:第一列包含指示时间戳的文本。第二、第三和第四列包含数值数据,指示温度、湿度和风速。最后一列包含说明性文本。显示 bigfile.txt 文件内容。

    type('bigfile.txt')
    ## A	ID = 02476
    ## YKZ Timestamp Temp Humidity Wind Weather
    06-Sep-2013 01:00:00	6.6	89	4	clear
    06-Sep-2013 05:00:00	5.9	95	1	clear
    06-Sep-2013 09:00:00	15.6	51	5	mainly clear
    06-Sep-2013 13:00:00	19.6	37	10	mainly clear
    06-Sep-2013 17:00:00	22.4	41	9	mostly cloudy
    06-Sep-2013 21:00:00	17.3	67	7	mainly clear
    ## B	ID = 02477
    ## YVR Timestamp Temp Humidity Wind Weather
    09-Sep-2013 01:00:00	15.2	91	8	clear
    09-Sep-2013 05:00:00	19.1	94	7	n/a
    09-Sep-2013 09:00:00	18.5	94	4	fog
    09-Sep-2013 13:00:00	20.1	81	15	mainly clear
    09-Sep-2013 17:00:00	20.1	77	17	n/a
    09-Sep-2013 18:00:00	20.0	75	17	n/a
    09-Sep-2013 21:00:00	16.8	90	25	mainly clear
    ## C	ID = 02478
    ## YYZ Timestamp Temp Humidity Wind Weather

    2.将数据块导入为表

    要将数据导入为表,请将 readtable 与导入选项配合使用。

    使用 detectImportOptions函数,为文件创建一个导入选项对象。使用 DataLines属性指定数据位置。例如,第 3 行至第 8 行包含第一个数据块。也可选择使用 VariableNames 属性来指定变量的名称。最后,将 readtable 与 opts 对象配合使用,导入第一个数据块。

    opts = detectImportOptions('bigfile.txt'); 
    opts.DataLines = [3 8];
    opts.VariableNames = {'Timestamp','Temp',...
                          'Humidity','Wind','Weather'};
    T_first = readtable('bigfile.txt',opts) 
    
    
    T_first=6×5 table
             Timestamp          Temp    Humidity    Wind         Weather     
        ____________________    ____    ________    ____    _________________
    
        06-Sep-2013 01:00:00     6.6       89         4     {'clear'        }
        06-Sep-2013 05:00:00     5.9       95         1     {'clear'        }
        06-Sep-2013 09:00:00    15.6       51         5     {'mainly clear' }
        06-Sep-2013 13:00:00    19.6       37        10     {'mainly clear' }
        06-Sep-2013 17:00:00    22.4       41         9     {'mostly cloudy'}
        06-Sep-2013 21:00:00    17.3       67         7     {'mainly clear' }
    opts.DataLines = [11 17];
    T_second = readtable('bigfile.txt',opts)
    
    
    T_second=7×5 table
             Timestamp          Temp    Humidity    Wind        Weather     
        ____________________    ____    ________    ____    ________________
    
        09-Sep-2013 01:00:00    15.2       91         8     {'clear'       }
        09-Sep-2013 05:00:00    19.1       94         7     {'n/a'         }
        09-Sep-2013 09:00:00    18.5       94         4     {'fog'         }
        09-Sep-2013 13:00:00    20.1       81        15     {'mainly clear'}
        09-Sep-2013 17:00:00    20.1       77        17     {'n/a'         }
        09-Sep-2013 18:00:00      20       75        17     {'n/a'         }
        09-Sep-2013 21:00:00    16.8       90        25     {'mainly clear'}

    通过将 DataLines 属性更新为第二个块的位置,读取第二个块。

    3.将数据块导入为元胞数组

    要以元胞数组形式导入数据,您可以将 readcell 函数与 detectImportOptions 结合使用,或使用 textscan 函数。首先使用 readcell 函数导入数据块,然后使用 textscan 执行相同的导入。

    要使用 readcell 函数执行导入,请使用 detectImportOptions 函数为文件创建一个导入选项对象。使用 DataLines 属性指定数据位置。然后,使用 readcell 函数和导入选项对象 opts 执行导入操作。

    opts = detectImportOptions('bigfile.txt'); 
    opts.DataLines = [3 8]; % fist block of data
    C = readcell('bigfile.txt',opts)
    
    
    C=6×5 cell
      Columns 1 through 4
    
        {[06-Sep-2013 01:00:00]}    {[ 6.6000]}    {[89]}    {[ 4]}
        {[06-Sep-2013 05:00:00]}    {[ 5.9000]}    {[95]}    {[ 1]}
        {[06-Sep-2013 09:00:00]}    {[15.6000]}    {[51]}    {[ 5]}
        {[06-Sep-2013 13:00:00]}    {[19.6000]}    {[37]}    {[10]}
        {[06-Sep-2013 17:00:00]}    {[22.4000]}    {[41]}    {[ 9]}
        {[06-Sep-2013 21:00:00]}    {[17.3000]}    {[67]}    {[ 7]}
    
      Column 5
    
        {'clear'        }
        {'clear'        }
        {'mainly clear' }
        {'mainly clear' }
        {'mostly cloudy'}
        {'mainly clear' }

    要使用 textscan 函数执行导入,请使用 指定块大小,并使用 formatSpec 指定数据字段的格式。例如,将 '%s' 用于文本变量,将 '%D' 用于日期和时间变量,或将 '%c' 用于分类变量。使用 fopen 打开文件。然后,函数将返回文件标识符 fileID。下一步,使用 textscan 函数读取文件。

    N = 6;
    formatSpec = '%D %f %f %f %c';
    fileID = fopen('bigfile.txt');

    读取第一个块并显示变量 Humidity 的内容。

    C_first = textscan(fileID,formatSpec,N,'CommentStyle','##','Delimiter','\t')
    
    C_first=1×5 cell
      Columns 1 through 4
    
        {6x1 datetime}    {6x1 double}    {6x1 double}    {6x1 double}
    
      Column 5
    
        {6x1 char}
    
    
    
    C_first{3}
    
    ans = 6×1
    
        89
       NaN
        95
       NaN
        51
       NaN

    更新块大小 N,并读取第二个块。显示第五个变量 Weather 的内容。

    N = 7;
    C_second = textscan(fileID,formatSpec,N,'CommentStyle','##','Delimiter','\t')
    
    C_second=1×5 cell
      Columns 1 through 4
    
        {7x1 datetime}    {7x1 double}    {7x1 double}    {7x1 double}
    
      Column 5
    
        {7x1 char}
    
    
    
    C_second{5}
    ans = 7x1 char array
        'm'
        '...'
        'm'
        '...'
        'm'
        '...'
        'c'
    

    关闭文件。

    fclose(fileID);

     

     

    展开全文
  • MATLAB中外部数据读取并写入元胞数组的方法与步骤 由于最近做时序分类问题用到了LSTM,则不得不接触一下元胞数组这个概念了… 引用 matlab官方文档(textscan用法):...

    MATLAB中外部数据读取并写入元胞数组的方法与步骤

    由于最近做时序分类问题用到了LSTM,则不得不接触一下元胞数组这个概念了…

    引用

    1. matlab官方文档(textscan用法):https://ww2.mathworks.cn/help/matlab/ref/textscan.html?searchHighlight=textscan&s_tid=doc_srchtitle
    2. MATLAB读取文本数据的方法:https://blog.csdn.net/linus1994/article/details/81663749
    • 元胞数组
      首先了解下基本概念,这篇文章介绍的挺好的,可以看看:https://blog.csdn.net/weixin_42163746/article/details/81193031

    • textscan函数
      Matlab文本文件的读写函数可以分为两类,一类是高级函数(high-level),一类是底层函数(low-level)。通常认为高级函数运用起来简单,但是定制性差。底层函数用法复杂,但是灵活性高。textscan函数是底层函数的一种,主要用于写入元胞数组。

    基本用法

    C = textscan(fileID,formatSpec)

    说明:将已打开的文本文件中的数据读取到元胞数组 C。该文本文件由文件标识符 fileID 指示。使用 函数之前需用fopen 打开文件并获取 fileID 值。完成文件读取后,需调用 fclose(fileID) 来关闭文件。

    formatSpec 可以理解为用来格式控制。textscan 函数重复应用格式字符串formatSpec,直到文件指针到达文件末尾,如果读取到不能匹配formatSpec的数据则读取自动结束。

    下面给出一个简单的例子:
    在这里插入图片描述

    filename = 'F:\wd\scan1.dat';%文件所在位置,注意一定要加文件后缀
    fileID = fopen(filename);
    C = textscan(fileID,'%s %s %f32 %d8 %u %f %f %s %f');
    fclose(fileID);
    

    查看结果

    C
    
    C = 1x9 cell array
      Columns 1 through 5
    
        {3x1 cell}    {3x1 cell}    {3x1 single}    {3x1 int8}    {3x1 uint32}
    
      Columns 6 through 9
    
        {3x1 double}    {3x1 double}    {3x1 cell}    {3x1 double}
    
    
    

    通过上述例子,我们大概知道了其函数的基本用法,现在重点来讲解下formatSpec是如何来控制读取格式的

    在上述例子中,%d ,%s等等表示转换设定符,字母代表一列字符的相应格式,常用的有%d, %f, %s,分别表示int,double以及字符串类型的数据,带有数字的可以具体参照官方文档。按照例中读取格式与顺序,按列读取(即一列储存为一个元胞单元),所以该元胞数组为1-by-9 大小,每个元胞单元为3-by-1。

    如果想跳过中间某列字段,则可以用%*k表示,k是对应转换设定字符,如d,f,s。

    以上仅对以空格为分隔符的数据文件起作用。如果遇到像csv类以逗号为分隔符的的文件,则必须使用下列格式的制定分隔符。

    以csv文件为例,有

    filename = 'F:\wd\scan1.csv';
    fileID = fopen(filename);
    C = textscan(fileID,'%s %s %f32 %d8 %u %f %f %s %f''Delimiter',',');%  其中 ',' 表示分隔符类型为逗号
    fclose(fileID);
    

    .

    • 实战

    更多用法请参考官方文档,现给出实战例子。

    数据样式
    在这里插入图片描述
    一个样本数据包含四列同长的时间序列,共有数据样本9个,文件名为z1到z9,文件格式为.csv

    filepath='F:\mydata\';%为了循环输入文件,先把文件前面的相同路径写出
    
    for i=1:9 %循环读取
    
    fileID=fopen([filepath,'z',num2str(i),'.csv']); %矩阵形式组合成路径字符串
    
    a_txt=textscan(fileID,'%s',4,'Delimiter',','); %为了读取数据,先读文本
    %其中4表示读取4次(注意该格式是读一个不是一列),结束后光标移到数字之前
    
    XTrain(i)=textscan(fileID,repmat('%d',[1,4]),'Delimiter',',','CollectOutput',1);
    %读取数据,四列都将储存在一个元胞单元中(单引号和逗号较多,注意区分)
    
    fclose(fileID);
    end
    

    结果是一个1-by-9的元胞数组,即共有9个元胞单元,每个元胞单元结构为N-by-4,其中N为时间序列的长度。

    展开全文
  • 这是一个将 oommf 中的矢量文件档案导入 Matlab 的函数数组 Oommf 矢量文件必须使用输出规范“text %g”编写而不是默认的“二进制 4”选项。 网格的类型必须是长方形。 矢量文件将被导入到对象“数据”中,该对象将...
  • 1.将文本文件导入字符串数组 使用fileread函数读取莎士比亚的十四行诗中的文本。fileread会以 1×100266 字符向量的形式返回文本。 sonnets = fileread('sonnets.txt'); sonnets(1:35) ans = ...

    目录

    分析字符串数组的文本数据

    将文本文件导入字符串数组

    清理字符串数组

    根据频率对单词进行排序

    绘制单词频率图

    用表收集基本统计信息


    分析字符串数组的文本数据

    下面示例演示如何以字符串数组形式存储文件中的文本、按单词频率对其进行排序、绘制结果图,以及收集文件中找到的单词的基本统计信息。

    将文本文件导入字符串数组

    使用 fileread 函数读取莎士比亚的十四行诗中的文本。fileread 会以 1×100266 字符向量的形式返回文本。

    sonnets = fileread('sonnets.txt');
    sonnets(1:35)
    
    ans = 
        'THE SONNETS
         
         by William Shakespeare'

    使用 string函数将文本转换为字符串。然后,使用 splitlines 函数按换行符对其进行拆分。sonnets 将变成一个 2625×1 字符串数组,其中每个字符串都包含这些诗中的一行。显示 sonnets 的前五行。

    sonnets = string(sonnets);
    sonnets = splitlines(sonnets);
    sonnets(1:5)
    
    ans = 5x1 string array
        "THE SONNETS"
        ""
        "by William Shakespeare"
        ""
        ""

    清理字符串数组

    要计算 sonnets 中的单词的频率,请首先删除空字符串和标点符号对其进行清理。然后,将其重构为一个以元素形式包含单个单词的字符串数组。

    从该字符串数组中删除不含字符 ("") 的字符串。将 sonnets 的每个元素都与 ""(空字符串)进行比较。从 R2017a 开始,可以使用双引号创建字符串(包括空字符串)。TF 是一个逻辑向量,如果 sonnets 包含一个不含字符的字符串,该向量相应位置即包含一个 true 值。使用 TF 对 sonnets 进行索引,然后删除所有不含字符的字符串。

    TF = (sonnets == "");
    sonnets(TF) = [];
    sonnets(1:10)
    
    ans = 10x1 string array
        "THE SONNETS"
        "by William Shakespeare"
        "  I"
        "  From fairest creatures we desire increase,"
        "  That thereby beauty's rose might never die,"
        "  But as the riper should by time decease,"
        "  His tender heir might bear his memory:"
        "  But thou, contracted to thine own bright eyes,"
        "  Feed'st thy light's flame with self-substantial fuel,"
        "  Making a famine where abundance lies,"

    将一些标点符号替换为空格字符。例如,替换句点、逗号和分号。保留撇号,因为它们可能是十四行诗中的某些单词的一部分,例如 light's。

    p = [".","?","!",",",";",":"];
    sonnets = replace(sonnets,p," ");
    sonnets(1:10)
    
    ans = 10x1 string array
        "THE SONNETS"
        "by William Shakespeare"
        "  I"
        "  From fairest creatures we desire increase "
        "  That thereby beauty's rose might never die "
        "  But as the riper should by time decease "
        "  His tender heir might bear his memory "
        "  But thou  contracted to thine own bright eyes "
        "  Feed'st thy light's flame with self-substantial fuel "
        "  Making a famine where abundance lies "

    去除 sonnets 的每个元素中的前导和尾随空格字符。

    sonnets = strip(sonnets);
    sonnets(1:10)
    
    ans = 10x1 string array
        "THE SONNETS"
        "by William Shakespeare"
        "I"
        "From fairest creatures we desire increase"
        "That thereby beauty's rose might never die"
        "But as the riper should by time decease"
        "His tender heir might bear his memory"
        "But thou  contracted to thine own bright eyes"
        "Feed'st thy light's flame with self-substantial fuel"
        "Making a famine where abundance lies"

    将 sonnets 拆分为以单个单词为元素的字符串数组。可以使用 split 函数,根据空白字符或所指定的分隔符拆分字符串数组的元素。然而,split 要求字符串数组的每个元素都能拆分为相同数目的新字符串。sonnets 的元素包含不同数目的空格,因此不能拆分为相同数目的字符串。要对 sonnets 使用 split 函数,请编写一个 for 循环,以便每次对一个元素调用 split

    使用 strings 函数创建空字符串数组 sonnetWords。编写一个 for 循环,以使用 split 函数拆分 sonnets 的每个元素。将 split 的输出串联到 sonnetWords 中。sonnetWords 的每个元素都是 sonnets 中的单个单词。

    sonnetWords = strings(0);
    for i = 1:length(sonnets)
       sonnetWords = [sonnetWords ; split(sonnets(i))];
    end
    sonnetWords(1:10)
    
    ans = 10x1 string array
        "THE"
        "SONNETS"
        "by"
        "William"
        "Shakespeare"
        "I"
        "From"
        "fairest"
        "creatures"
        "we"

    根据频率对单词进行排序

    查找 sonnetWords 中的唯一单词。计算单词的数量并根据其频率进行排序。

    要将只有大小写不同的单词计算为同一个单词,请将 sonnetWords 转换为小写。例如,The 和 the 计算为同一个单词。使用 unique 函数查找唯一的单词。然后,使用 histcounts 函数计算每个唯一单词出现的次数。

    sonnetWords = lower(sonnetWords);
    [words,~,idx] = unique(sonnetWords);
    numOccurrences = histcounts(idx,numel(words));

    对 sonnetWords 中的单词按出现的次数(从最常见到最不常见)进行排序。

    [rankOfOccurrences,rankIndex] = sort(numOccurrences,'descend');
    wordsByFrequency = words(rankIndex);

    绘制单词频率图

    从最常见的单词到最不常见的单词绘制 Sonnets 中单词的出现情况图。Zipf 定律指出,大型主体文本中的单词出现情况分布遵循幂律分布。

    loglog(rankOfOccurrences);
    xlabel('Rank of word (most to least common)');
    ylabel('Number of Occurrences');

                                                

    显示 Sonnets 中最常见的十个单词。

    wordsByFrequency(1:10)
    
    ans = 10x1 string array
        "and"
        "the"
        "to"
        "my"
        "of"
        "i"
        "in"
        "that"
        "thy"
        "thou"

    用表收集基本统计信息

    计算 sonnetWords 中每个单词的总出现次数。计算出现次数占单词总数的百分比,并计算从最常见到最不常见的累积百分比。将单词和单词的基本统计信息写入表中。

    numOccurrences = numOccurrences(rankIndex);
    numOccurrences = numOccurrences';
    numWords = length(sonnetWords);
    T = table;
    T.Words = wordsByFrequency;
    T.NumOccurrences = numOccurrences;
    T.PercentOfText = numOccurrences / numWords * 100.0;
    T.CumulativePercentOfText = cumsum(numOccurrences) / numWords * 100.0;

    显示最常见的十个单词的统计信息。

    T(1:10,:)
    
    ans=10×4 table
        Words     NumOccurrences    PercentOfText    CumulativePercentOfText
        ______    ______________    _____________    _______________________
    
        "and"          490             2.7666                2.7666         
        "the"          436             2.4617                5.2284         
        "to"           409             2.3093                7.5377         
        "my"           371             2.0947                9.6324         
        "of"           370             2.0891                11.722         
        "i"            341             1.9254                13.647         
        "in"           321             1.8124                15.459         
        "that"         320             1.8068                17.266         
        "thy"          280             1.5809                18.847         
        "thou"         233             1.3156                20.163       

    十四行诗中的最常见单词 and 出现了 490 次。最常见的十个单词加起来占文本的 20.163%。

     

    展开全文
  • matlab如何读入英文文本并将英文字母读入数组,,并且计算每个字母(遇到小写字母都将其转为大写字母进行计数)及空格出现次数,算出每个字母和空格出现的概率;急用 多谢
  • '作分隔符,返回字符串元胞数组x4. 调用importdata函数读取文件中的数据,用空格作分隔符,设置头文件行数为25. 调用importdata函数读取文件中的数据,返回结构体变量x,分隔符s,头文件行数h 1. 调用importdata...
  • 此代码从给定的文本文件中导入数据,并根据测试任务的要求对其进行分析。
  • MATLAB数组元素引用的三种方法

    万次阅读 2017-05-17 10:26:33
    1. Matlab数组元素引用有三种方法: - 下标法(subscripts) - 索引法(index) - 布尔法(Boolean) - Markdown和扩展Markdown简洁的语法 - 代码块高亮 - 图片链接和图片上传 - LaTex数学公式 - UML...
  • matlab 数据导入

    万次阅读 多人点赞 2015-05-24 16:47:35
    matlab导入数据有2中方式,一种是在命令行通过代码把数据导进去;另一种是通过matlab的数据导入向导导入。下面分布介绍这两种方法: 一、使用matlab数据导入向导  1、先来看看txt文档中保存的数据结构,如图所示...
  • 关键字:Matlab数组、函数、计算、绘图正文1、MATLAB 产品1.1 MATLAB 产品描述全世界数超过百万的工程师和科学家们使用 MATLAB 来分析和设计改变世界的系统和产品。MATLAB 应用于汽车安全系统、宇宙飞船、健康...
  • matlab将二维数组写入txt文件

    万次阅读 2016-11-14 15:14:10
    %用matlab将二维数组写入txt文件 %比方说 矩阵A 为 A=[1 2 3;4 5 6]; %那么程序 为 fid=fopen('A1.txt','w'); [b1 b2]=size(A); for i=1:b1 for j=1:b2 fprintf(fid,'%10d',A(i,j)); end fprintf(fid,'\...
  • MATLAB数组一列写入 .txt 文件

    千次阅读 2017-05-25 09:52:46
    fid = fopen(‘txt_name.txt’,’wt’); Temp = array_name(:,1); fprintf(fid,’%d\n’,Temp); fclose(fid);
  • MATLAB 查找数组极值 findpeaks函数用法

    千次阅读 2020-07-30 15:59:31
    有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学...
  • matlab数组、矩阵、cell

    千次阅读 2018-04-15 09:48:19
    内容提要: 1.创建和初始化 2.动态赋值和扩展 3. 引用 4. 赋值 5. 其他 注意: cell有1*4double和1*4...数组: 1.动态数组的使用 https://zhidao.baidu.com/question/67076146.html A=[]; A(1)=2; A(2)=3;...
  • MATLAB教程(1) MATLAB 基础知识

    万次阅读 多人点赞 2017-10-26 20:57:32
    去年看过一点点MATLAB,很久不用,遗忘惊人。为了加深自己的印象,扎实基础,现将官网上的基础教程做简单的翻译。 首先,以下从九个部分简单介绍基础入门知识。第一部分:MATLAB显示桌面的基本布局...
  • 现在把VB程序设定为输出TXT文本数据保存在路径D:\powerCtrl_VB_step.txt 我这里给出一种算法,可以实现自动导入并绘图,主要是阀门实际上不能突变,因此要有一个公式模型计算出实际的输出序列。 数据是以下格式的纯...
  • MATLAB导入文本数据绘制多个曲线1 MATLAB一次画多个曲线2 subplot的功能3 matlab之导入txt文件并取其中一列数据4 求数组的平均数或者均值5 将数据保存到 ASCII 文件 1 MATLAB一次画多个曲线 clc; close all; clear ...
  • 要分析地基雷达数据,原始文件是复数,例如 有2000多行,每一行都是几百个复数,先打开excel,导入文件,生成...打开Matlab导入数据,选择元胞数组,如下 重新命名为t07,以t07(1,1)为例,转换为复数 ...
  • matlab中的运算和操作主要是以数组为对象的, 数组又包括:数值数组、字符数组、元胞数组等。 一、数值数组的建立: 1. 直接输入法: 逗号:用来分开数组中的行元素。(可用空格代替) 分号:用来将数组中的行...
  • MATLAB导入数据

    千次阅读 2020-10-11 21:54:19
    如果双击文本文件或者电子表格,则会出现数据的预览,其中要导入的数据以蓝色突出显示,文本文件中的任何缺失的数据以橙色突出显示,且默认情况下将被替换为NaN,表示非数值。默认情况下,导入工具以表的形式导入...
  • Matlab导入txt文件并画图

    千次阅读 2019-09-29 16:25:32
     第四步:导入完数据后,在workplace里能看到名为txt文件名的数组变量,就说明导入成功,这里是a:    第五步:最后就是编写语句了:plot(a(:,2),a(:,3),'o'),回车就会出现以o为点的散点图,如果是:plot(a(:...
  • matlab文本文件的读写

    千次阅读 2019-08-13 15:21:46
    介绍Matlab读写文本文件的方法,包括load、dlmread、csvread、importdata、textscan、dlmwrite、csvwrite、save等函数的用法。 读文件 ...load test.txt % 导入文本数据,并保存在 test 变量; ...
  • 通过excel进行整理之后再在matlab导入数据 点击自文本 选择文件导入 选择分隔符号点击下一步 点击空格,下一步 完成 得到数据保存为excel文件在matlab中进行导入成数值矩阵。
  • 振动论坛原版主eight的经典贴http://www.chinavib.com/thread-45622-1-1.html MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“--...
  • 我们所想要的只有数据部分,将其导入matlab中为如下形式,可以看到是一个double数组类型。由于没有直接的函数能够进行处理, 中间需要不同数据类型table,cell,string,char,double数据类型之间的转换。 1)首先使用...
  • 在使用MATLAB的时候,想必各位一定会遇到导入数据的问题。如果需要导入的数据其数据量巨大的话,那么在MATLAB编辑器中将这些数据复制粘贴进来,显然会在编辑器中占据巨大的篇幅,这是不明智的。 一般来说储存这些...
  • 下图filename一行中“3”为文件名,然后使用函数xlsread,读取文件,其中返回值不能单纯的用一个变量,如下图第二行name 表示返回的文本数据。 我们可以直接对文本数据进行对比、判断等:如下图,对文件中第八列的...
  • 在使用MATLAB的时候,各位一定会遇到过导入数据的烦恼。如果需要导入的数据其数据量巨大的话,那么在MATLAB编辑器中将这些数据复制粘贴进来,显然会在编辑器中占据巨大的篇幅。那么究竟有没有一个简洁的办法不需要将...
  • Matlab编程技巧:导入Excel表格数据

    千次阅读 2019-12-21 21:15:08
    在MBD(基于模型的设计)开发中,经常需要用matlab读取表格中的数据进行处理。因此,本文专门研究了一下matlab语言中用于处理Excel表格的函数,总结其用法、输入输出变量以及它们的适用场景。 1 函数 常用的读取...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,991
精华内容 796
关键字:

matlab导入文本数组

matlab 订阅