• MATLAB读取文件——从非常规文本文件中读取数据


    从非常规文本文件中读取数据

    以下示例演示如何使用 textscan 函数从非常规文件中导入数据。在使用 textscan 时,您的数据无需为常规的行列模式,但必须为重复模式。

    创建一个名为 nonrect.dat 的文件,其中包含以下内容(复制并粘贴到文本编辑器):

    begin
    v1=12.67
    v2=3.14
    v3=6.778
    end
    begin
    v1=21.78
    v2=5.24
    v3=9.838
    end

    使用 fopen 函数打开要读取的文件。

    fileID = fopen('nonrect.dat');

    fopen 返回一个文件标识符 fileIDtextscan 调用该标识符从文件中读取数据。

    使用格式设定符和分隔符参数描述数据的模式。典型的格式设定符包括:表示字符向量的 '%s',表示整数的 '%d' 或者表示浮点数的 '%f'。要导入 nonrect.dat,请使用格式设定符 '%*s' 指示 textscan 跳过包含 begin 和 end 的行。将字面值 'v1=''v2=' 和 'v3=' 作为格式设定符的一部分,这样 textscan 也将忽略这些字面值。

    formatSpec = '%*s v1=%f v2=%f v3=%f %*s';

    使用 textscan 导入数据。将文件标识符 formatSpec 作为输入传递。由于每个数据字段都在一个新行上,因此分隔符为换行符 (' ')。要将所有浮点数据合并到单个数组中,请将 CollectOutput 名称-值对组参数设置为 true

    C = textscan(fileID,formatSpec,...            
                    'Delimiter', '
    ', ...
                    'CollectOutput', true)
    C = 
    
        [2x3 double]

    textscan 返回元胞数组 C

    关闭文件。

    fclose(fileID);

    查看 C 的内容。

    celldisp(C)
    C{1} =
     
       12.6700    3.1400    6.7780
       21.7800    5.2400    9.8380



  • 相关阅读:
    struct与class的区别
    C#锐利体验第五讲 构造器与析构器(转)
    Sort Table
    WinXP(NTFS分区下)Vista系统文件的删除方法
    关于上海居住证我们不得不说的实情!(转)
    让你眼花缭乱的JS代码~~
    ASP的URL重写技术(IIS的ISAPI)[转]
    JS实现从照片中裁切自已的肖像
    C#锐利体验第二讲 C#语言基础介绍(转)
    装箱和拆箱
  • 原文地址:https://www.cnblogs.com/YiDongZhao/p/14094345.html
Copyright © 2020-2023  润新知