您的位置:首页 > 编程语言 > MATLAB

MATLAB与外部程序的数据交互三板斧

2007-08-02 01:46 495 查看

MATLAB与外部程序的数据交互三板斧

用好MATLAB有个非常关键的因素:与外部程序的数据交互。这些外部程序非常多,举例来说像电子表格程序EXCELL、数据可视化程序TECPLOT、文本处理程序NOTPAD以及其他科学计算程序(比如运筹规划程序LINGO)等。用到的函数主要有这些:load/save,fopen/fread/fwrite/fgetl/fgets,xlsinfo/xlsread/xlswrite,textread/textscan/dlmread/csvread/strread等,仔细阅读并练习用好这些函数是非常基本的MATLAB技能,下面通过一个例子来演示如何用好适当函数处理一系列的文本文件。
问题:现在手头有四十个某程序产生的文本文件,每个文件有五行,其中第四、五行有我们感兴趣的数据,现在希望编写M脚本来自动地提取并处理这些数据,比如生成数据分布曲线等。
解决方案:使用dir函数获取所有文本文件名结构体,然后循环处理相应文件数据。
M脚本:
clear all,clc
%get the text file structure
P=dir('extracted_data/Kurtosis');
N=size(P,1);
%predefine needed matrice
Kdata_ICorder=[];
Kdata_ICkurt=[];
%operate dataset looply
for k=1:N-2
    fn_tmp=strcat('extracted_data/Kurtosis/',P(k+2).name);
    fid=fopen(fn_tmp);
    %read in five lines
    tline1 = fgetl(fid);
    tline2 = fgetl(fid);
    tline3 = fgetl(fid);
    tline4 = fgetl(fid);
    tline5 = fgetl(fid);
    fclose(fid);
    %inter-active swap data
    tmp=strread(tline4(17:end-1));
    Kdata_ICorder(k,: )=tmp(1:20);
    Kdata_ICkurt(k,: )=strread(tline5(15:end-1));
end
%following, you can do your data analysis... 


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息