matlab ASCII 格式导入

可以用fprintf函数,来代替save函数啊
比如现在我有一个变量a=[0.1223 345.4544]
如果我想保存它的话,可以用下面的程序:
fid = fopen('a.txt','wt');
fprintf(fid,'%6.4f %8.4f\n',a);
fclose(fid);
然后打开a.txt,你会发现其中是0.1223 345.4544

如果用save a.txt -ASCII a
保存的话,a.txt中的内容是 1.2234500e-001 3.4545436e+002

大气海洋ASCIIi数据中,通常都含有字符和数字,例如data.txt文件内有如下内容:

staion222
12.0 23 45 45
14.5 89 56 30

这时的数据就不是规则的数字矩阵,用fortran来读写当然不在话下,但是大家最熟悉的matlab的load命令就不可用了。如果这时又懒得用fortran来处理,怎么办呢?
下面是如何用matlab读取以上ascii文件的例子,同时给出了写ascii文件的代码,由此之后举一反三,触类旁通,读写类似的ascii文件我想应该就没问题了。

>>
clear;clc;

%--打开文件
fid = fopen('data.txt');

%-读ascii

%--读取第1个数据(字符型),取6个字符
head = fscanf(fid,'%6s',1);

%--再读取一个实数,因为用'%d',没指定长度,直到遇见空格
h = fscanf(fid,'%d',1);

%--读取8个数据,写成2*4矩阵(浮点数型),读取的数按列写入,所以转置,得原来顺序
data = (fscanf(fid,'%g',[4 2]))'; 
%--关闭通道
fclose(fid)

%--写ascii

fid=fopen('write.dat','w');

fprintf(fid,'%4s%d', head,h);

%--换行
fprintf(fid,'\n');

for i = 1:2
fprintf(fid,'%7.2f', data(i,:)) ;
fprintf(fid,'\n'); 
end

fclose(fid)

转载自http://brent0541.blog.163.com/blog/static/1850932542012101161529799/

 

matlab ASCII 格式导入的更多相关文章

  1. matlab数据的导入和导出,以matlab工作区workspace为source和destination

    MATLAB支持工作区的保存.用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入. 保存工作区可以通过菜单进行,也可以通过命令窗口进行. 数据导出 1. 保存整个工作区 选择Fil ...

  2. Cadstar格式导入功能

    Cadstar格式导入功能   Skip to end of metadata   Attachments:4 Added by Wenlong Hua, last edited by Wenlong ...

  3. 设置 matlab 画图格式

    1:设置 matlab 画图格式 clear;clc; % load("array.mat"); % Bestallarray=array; % rllofcircle(Besta ...

  4. DWG/DGN格式导入Arcgis;转化为shp格式;更改地理坐标;导入Google Earth【转】

      其实本来,我就是需要把一个autocad的dwg/dgn格式的东西导入到google earth里面:但是首先我对dwg/dgn格式的东西根本就不熟:其次我拿到的dwg/dgn格式文件是用的HK8 ...

  5. lrc 校验码 ascii 格式

    lrc 校验码  ascii 格式 将adr1 (站号)至最后一个数据内容相加,得到结果以256为单位,超出部分去除(如得到的结果为16#128H则只取28H,) 然后计算二次反补得到后的结果即为侦误 ...

  6. MATLAB 的数据导入与导出

    1 数据导入: %% 高层次读取数据. importdata 函数是一个高层次的函数 filename = 'weeklydata.txt'; delimiterIn =' '; %delimiter ...

  7. matlab各格式数据读取与保存函数

    数据处理及matlab的初学者,可能最一开始接触的就是数据的读取与保存: %matlab数据保存与读入 function datepro clear all; %产生随机数据 mat = rand(, ...

  8. MATLAB中批量导入.mat文件(每个文件多变量)

    一.新建MATLAB script(.m文件):readall_mat.m 二.代码如下: function data = readall_mat(path) % READALL_MAT 读取所有文件 ...

  9. [PL/SQL]使用PL/SQL实现ORACLE的Excel格式导入导出

    注:教程所使用的PL/SQL Developer版本为10版本 1.oracle导出excel格式 第一步,在pl/sql窗口查询出你想要导出的数据. 第二步,选择你想导出的数据,然后右键" ...

随机推荐

  1. 引入js和css文件的总结

    1.用script标签引入javascript时,浏览器对于javascript的加载某些是并行的,某些是串行的,如IE8,Chorme2和firefox3都是串行加载的. 2.charset编码也就 ...

  2. JAVA的网络编程基础概念

    网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协 ...

  3. webservice 原理

    webservice 原理1.soap协议,其实就是用http协议来传输xml格式的数据,可以post,get.一般有post.2.服务端有:本地程序代码(也不是dll)和xml格式的文件用来描述dl ...

  4. wget进行整站下载

    wget加上参数之后,即可成为相当强大的下载工具. wget -r -p -np -k http://xxx.com/abc/ -r,  --recursive(递归)          specif ...

  5. 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是, ...

  6. Linux命令详解之–ls命令

    今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...

  7. Mac OSX 下用 Homebrew 安装 MongoDB 并配置到 WebStorm 中

    1. 安装 Ruby OSX 操作系统内置 Ruby,但如果没有 Ruby,则需先输入以下命令安装能够进行多版本ruby环境安装.管理和切换的命令行工具 RVM. 1.1 安装 RVM 打开终端输入以 ...

  8. QT5中全屏显示子窗口和取消全屏的方法

    问题描述:用QT5做了个MDI多窗体应用程序,想把子窗体全屏显示,用网上的方法,但总是遇到问题. 网上的解决方法原文在这:http://www.cnblogs.com/Rick-w/archive/2 ...

  9. jQuery中的尺寸及位置的取和设

    1.offset(); 获取位置值: $(selector).offset().left; $(selector).offset().top; 设置位置值: $(selector).offset({t ...

  10. JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法

    今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题. 做了一个实验: alert(parseInt("01")),当这个里面的值为01====>07时 ...