zoukankan      html  css  js  c++  java
  • MATLAB 的数据导入与导出

    1 数据导入:

    %% 高层次读取数据。 importdata 函数是一个高层次的函数
    filename = 'weeklydata.txt';
    delimiterIn =' ';   %delimiter: n. 定界符。将 delimiterIn 解释为 ASCII 文件、文件名或剪贴板数据中的列分隔符。
    headerlinesIn = 1;  % 从 lineheaderlinesIn+1 开始读取数字数据。
    A=importdata(filename,delimiterIn,headerlinesIn);
    % 开始预览数据
    for k =[1:7]
        disp(A.colheaders{1,k}) %展示每一列的题头
        disp(A.data(:,k)) %每一列的所有行
        disp('  ')
    end

    结果:

    Matlab低级别的文件 I/O:
    %% Matlab低级别的文件 I/O
    filename = 'myfile.txt';
    % myfile.txt保存在工作目录中。此文件存放三个月的降雨资料: 2012年6月,7月和8月降雨量。
    % myfile.txt中的数据在五个地方包含重复的时间,月份和降雨量测量。标题数据存储月数M; 所以有M个集合测量值。
    rows = 7
    cols = 5
    
    %使用 fopen 函数打开文件并获得文件标识符。
    fid = fopen(filename);
    
    %读取文件头,找到 M (月份数)
    % 使用格式说明符描述文件中的数据,例如字符串的%s,整数%d或浮点数%f。
    % 要跳过文件中的文字,需将其包含在格式说明中。要跳过数据字段,在说明符中使用星号(*)
    M=fscanf(fid,'%*s %*s
     %*s %*s %*s %*s
     M=%d',1); %要读取头文件,并返回单个的M值
    
    %读取 each set of measurements
    
    for n= 1:M
        % 默认情况下,fscanf会根据格式描述读取数据,直到找不到数据的匹配,或到达文件的末尾。
        % 这里使用for循环读取3组数据,每次读取7行和5列。
        % 在工作空间中创建一个名为mydata的结构来存储从文件读取的数据。
        % 这个结构有三个字段 - 时间,月份和雨天数组。
         mydata(n).time=fscanf(fid, '%s',1);
         mydata(n).month = fscanf(fid, '%s', 1);
         mydata(n).raindata=fscanf(fid,'%f',[rows,cols]);
         
    end 
    for n=1:M
        disp(mydata(n).time)
        disp(mydata(n).month)
        disp(mydata(n).raindata)
    end
    
    %关闭文件
    fclose(fid);

    结果:

    2 数据导出:

    使用 save 将工作区变量保存到文件中。

    (1)save(filename) 将当前工作区中的所有变量保存在 MATLAB® 格式的二进制文件(MAT 文件)filename 中。如果 filename 已存在,save 会覆盖该文件。

    (2)save(filename,variables) 仅保存 variables 指定的结构体数组的变量或字段。

    (3)save(filename,variables,fmt) 以 fmt 指定的文件格式保存。variables 参数为可选参数。如果您不指定 variablessave 函数将保存工作区中的所有变量。

    例如,要保存名为 test.mat 的文件,这些语句是等效的:

    save test.mat      % command form
    save('test.mat')   % function form

    您可以包括先前语法中介绍的任何输入。例如,要保存名为 X 的变量:

    save test.mat X       % command form
    save('test.mat','X')  % function form
  • 相关阅读:
    Adding links to a Panel container’s status text in Flex
    修改flex应用默认的装载界面
    在Flex中复制文字到操作系统的剪贴板
    kubernetesdashboard安装
    需求分析与代码设计统一新方法(摘自:Jdon创始人彭晨阳)
    System.IO命名空间
    第一篇随笔怎么写?
    Linux下使用VsCode进行Qt开发环境搭建 TssiNG
    Apache Rewrite实现URL的跳转和域名跳转
    Subversion1.6.6 + apache2.2.14 + windows安装配置
  • 原文地址:https://www.cnblogs.com/shenxiaolin/p/9239034.html
Copyright © 2011-2022 走看看