matlab fscanf用法

matlab中的fscanf的用法如下:

A=fscanf(fid,format)
[A, count]=fscanf(fid,format,size) 
[A, count]=fscanf(fid,format,size)

个人感觉用的最多的是 这样的形式:

data = fscanf(fid,format,size);

期中data为读取内容的数组,他的大小由size决定,即如果size为2行3列,data即为【2,3】,如果size为[4 inf],则data为4行n列,而且data数据先按列填满4个,之后再换一列。size是一个[m n]的向量,

m为行,n为列(注意,这里读取的顺序是按列优先排列的,不明白的话可以看

下面的例子),若n取inf表示读到文件末尾。fid为fopen打开文件的返回值,

format是格式化参数(像printf、scanf)。

format包含txt内所有类型,%*d表示省略整型数据,例如

0.00    good 2

0.10    bot 3

1.02    yes 4

1.00    yes 5

1.00    yes 6

1.00    yes 3

1.00    yes 5

1.00    yes 6

1.00    yes 1

1.00    yes 3

1.00    yes 7

1.00    yes 3

1.00    yes 2

fid = fopen('E:\temp\test.txt', 'r');

a = fscanf(fid, '%f    %*s %d ', [2 inf])    % It has two rows now.

fclose(fid)

解释下:第一列和第二列之间有四个空格,format也要四空格哦!有三列即三种类型,要有三种format,%*s即为不输出字符串型。结果为:

a =

Columns 1 through 11

0    0.1000    1.0200    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000

2.0000    3.0000    4.0000    5.0000    6.0000    3.0000    5.0000    6.0000    1.0000    3.0000    7.0000

Columns 12 through 13

1.0000    1.0000

3.0000    2.0000

fid = fopen('E:\temp\test.txt', 'r');

a = fscanf(fid, '%f    %*s %*f ', 5)    % It has two rows now.

fclose(fid)

a =

5.0000

0.1000

1.0200

1.0000

1.0000

举个小例子2:

路径+文件名:d:\moon.txt

内容:13,1,3.4

   3,2.1,23

1,12,2

   4,5.4,6

现在为了读取moon中的数据存在一个数组里,可以用如下方法

fid=fopen('d:\moon.txt');

data=fscanf(fid,'%f,%f,%f',[3,inf]) ;%这里得用单引号

fclose(fid);

这时data中的数据如下:

13 3 1 4

1 2.1 12 5.4

4 23 2 6

通常我们可能需要用引用数组中的某行或某列来画图,方法是data(m,:) 或者 data(:,n),即取得data数组的第m行或第n列。

matlab fscanf用法的更多相关文章

  1. Matlab norm 用法小记

    Matlab norm 用法小记 matlab norm (a) 用法以及实例 norm(A,p)当A是向量时norm(A,p)   Returns sum(abs(A).^p)^(1/p), for ...

  2. matlab fspecial 用法解释

    Matlab 的fspecial函数用法 fspecial函数用于建立预定义的滤波算子,其语法格式为:h = fspecial(type)h = fspecial(type,para)其中type指定 ...

  3. Matlab的用法总结

    1. 对序列进行洗牌 randperm() randperm()产生随机的序列 %if filepaths 是一个5*1的结构体,then cshuffle = randperm(length(fil ...

  4. Matlab基本用法

    转至:http://blog.sina.com.cn/s/blog_8354dda801012dyn.html 目录: 一.说明 二.数据类型及基本输入输出 三.流程控制 四.循环 五.数组.数组运算 ...

  5. matlab ()的用法

    经常见到标识符+(),用法比如阵列Y().函数f()..... 时机到了,会总结一下.

  6. MATLAB入门教程

    MATLAB入门教程   1.MATLAB的基本知识 1-1.基本运算与函数    在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可.例如: ...

  7. (转)MATLAB入门教程

    MATLAB入门教程   1.MATLAB的基本知识 1-1.基本运算与函数    在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可.例如: ...

  8. fopen和fopen_s用法的比较

    open和fopen_s用法的比较 fopen 和 fopen_s           fopen用法: fp = fopen(filename,"w").         fop ...

  9. Matlab各种拟合

    作者:Z-HE链接:https://zhuanlan.zhihu.com/p/36103034来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1) polyfit 代码 ...

随机推荐

  1. Apple Watch开发之界面之间的正向传值

    主要分两种,一种是故事板中通过segue进行的传值,第二种是使用代码. 贴代码 24行代码是代码进行传值 35是故事板中的

  2. C语言清除输入缓存方法记录[转]

    原文:http://www.tomytime.com/archives/218/ fflush()函数是标准的作法. setbuf(stdin,NULL)是GCC下可用的一种方法. scanf(&qu ...

  3. 杭电ACM2098--分拆素数和

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2098 这是源码.其实我本不想拿出源码,毕竟源码很容易被复制. 我这里刚开始出错的地方有 0_0_12811 ...

  4. POJ 2499 Binary Tree

    题意:二叉树的根节点为(1,1),对每个结点(a,b)其左结点为 (a + b, b) ,其右结点为 (a, a + b),已知某结点坐标,求根节点到该节点向左和向右走的次数. 分析:往回一步一步走肯 ...

  5. [Guava源码分析]Objects 和 ComparisonChain:帮助重写Object方法

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3874194.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  6. 数字图象处理MATLAB学习

    diagram = imread('C:\Users\Administrator\Desktop\Compressed\fiter\lena256.jpg') %diagram = rgb2gray( ...

  7. hadoop2.2.0伪分布式搭建

    1.准备Linux环境     1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ...

  8. jquery效果- 显示和隐藏 淡入淡出 滑动 隐藏

    jQuery 效果- 隐藏和显示:hide() 和 show() 规定隐藏/显示的速度,可以取以下值:"slow"."fast" 或毫秒 您可以使用 toggl ...

  9. 近期H5项目开发小结

    前言:2016差不多又过了半啦,最近参与了公司好几个h5项目(严格来说,也只能算是推广页面活动).主要是新品牌的推广需要,当然也有给公司以前老客户做的案例.今天主要总结下为新品牌开发的2个h5推广:就 ...

  10. UE4 将本地图片转成UTexture2D 在runtime显示

    UFUNCTION(BlueprintCallable, Category = "TextureFromDisk") static class UTexture2D* GetTex ...