MATLAB小技:从文本数据第N行开始读取

matlab快速选择矩阵中的某一行或某一列 在上方找到“变量”这一栏,有一个要你输入“行数列数 ”的东西。举例,你如果想看矩阵的(1183,40)这个数据,那你就输进去相应的数字。最后在“1183”或者“40”这个数字后面连敲两次“回车”。 阅读详情

http://www.eetop.cn/blog/html/03/6503-23236.html


因为用ocnprint从Cadence导出的文本数据中第一行会有留白,很多人介绍的方法都是手工删除前面的空白或空白和文字。个人觉得比较麻烦。

其实如果在MATLAB中可以用textread命令来控制从第N行开始读取数据。比如输出的原始数据,第1行是空白数据,第2行是数据名称,第3行是空白行,而有用数据是从第4行开始,如下所示:
---------------------------------------------------------------------------------------------------------------

vgs               getData("P2:id    getData("P2:gm    getData("P2:gd    getData("P2:vt 
 0.00000e+00      -2.02811e-14       2.35844e-13       1.23904e-14      -8.09185e-01  

----------------------------------------------------------------------------------------------------------------

可用下面语句读取这些数据:
d=textread('nmos_vgs.dat', '' , 'headerlines', 2)  %意味着读取数据的时候跳过前2行。
或者:
d=textread('nmos_vgs.dat', '' , 'headerlines', 3)  %意味着读取数据的时候跳过前3行。

(这说明textread命令似能自动跳过数据段落的空白行?)

顺手转一段网上的关于textread命令的详细解释。
---------------------------------------------------------------------------------------------------------------

实际应用中经常要读取txt文件,这个时候就需要用到强大的textread函数。
它的基本语法是:
[A,B,C,...] = textread(filename,format)
[A,B,C,...] = textread(filename,format,N)
其中
filename就是文件名, format就是要读取的格式,A,B,C就是从文件中读取到的数据。中括号里面变量的个数必须和format中定义的个数相同。 如果每N行相同格式的数据,可采用[A,B,C,...] = textread(filename,format,N)的语法,读取N次。
举例如下:
例子1:myfile.txt 中的内容如下:
1 2 3 4
5 6 7 8
9 10 11 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n');
或者为
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',3);


例子2:myfile.txt 中的内容如下:
1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',
'
delimiter', ',');
这里
delimiter指出分隔符,读数据的时候会自动跳过分隔符。


例子3:myfile.txt 中的内容如下:
% this a comment
1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',
'
delimiter', ',','headerlines', 1);
这里告诉textread跳过一开始的1行,1可以替换为任意你要跳过的行数。

例子4:
myfile.txt 中的内容如下:

Sally Level1 12.34 45 Yes

相应语句为:

filename = '.\myfile.txt';

[names, types, x, y, answer] = textread(filename , '%s %s %f %d %s', 1)
 
4.1如果要忽略12.34这个浮点数。
[names, types, y, answer] = textread(filename , '%s %s %*f %d %s', 1) 
 

%*f 告诉textread跳过一个浮点数。
4.2 如果要忽略Level,指读取后面的数字,

[names, levelnum, x, y, answer] = textread(filename , ... '%s Level%d %f %d %s', 1)
 
 
例子5:myfile.txt 中的内容如下 
1,2,3,4,,6 
7,8,9,,11,12
 
想用nan替代为空的部分。
语句如下:
data = textread('myfile.txt', 'delimiter', ',', 'emptyvalue', NaN);
 
 
例子6: myfile.txt 中的内容如下  
 Sally    Type1 12.34 45 Yes
 Joe      Type2 23.54 60 No
 Bill     Type1 34.90 12 No
 
如果只想读第一列,其余的跳过
filename = '.\myfile.txt';
[names]=textread(filename,'%s%*[^\n]')
 
 %[^...] - reads characters not matching characters between the brackets until first matching character  
%[^\n] 就是一直读到行尾。
%*[^\n] 就是从当前直接跳到行尾。 
可对比
[names,rest]=textread(filename,'%s%[^\n]') 
 
 
例子7: myfile.txt 中的内容如下                  
Location;date;discharge 
Lobith;1989-01-01;00:00;2801
Lobith;1989-01-02;00:00;2619
 
语法如下:
[Location,... % 1
    yyyy              ,... % 2a datestring year
    mm                ,... % 2b datestring month
    dd                ,... % 2c datestring day
    HH                ,... % 3a timestring hour
    MM                ,... % 3b timestring minute
    discharge] =  ...
    textread(filename,'%s%f-%f-%f%f:%f%f',...
        'headerlines',1,...
        'delimiter'  ,';');
 
注意:
textread不用先fopen那个文件,适用于格式统一的txt文件的一次性大批量读取。textread读取某个文件后,下次再用textread读取这个文件时,还是会从文件头开始读取。
  

----------------------------------------------------------------------------------------------------------------

Matlab从txt第二行开始读,MATLAB小技:从文本数据第n行开始读取 因为文本数据中第一行会有留白,很多人介绍的方法都是手工删除前面的空白或空白和文字。个人觉得比较麻烦.其实如果在MATLAB中可以用textread命令来控制从第N行开始读取数据。比如输出的原始数据,第1行是空白数据,第2行是数据名称,第3行是空白行,而有用数据是从第4行开始,如下所示:---------------------------------------------------------... 阅读详情

相关推荐

matlab使用fscanf函数格式化读取txt文本文件中的数据

格式化读取txt文件中的数据

JingpengSun的博客 3995

matlab从某一行开始读取数据

比如data.txt的文件内容如下: 1.1 1.2 1.3 //测试用的一行 38010.21 1 20001.48 2 11939.17 3 7711.996 4 5302.323 5 3718.099 6 2498.055 7 1660.385 8 1143.084 9 如下一句代码,即可从第二行开始读取数据: data=textread('data.txt','','headerli

pymqq的专栏 1万+

使用Matlab读取二进制数据文件

第一步:打开文件,用到的函数fopen fid=fopen('文件名',读取方式) fid:句柄值;小于0表示打开失败;大于0表示打开成功 文件名:字符串,使用单引号(本文例程'savedata.dat') 读写方式:(本文例程二进制文件只读方式打开rb) ‘r’:只读方式打开文件(默认的方式),该文件已存在。 ‘r+’:读写方式打开文件,打开后先读后写。该文件已存在。 ‘w’:打开后写...

a1347065101的博客 2万+

matlab中提取mat文件中的某行某列的值

对MATLAB生成的.mat文件进行读取。 比如存储的时候是save train.mat  A。然后在读取时用,H=load('train.mat').   然后想显示任意行列数据时用。K=H.A(:,1:3),就可选取全部行,第一到三列。这说明H是结构数组。

梦想庚远 2万+

高杂合度基因组组装实战:Hifiasm参数调优与purge_dups过滤效果对比(附猪毛菜案例)

本文深入探讨了高杂合度基因组组装中Hifiasm参数调优与purge_dups过滤的实战效果对比,通过猪毛菜案例详细解析了两种方法的适用场景与优化策略。文章重点分析了purge_dups在contig过滤中的显著效果,为基因组组装提供了关键的技术参考。

weixin_29232121的博客 495

零基础学会制作 基于STM32/51单片机的智能血压表设计/血压表/血压计

本系统是以单片机为主控,传感器模快、显示模块、人机交互、无线传输等组成的智能血压表设计。传感器用于测量血压和脉搏,主控电路板用于处理数据和控制设备,显示屏则用于显示测量结果。通过软件设计,完成测量数据的处理,其中血压和脉搏的测量、数据的分析和处理等。

weixin_55654459的博客 2473

【ocean】ocnPrin结合getData导出数据

核心就是这一句ocnPrint(?

Never Give Up 623

程序化广告行业(2/89):从程序化广告深挖数据处理技巧

大家好!我一直希望能和大家在技术学习的道路上携手共进,这也是我写这一系列博客的初衷。上次我们一起学习了Python基础的数据处理知识,这次咱们借助一本程序化广告手册,深入挖掘数据处理的更多技巧。这本手册涵盖了程序化广告从概念到技术实现的诸多方面,而其中处处都涉及到数据处理,相信会给我们带来不少收获

yyy173611的博客 4572

MATLAB 读取txt 指定行

fid = fopen(FileText); % 文件名 % 方案一 lines= textscan(fid,'%[^\n]',20,'Headerlines',5); % 跳过5行,读下面的20行 disp(lines{1}) % 方案二 for i= 1:20 tline = fgetl(fid); if i>5 disp(tline); ...

优快云_now的博客 1万+

手把手教你给H3C MSR路由器配置4G/5G上网(保姆级图文教程)

本文提供H3C MSR路由器配置4G/5G上网的保姆级图文教程,涵盖硬件准备、运营商适配、命令行配置、多运营商策略优化及信号故障排查等全流程。通过实测数据和典型场景分析,帮助用户快速实现4G/5G模块的部署与优化,提升网络稳定性和业务连续性。

weixin_28745067的博客 437

【信息系统项目管理师】高分论文:论信息系统项目的整合管理(绩效考核系统)

我们将项目管理计划中的子计划包括项目范围、进度、成本、质量管理计划,过程改进计划,人力资源管理计划,风险、采购管理计划,干系人管理计划,项目范围、成本、进度基准作为依据,查看项目的各个方面,通过组织全体团体成员会议来解读由各监控过程提供的信息,之后我与项目管理团队一起制订所需措施,确保项目绩效达到预期要求。在一个项目中,变更是必然的,也是不可避免的,进度拖延,成本失控,客户有新的需求等都会引起项目的变更。在本项目中,我要求有处于工作状态的产品,开发人员才可以对其任意修改,修改完成后,重新入库即可。

数据知道的博客 6887

转:MATLAB小技:从文本数据第N行开始读取或者只读取特定几列

MATLAB小技:从文本数据第N行开始读取或者只读取特定几列http://blog.sina.com.cn/s/blog_67f37e7601019j6o.html(2012-11-20 19:27:29)转载▼ 标签:杂谈分类:Matlab在MATLAB中可以用textread命令来控制从第N行开始读取数据。比如输出的原始数据,第1行是空白数据,第2行是数据名称,第3行是空白行,而有用数据是...

gll028的专栏 4万+

AgentScope实战训练营:从零搭建一个完整的A2A Agent应用

2024年4月,Google在Google Cloud Next大会上正式提出了A2A(Agent-to-Agent)协议,这是一个开放协议,旨在让不同的AI Agent之间能够像微服务一样相互发现、相互调用。通俗地讲:A2A协议就是AI Agent世界的HTTP协议——有了它,一个Agent可以把自己的能力以标准化的方式暴露出去,另一个Agent可以无缝地发现并调用它。本文将基于阿里巴巴开源的(Apache 2.0协议),手把手带你从零搭建一个完整的A2A Agent应用。

program哲学 564

matlab键盘输入n行数据,MATLAB小技:从文本数据第N行开始读取

http://www.eetop.cn/blog/html/03/6503-23236.html因为用ocnprint从Cadence导出的文本数据中第一行会有留白,很多人介绍的方法都是手工删除前面的空白或空白和文字。个人觉得比较麻烦。其实如果在MATLAB中可以用textread命令来控制从第N行开始读取数据。比如输出的原始数据,第1行是空白数据,第2行是数据名称,第3行是空白行,而有用数据是从...

weixin_39598501的博客 1684

hive get_json_object解析json结果为null咋办?

最近一位开发的同学在使用get_json_object函数对json数据解析的时候,出现了结果为null的问题,问题原因是sql语法导致的,那么今天就来详细介绍一下解析json函数的用法!最后还是提醒小伙伴们,在开发过程中,一定要注意sql语法格式的书写,避免一些意想不到的结果!

笑看风云路的博客 2308

组态王与SqlServer数据库交互总结

组态王可以与SqlServer、mysql、acess、oracle等数据库进行数据交互。 本文重点梳理了如何把组态王中的数据保存到SqlServer数据库中,并使用ADO控件对数据库中的数据进行查询。 一、数据存到SQL数据库 1.新建记录体 2、创建表格模板(用于创建数据库中的表格) 3、打开sqlserver,新建数据库 4、创建ODBC数据源 选择自己新建的数据库 5.使用SQLConnect函数连接数据库,SQLCraetTable函数用于在数据库中创建表格 6.使用

逍遥子的博客 2万+

Matlab 从第N行开始读取数据

Data =  textread('data.txt','','headerlines',7); %这样就从第8行开始读取数据,跳过前面7行。

pymqq的专栏 5842

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

matlab从第N行开始读取dat数据

遇到了这样的一个问题,在matlab中要读取下面dat文件中的数据存到数组中。 但是,最前面的一行是数据提示语,例如第一列的rcs代表下面的数据是雷达目标的rcs,第二列的fre代表其对应的频率。我们要读到matlab中要进行处理的数据当然不包括第一行的rcs和fre。所以怎么跳过第一行直接读后面的呢? 尝试过load和fscanf函数,好像都不行。最后找到了一个textscan函数可以实现这个目的。下面是代码以及运行结果: clc;clear;close all; fid=fopen('rcs.dat'

黄上的博客 8882

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MATLAB读取列数不一致的文件(1、跳过前面N行数据,2、读取每行列数不同数据)

MATLAB常见的读取加载数据文件都是用load 、importdata之类比较多,该类方法多局限于文件数据每一行的列数都是相等的; 但是如果遇到的数据文件前面N行数据是英文或中文,剩下的是列数相等的数据,那这类导入方法有点不行了,例如数据文件长这样: 我们要读取的是后面列数相同的浮点型数据,保存在一个矩阵中,需要跳过前面11行数据(这...

qq_42272539的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

matlab读取文本文件----textscan

textscan 从文本文件或字符串读取格式化数据 全页折叠 语法 C = textscan(fileID,formatSpec) C = textscan(fileID,formatSpec,N) C = textscan(chr,formatSpec) C = textscan(chr,formatSpec,N) C = textscan(___,Name,Value) [C...

菜鸟进阶 3万+

Matlab_textscan用法教程1_从指定行读取数据

files=dir([TopDir,'\*.dat']); %读取dat文件 file_num=max(size(files)); i=1; fileID=fopen(files(i).name); data = textscan(fileID, '%f %f %f %f','headerlines', 11);%读取第11行之后(即第12行开始)的数据 %------后面部分是编辑器的使用,忽略---------------- 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown

CUHK_Logan的博客 4142

Matlab读取txt数据的实用方法

需求 有个朋友需要我帮忙写个matlab脚本读取100个txt文档的实验数据,这些文档的结构相同,分为四列,从第一列到第四列依次是时间、位置、速度、加速度。读取完数据之后需要对数据进行处理,具体的处理方式是:提取以0.002为采样周期的数据,分类存储起来。 文件内容是这样的: 技术难点 技术难点在于,这些文件中的数据是从一个软件中仿真得到的,由于采用的是变步长仿真,因此采样时间不统一,很难采用对...

Alexon Xu的博客 6万+

matlab 行 读取文件 跳过_Matlab 读取dat文件(包含几行多余文本,数据带有数字和字符串,且以逗号分隔)...

需要删除前几行多余文本,并去除逗号和最后一列标签项,保存数据处理前:matlab代码:fid = fopen(‘E:\study\研究生\a\backup新\backup\数据库\ecoli1.dat‘,‘rt‘);%FormatString=‘%f %f %f %f %f %f %f %s‘;%取前8列数据FormatString=‘%f %f %f %f %f %f %f %*[^\n]‘;%...

weixin_39708557的博客 2505

matlab中读文件的行数_Matlab 中如何读取TXT数据文件中指定行的数据

matlab中如何读取TXT数据文件中指定行的数据?matlab中如何读取TXT数据文件中指定行的数据?下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要稍微修改一下就可以。functiondataout=dataread(filein,fileout,line)fidin=fopen(filein,'r');fidout=fopen(fileou...

weixin_39794385的博客 4302

verilog testbench matlab 读取和写入文本代码

1.matlab写入文本 因为modelsim没有区分有无符号,所以需要先将十进制有符号数进行量化再转化为二进制数,然后写入文本。(量化位数即输入的位数)代码如下:(请自行调整) Q=16;%16bit量化 f_s=qam16/max(abs(qam16));%归一化处理 a=round(f_s*(2^(Q-1)-1));%量化 fid = fopen ('E:\FM\amatlab\datain...

qq_35608277的博客 2746

MATLAB读取文本文件----textread

textread 读取文本文件中的数据;写入多个输出 注意 不推荐使用textread。请改用textscan。 语法 [A,B,C,...] = textread(filename,format) [A,B,C,...] = textread(filename,format,N) [...] = textread(...,param,value,...) 说明 [A,B,C...

菜鸟进阶 1万+
上一篇: C argc and argv Examples to Parse Command Line Arguments
下一篇: How to enable syntax highlighting and other options in VIM
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值