精华内容
下载资源
问答
  • matlab读取hdf文件

    2021-04-20 00:52:13
    HDF, BMP, JPEG, GIF, PCX, XWD, CUR, ICO, RAS, PBM, PGM, PPM AU, SND - NeXT/Sun sound 音訊 WAV - Microsoft ...目前最为流 行的 读取 HDF 文件的语言是交 互式 数据语言 IDL ( Interactive Data Language)或...

    HDF, BMP, JPEG, GIF, PCX, XWD, CUR, ICO, RAS, PBM, PGM, PPM AU, SND - NeXT/Sun sound 音訊 WAV - Microsoft Wave sound MATLAB 程式設計入門篇......

    目前最为流 行的 读取 HDF 文件的语言是交 互式 数据语言 IDL ( Interactive Data Language)或创建复杂算法(如矩阵运算和线性代数)的 MATLAB 的语言。Fortran、......

    目前最为流 行的 读取 HDF 文件的语言是交 互式 数据语言 IDL( Interactive Data Language)或创建复杂算法(如矩阵运算和线性代数)的 MATLAB 的语言.Fortran,C ......

    [J], 张莉; 曾 致远 3.Matlab 对基于 HDF 格式的 MODIS 1B 数据的提取方法与实现 [J], 陈林; 牛 生杰; 仲凌志 4.基于 HDF5 文件格式的 MERSI 影像......

    Matlab 中 txt 文件的读写操作命令整理 将 txt 文件中的数据按行显示输出内容:从一个列向量文件中按要求读取指定部分数据后存储成另一个文件。 clear; clc; ......

    [J], 张莉; 曾 致远 3.Matlab 对基于 HDF 格式的 MODIS 1B 数据的提取方法与实现 [J], 陈林; 牛 生杰; 仲凌志 4.基于 HDF5 文件格式的 MERSI 影像......

    records HDF or HDF-EOS data set FITS - Flexible Image Transport System Primary or extension table data Movie formats AVI - Movie aviread MATLAB movie. ......

    MATLAB 支持五种图像类型,即索引图像、灰度图像、二值图像、RGB 图像和多帧图像 阵列;支持 BMP、GIF、HDF、JPEG、PCX、 PNG、TIFF、XWD、CUR、ICO 等图像文件......

    实验一 MATLAB数字图像度读入操作_数学_自然科学_专业资料。实验一一、实验目的与要求 MATLAB 数字图像度读入操作 1.熟悉及掌握在 MATLAB 中能够处理哪些格式图像。 ...

    可以让用户控制 HDF、JPEG、TIFF 等一些 图像文件格式的输出特性。 在 MATLAB 中,默认的保存类型是 uint8。由于 PNG 和 TIFF 格式支持16位的图像,所以 保存这......

    HDF, BMP, JPEG, GIF, PCX, XWD, CUR, ICO, RAS, PBM, PGM, PPM AU, SND - NeXT/Sun sound 音讯 WAV - Microsoft Wave sound MATLAB 程序设计入门篇......

    ① 数据输入输出函数 imread()和 imwrite() :可以读写 bmp,jpg/jpeg, tif/tiff, png, hdf, pcx, wxd 格式文件。 读索引文件时,还可以得到相应的调色板数据......

    MATLAB 提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据, 又叫导入数据; 将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数 据。至于......

    实验一 BMP 文件的读写操作 一、实验目的与要求 1.熟悉及掌握在 MATLAB 中能够处理哪些位图文件。 2.熟练掌握在 MATLAB 中如何读取位图文件。 3.掌握如何利用 ......

    (data); 10、hdf文件读取 Hdf-EOS GRID DATA 第 1...

    IMREAD 支持的图像文件格式:JPEG TIFF GIF XWD ICO CUR RAS PBM PGM BMP PNG HDF PCX URL 必须包含协议(即: PPM 相关信息也可在 Matlab 中查看: imfinfo, ......

    建议安装 hdfview.exe 软件查看 hdf 文件。可用命令 hdftool 以及 hdfread 读写操作(以 S20020322002059.L3m_MO_PIC_pic_9km 为例): 1、 首先用 hdftool ......

    读取HDF文件的软件很多,包括C、IDL、MATLAB、FORTRAN等,本文以...

    矩阵操作 命令窗口函数名称 load aviread cdfread hdf 读取文件的扩展名 .mat .avi .cdf .hdf 导入函数数据格式 读取MATLAB下的MAT数据格式 的数据 读取AVI格式......

    1。 10)图形处理: Matlab 可识别的图片文件格式有: tiff, png,hdf,bmp,jpg,jpeg,pcx,xwd,cur,ico 等; Matlab 读取图像并转化为真彩图像、灰度图像、索引图像......

    展开全文
  • (1)MATLAB读写文件

    2021-04-21 09:26:26
    另外有些用户希望获取文件的长度(字符个数),哦这个其实很简单!fid=fopen('data.csv');fseek(fid,0,'eof')filelength =ftell(fid);fclose(fid);复制代码现在问题来了,如何...方法一最容易想到的就是使用MATLAB的f...

    另外有些用户希望获取文件的长度(字符个数),哦这个其实很简单!

    fid=fopen('data.csv');

    fseek(fid,0,'eof')

    filelength =

    ftell(fid);

    fclose(fid);

    复制代码

    现在问题来了,如何获取文本文件的行数呢??下面我们提供几种解决方案吧!本文代码中测试的data.csv数据文件总共有10万行,大概77M。

    方法一

    最容易想到的就是使用MATLAB的fgetl或fgets函数,对文本按行读取,然后对行数进行累加。

    tic

    fid=fopen('data.csv'); %

    打开文件

    row=0;

    while ~feof(fid) %

    是否读取到文件结尾

    [~]=fgets(fid); % 或者fgetl

    row=row+1; % 行数累加

    end

    fclose(fid); %

    及时关闭文件是个好习惯

    row

    toc

    复制代码

    运行结果如下,fgets大概耗时大概10s,如果fgetl速度会慢一些,大概需要13s,可能是因为fgel需要将尾部的回车去掉而增加了操作吧

    row =

    100000

    Elapsed time is 10.556020 seconds.

    方法二

    其实MATLAB处理复杂文本文件,灵活性最好和效率最高的是textscan函数。灵活性就不用说了,textscan提供很多定制功能,比如跳过的标题行数、设置空白字符等经过测试;至于效率,经过测试,textscan在处理某些数据下是效率fscanf的10倍以上,另外仔细看看dlmread函数,其实也是调用了textscan函数。

    接着有人要问,textscan是用来读取数据的,怎么用来统计行数?其实我们只是占了一个便宜而已!因为textscan提供了一个忽略特定字符串的功能。

    tic

    fid=fopen('data.csv');

    % '%*[^\n]'

    这个设置估计有人看不懂,特别是后面的那个%

    % ,表示读取一个字符

    %

    %*[^\n],*表示忽略,[^]表示不是[]字符,合起来的意思就是忽略所有不是\n(回车)的字符,更直接的意思就是忽略到行尾

    data =

    (textscan(fid,'%*[^\n]'));

    fclose(fid);

    row=length(data{1})

    toc

    复制代码

    row =

    100000

    Elapsed time is 12.660186 seconds.

    运行时间12s,好像有点长哦,没有想象中的那么厉害。另外这个方法有两个个致命的弱点,因为程序必须每行读取一个字符

    (1)假如文件很大,比如10G,那么就算每行读取一个字符,这个也超出了XP内存,因此读取失败!

    (2)假如存在空行,那么会将回车读入,%*[^\n]于是就自动忽略了下一行,因此统计的行数不准确!

    从上面分析textscan并不适合用于统计大型文件的行数,但是这并不能否定textscan的效率,因为textscan是千真万确一行一行的处理和读取数据文件,只是我们读取第一个字符然后忽略了剩下的所有字符而已。

    方法三

    其实越是底层的函数效率是越高的,只是使用不方便而已。MATLAB还有一个fread函数,不过这是默认处理的是二进制文件,不过没有关系,文本文件只是一个编码而已,我们还是可以使用fread进行读取的。

    tic

    fid=fopen('data.csv','rt');

    % t是告诉fread是这里文本文件

    row=0;

    while ~feof(fid)

    % 一次性读取10000字符,计算其中的回车个数,其中10是回车的ASCII编码

    % '*char'表示每次读取一个字符,*表示输出也是字符

    % 放心fread现在已经可以自动识别中文了,万一还是识别不了,

    % 请在fopen中指定文件编码格式,比如gbk

    row=row+sum(fread(fid,10000,'*char')==char(10));

    % 下面还有一个类似的方法,但是效率低很多,大概是上面的一半

    % 'char'表示每次读取一个字符,但是默认输出double,

    % 也就是说读取char然后转换double中间有转换能快吗?

    % row=row+sum(fread(fid,10000,'char')==10);

    end

    fclose(fid);

    row

    toc

    复制代码

    这个效率呱呱的,简直天壤之别呀,才1.7s!看来这个结果比较令我满意哦!

    row =

    100000

    Elapsed time is 1.721880 seconds.

    方法四

    上面的方法都是在循环中不停地对文件进行访问,自然效率是高不起来的。对于大型文件,还有其他什么好的解决方案呢,也许这个时候需要借组外部力量了!传说perl语言对文件操作有很多优势,同时linux提供了wc命令对文件进行行统计,不妨试试?

    tic

    % 判断计算机操作系统

    if (isunix) %

    Linux系统提供了wc命令可以直接使用

    % 使用syetem函数可以执行操作系统的函数

    % 比如window中dir,linux中ls等

    [~, numstr] = system( ['wc -l ', 'data.csv']

    );

    row=str2double(numstr);

    elseif (ispc) %

    Windows系统可以使用perl命令

    if exist('countlines.pl','file')~=2

    %

    perl文件内容很简单就两行

    % while

    (<>) {};

    % print

    $.,"\n";

    fid=fopen('countlines.pl','w');

    fprintf(fid,'%s\n%s','while

    (<>) {};','print $.,"\n";');

    fclose(fid);

    end

    % 执行perl脚本

    row=str2double( perl('countlines.pl',

    'data.csv') );

    end

    row

    toc

    复制代码

    楼主使用的是window系统,调用perl,果然不负众望,才0.89秒

    row =

    100000

    Elapsed time is 0.889994 seconds.

    其实上面的方法在处理真正的大型文件时,还是可能不是很理想的,本文中测试的文件才77M算不上什么大型文件,后来对一个大约80万行,大小622M的csv文件进行测试,使用perl方法结果如下:

    row =

    800001

    Elapsed time is 15.859564 seconds.

    文件越大,计算时间不是简单的线性增加!到了真正几十甚至几百G这样的大型数据,上面的方法几乎是不能忍受的,也许还有更好的解决方法吧!

    有人问有什么好的方法生成上面的测试数据呀?我在MATLAB中是这样生成的!

    data=rand(10000,100); %

    随机生成1w行数据

    save data.csv data -ascii %

    保存为文本

    for ii=1:5 %

    自己复制5次,生成2^5=32万行

    % 这里使用了dos命令,效率会好些

    % 千万不要使用fprint,否你会残废的

    !type data.csv >> data.csv

    end

    展开全文
  • MATLAB读取文件

    千次阅读 2021-01-26 17:09:18
    循环读取文件 path = ['G:\data']; dir_output=dir(fullfile(path,'*.dat')); filename={dir_output.name};...读写xlsx文件读取 分别将数值和字符存进DataNum和DataStr name=20180331; filename=['H:\EddyPro\out

    之前是写在OneNote里的,有自己的代码,也有参考别人的帖子总结的内容。

    循环读取文件

    path = ['G:\data']; 
    dir_output=dir(fullfile(path,'*.dat'));
    filename={dir_output.name};
    for i=1:length(filename)
        file=[path,filename{i}];
        data=load(file);
    end
    

    读写xlsx文件

    • 读取
    分别将数值和字符存进DataNum和DataStr

    name=20180331;
    filename=['H:\EddyPro\output\excel\',num2str(name),'.csv'];
    sheet=1;
    [DataNum, DataStr] = xlsread(filename,sheet);
    n=length(DataNum);
    

    [Data,DataText,DataCell]=xlsread(‘new.xls’,‘Sheet1’)
    DataCell是全部的cell cell 格式
    Data带有NAN(代表字符)的全部元素 double 格式
    DataText 只包含字符
    [,,DataCell]=xlsread(‘new.xls’,‘Sheet1’);

    • 写入

    %write
    filename=[path,'MODIS_LST_LAC_T2019'];
    data=[cellsta(time),num2cell(temp)];
    xlswrite(filename,data);
    

    读写二进制文件

    • fopen打开文件

    fid=fopen(文件名,读写方式);
    fileID = fopen(filename,permission)
    fid:用于存储文件句柄值;小于0表示打开失败;大于0表示打开成功;
    文件名:以字符串的形式书写(注意需要单引号);
    读写方式包括:
    ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。
    ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。
    ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。
    ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。
    ‘a’:在打开的文件末端添加数据。文件不存在则创建。
    ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。
    注意:在打开方式后加’t’表示以文本方式打开;加‘b’表示以二进制数据方式打开;‘wb’‘wt’fopen默认以二进制方式打开;
    在这里插入图片描述

    • fread读取数据

    [data,count]=fread(fid,size,数据类型);
    o output arguments
    data:文件数据,作为列向量返回,如果指定sizeA参数,返回矩阵。默认double
    count:读取字符数
    o input arguments
    fid:句柄值;
    size:表示读取内容的大小;
    N	(读取N个元素到一个列向量)inf	(读取整个文件)[M,N]	(读数据到M×N的矩阵中,数据按列存放)

    数据类型precision
    Value Type	Precision	Bits (Bytes)Integers, unsigned	uint	32 (4)uint8	8 (1)uint16	16 (2)uint32	32 (4)uint64	64 (8)uchar	8 (1)unsigned char	8 (1)ushort	16 (2)ulong	32 (4)ubitn	1 ≤ n ≤ 64Integers, signed	int	32 (4)int8	8 (1)int16	16 (2)int32	32 (4)int64	64 (8)integer*1	8 (1)integer*2	16 (2)integer*4	32 (4)integer*8	64 (8)schar	8 (1)signed char	8 (1)short	16 (2)long	32 (4)bitn	1 ≤ n ≤ 64Floating-point numbers	single	32 (4)double	64 (8)float	32 (4)float32	32 (4)float64	64 (8)real*4	32 (4)real*8	64 (8)Characters	char*1	8 (1)char	Depends on the encoding scheme associated with the file.

    o 读取多种precision二进制文件 eg:
    %# type and size in byte of the record fields
    recordType = {‘double’ ‘double’ ‘int32’ ‘int8’ ‘char’};
    recordLen = [8 8 4 1 1];
    R = cell(1,numel(recordType));

    %# read column-by-column
    fid = fopen(‘file.bin’,‘rb’);
    for i=1:numel(recordType)
    %# seek to the first field of the first record
    fseek(fid, sum(recordLen(1:i-1)), ‘bof’);

    %# % read column with specified format, skipping required number of bytes
    R{i} = fread(fid, Inf, [’*’ recordType{i}], sum(recordLen)-recordLen(i));
    end
    fclose(fid);

    • fwrite写入数据
    count=fwrite(fid,data,数据类型);
    fid:表示文件句柄值(打开的文件的句柄值);
    data:需要写入的数据
    数据类型:double、float、int等等
    count:返回所写入元素的个数(可省略)

    • fclose(fid)关闭文件
    在对文件进行完读写操作以后需要关闭文件,防止数据丢失或者损坏。

    读写文本文件(ASCII)

    • fscanf(≈fread)/txt也可以直接load(不适宜一行多个数据)
    [A,COUNT]=fscanf(fid,format,size)
    A用来存放读取的数据,
    COUNT返回所读取的数据元素个数,可省略
    fid为文件句柄
    format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等,在%与格式符之间还可以插入附加格式说明符,如数据宽度说明等。
    size为可选项,决定矩阵A中数据的排列形式,它可以取下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、[M,N](读数据到M×N的矩阵中,数据按列存放)。
    • fprintf(≈fwrite)
    fprintf(fid,format,A)
    fid为文件句柄,指定要写入数据的文件
    format是用来控制所写数据格式的格式符,与fscanf函数相同
    eg:%6.3f’是指保存格式,6是指数据保存间隔,一般设置为有效数字位数+2,3是指小数点后几位,若是要换行就在后面加上\n
    %d整数 %e实数:科学计数法 %f实数:小数 %g实数:自动 %s字符串
    A是用来存放数据的矩阵。
    eg: >> a=‘string’;

    fid=fopen(‘d:\char1.txt’,‘w’);
    fprintf(fid,’%s’,a);
    fclose(fid);

    数据定位

    • fseek用于定位文件位置指针(从特定位置开始读取)
    status=fseek(fid, offset, origin)
    fid为文件句柄
    offset表示位置指针相对移动的字节数

    0 Move toward the end of the file.
    = 0 Do not change position.
    < 0 Move toward the beginning of the file.
    origin表示位置指针移动的参照位置
    ‘bof’ or -1 Beginning of file
    ‘cof’ or 0 Current position in file
    ‘eof’ or 1 End of file。
    若定位成功,status返回值为0,否则返回值为–1。
    • ftell 返回文件指针的当前位置
    position=ftell (fid)
    返回值为从文件开始到指针当前位置的字节数。
    若返回值为–1表示获取文件当前位置失败。

    nc数据读写

    %% 显示结构
    % ncdisp(ncFilePath);%显示nc文件的所有结构,以便大概了解里面的内容
    % ncdisp(ncFilePath,‘evap’);%显示指定变量的内容,注意一定要是变量variables才可以
    % ncdisp(ncFilePath,’/’,‘min’);%简单显示结构以及定义
    % ncdisp(ncFilePath,’/’,‘full’);%全部显示所有结构和定义信息

    %% 读取变量值
    % ncid = netcdf.open(ncFilePath,‘NOWRITE’); %打开nc文件返回索引ID
    % [ndims,nvars,ngglobalatts,unlimdimid] = netcdf.inq(ncid);%获取维数,变量数,全局属性数量(此处ncid从0开始为第一个变量)
    % [varname,xtype,dimids,natts] = netcdf.inqVar(ncid,0); %根据变量索引号获取变量的名称
    %var=ncread(ncFilePath,‘varname’);%读取变量,ncread读出结果为真实值,即自动将fillvalue记为nan,vardata*scale+offset

    %% 显示数据
    % pcolor(lat,lon,evap1);
    % [x,y]=meshgrid(lon,lat);%根据经纬度信息产生格网,284列(经度),164列(纬度)
    % phandle=pcolor(x,y,evap1’);%显示一个矩阵,其中x,y,evap1的行列数必须一致。类似surface函数
    % colorbar

    %%time
    在处理气象nc格式数据时,时间变量往往不是已YYYYMMDD格式给出日期,而是距某一天(如1900年1月1日)XXX小时或XXX日。
    可由以下代码将nc的时间变量转为日期:
    t0 = datetime(1900,1,1);
    date_yyymmdd = t0 + double(time(😃)/24; %time为距1900年1月1日00时的小时数一维数组
    %转回nc格式
    time=time_matlab;
    time_nc=(time-datenum(‘1900-01-01 00:00:00.0’))*24;

    eg:

    dat_filename=[path,'MOD11A1.006_1km_aid0001.nc'];
    ncid = netcdf.open(dat_filename,'NOWRITE');
    %ncdisp(dat_filename) %查看nc文件结构
    [~,nvars,~,~] = netcdf.inq(ncid);%获取变量数
    for i=1:nvars %vars
        varname{i}= netcdf.inqVar(ncid,i-1);%id从0开始
        eval([varname{i},'=ncread(dat_filename,varname{i});']);
    end
    netcdf.close(ncid)
    clear i 
    

    %%写入nc
    % ---------------------------- DEFINE THE FILE --------------------------- %
    ncid = netcdf.create(‘f:\ncl\ecco_ekman_mon_mean1.nc’,‘CLOBBER’);
    %创建一个存放数据的nc文件

    %-----------------------------define dimension-----------------------------%
    %因为有个变量是三维的,所以定义了三个维度,其它一维二维可视具体情况定义
    dimidx = netcdf.defDim(ncid,‘lat’,242);
    dimidy = netcdf.defDim(ncid,‘dep’,50);
    dimidz = netcdf.defDim(ncid,‘time’,12);

    %----------------------------define new variables---------------------------------%
    varid = netcdf.defVar(ncid,‘strf’,‘double’,[dimidx dimidy dimidz]);
    varid2 = netcdf.defVar(ncid,‘lat’,‘double’,[dimidx]);
    varid3 = netcdf.defVar(ncid,‘dep’,‘double’,[dimidy]);

    %---------------------------define attributes of the new variables--------------%
    netcdf.putAtt(ncid,varid,‘units’,‘Sv’); %单位信息和long_name,其它的信息可依此定义
    netcdf.putAtt(ncid,varid2,‘units’,‘degress_north’);
    netcdf.putAtt(ncid,varid3,‘units’,‘m’);

    netcdf.putAtt(ncid,varid,'long_name','The Meridional streamfunction ');
    netcdf.putAtt(ncid,varid2,'long_name','Latitude');
    netcdf.putAtt(ncid,varid3,'long_name','Depth');
    netcdf.endDef(ncid);
    

    %--------------------------给新变量赋值-------------------------------------------%
    netcdf.putVar(ncid,varid,fail_mon_mean);
    netcdf.putVar(ncid,varid2,lat);netcdf.putVar(ncid,varid3,d);
    netcdf.close(ncid);

    展开全文
  • Matlab读写xml文件

    2021-04-21 18:30:21
    Matlab中,使用xmlread读取xml文件成DOM节点,对xml文件的操作转化成对DOM节点的操作,使用xmlwrite把DOM节点写入到xml文件中。Matlab写xml文件以个人信息为例,通常个人的信息包括姓名、性别、住址和电话等等,...

    xml文件以文档对象模型表示,简称DOM(Document Object Model)。在Matlab中,使用xmlread读取xml文件成DOM节点,对xml文件的操作转化成对DOM节点的操作,使用xmlwrite把DOM节点写入到xml文件中。

    Matlab写xml文件

    以个人信息为例,通常个人的信息包括姓名、性别、住址和电话等等,其中电话可能有多个,比如手机和座机,代码如下。

    % file name

    filename = 'info';

    % create document

    docNode = com.mathworks.xml.XMLUtils.createDocument('info');

    % document element

    docRootNode = docNode.getDocumentElement();

    % name

    nameNode = docNode.createElement('name');

    nameNode.appendChild(docNode.createTextNode(sprintf('Jack')));

    docRootNode.appendChild(nameNode);

    % gender

    genderNode = docNode.createElement('gender');

    genderNode.appendChild(docNode.createTextNode(sprintf('male')));

    docRootNode.appendChild(genderNode);

    % address

    addressNode = docNode.createElement('address');

    addressNode.appendChild(docNode.createTextNode(sprintf('Beijing')));

    docRootNode.appendChild(addressNode);

    % phone

    phoneElement = docNode.createElement('phone');

    docRootNode.appendChild(phoneElement);

    mobilephoneNode = docNode.createElement('mobilephone');

    mobilephoneNode.appendChild(docNode.createTextNode('123456'));

    phoneElement.appendChild(mobilephoneNode);

    landlineNode = docNode.createElement('landline');

    landlineNode.appendChild(docNode.createTextNode('012345'));

    phoneElement.appendChild(landlineNode);

    % xmlwrite

    xmlFileName = [filename,'.xml'];

    xmlwrite(xmlFileName,docNode);

    简单理解xml可以分为Document,Element和Node三级结构,Element可以嵌套Element和Node,Node是最小的xml单位。

    注意其中getDocumentElement(), createElement()和createTextNode()三个方法,分别是获取Document, Element和Node的三个方法。此外注意appendChild()前面的元素决定了xml元素的结构,最后通过xmlwrite方法写入到xml文件中,最终xml文件如下。

    Jack

    male

    Beijing

    123456

    012345

    Matlab读xml文件

    读取过程不光包括读入xml文件,还需要解析,以之前存储的info.xml为例,代码如下。

    % read xml

    xmlDoc = xmlread('info.xml');

    % name node

    name_array = xmlDoc.getElementsByTagName('name');

    name = char(name_array.item(0).getTextContent());

    disp(['name:' name]);

    % phone element

    phone_array = xmlDoc.getElementsByTagName('phone');

    phone = phone_array.item(0);

    disp([char(phone.item(1).getNodeName()) ':' char(phone.item(1).getTextContent())]);

    disp([char(phone.item(3).getNodeName()) ':' char(phone.item(3).getTextContent())]);

    首先用xmlread读入整个xml文件,此后通过getElementsByTagName(‘name’)找出name节点,注意没有getNodeByTagName方法,并且getElementsByTagName()得到的是一个NodeList数组,因为xml允许节点重名,可能有多个name节点,所以通过item(0)得到第一个name节点,并且通过getTextContent()方法输出name节点的内容。

    同样通过getElementsByTagName(‘phone’).item(0)找到phone节点,此处phone包含mobilephone和landline两个子节点,通过测试发现phone节点item(0),item(2)和item(4)都是#text的节点,item(1)和item(3)分别代表mobilephone和landline两个节点,通过getNodeName()和getTextContent()分别得到节点的名称和内容,结果如下。

    name:Jack

    mobilephone:123456

    landline:012345

    展开全文
  • matlab 读取dat文件

    千次阅读 2021-02-01 11:07:55
    matlab 读取dat文件关注:145答案:2mip版解决时间 2021-01-17 21:36提问者壹玍徴戰何亽陪2021-01-17 14:35想用matlab 语句读取桌面上的dat文件,再把他转化为矩阵。比如用fscanf ,请问怎么做呢最佳答案二级知识专家...
  • 幅值为5、频率为10Hz的正弦信号,并写入数据文件MySin.txt,并读取文本文件MySin.txt 中的数据文件,进行绘图.% Applying the Mysin function to generate a sine waveform...with amplitude and frequency are 5 ...
  • MATLAB读取文件夹下特定类型格式文件的文件名并读取该格式文件的数据利用代码对大量数据进行自动批处理时,首先需要获取该数据存放的文件夹(文件夹路径),然后获取该文件夹下某一类型数据所有的文件名,最后通过特定...
  • matlab读取stl文件

    2021-04-18 10:37:09
    File (文件) -> Export (输出) -> 选择 .STL Mechanical Desktop 使用 AMSTLOUT 命令输出 STL 文件......点云数据与STL格式 -- 精品-- STL格式介绍 stl文件是在计算机图形 学应用系统中,用于表 示三角形网格...
  • %读取该指定文件夹下的多有子文件夹 len=length(subdir); for i=1:len filepath=fullfile(maindir,subdir(i).name,'*.wav');%指定wav文件 waves=dir(filepath);%wav文件的完整路径,例如:D:\Documents\data\wav\...
  • matlab读写xlsx文件

    2021-05-17 10:51:54
    做数据分析时经常需要将分析的结果写入文件保存,这里就说明一下matlab读写xlsx文件的方法。 调用函数如下: %写文件; %files 文件路径; %A 数据; %sheet xlsx工作表; %x1Range 工作表的单元格; files = strcat(pwd,...
  • matlab 读取dbf文件

    2021-10-13 09:36:57
    前言 前几天需要对很多个ArcGIS输出的...百度搜一下matlab读取dbf文件,有很多长长长长的代码,看得人头好痛。如果你不关注于字符串格式的字段,只是单纯想做批量计算,那就直接用xlsread()读它!然后算它! ...
  • matlab读取txt文件数据

    2021-04-18 07:05:48
    我要讲一个txt文件中的一些中文字去掉,只剩下数据,由于数据量很大,手动不显示,故想通过matlab程序来实现,由于对matlab这方面的了解不够,所以来想各位大侠请教!谢谢!现列举一部分的数据如下:Separator ...
  • csvread 只能读取双打,所以它在日期字段上窒息 . 使用 textscan .fid = fopen('out2.csv');out = textscan(fid,'%s%f%f','delimiter',',');fclose(fid);date = datevec(out{1});col1 = out{2};col2 = out{3};Update...
  • Matlab 读取 pcd 文件

    2021-09-30 08:58:25
    Matlab 读取 pcd 文件 使用 matlab 读取 pcd 文件,代码如下: % 读取 pcd 文件,并取出 xyz 坐标 ptCloud = pcread('table.pcd'); % 可视化显示当前 pcd 文件 pcshow(ptCloud); % 将该文件的 xyz 坐标取出 point_...
  • 把数据保存为mat文件 将很多不同类型的数据保存到同一个mat文件里,只需用save命令即可,如下: A = [1 2 3; 4 5 6; 7 8 9];...读取mat文件,遍历所有数据 当我们使用load命令时 TestData = load('Dat
  • MATLAB读取Excel文件

    2021-04-23 16:14:24
    1、guidata - 存储或检索 UI 数据(数据更新一定加上)此 MATLAB 函数 将变量 data 与 object_handle 指定的对象一起存储。如果 object_handle不是图窗,则使用该对象的父图窗。data 可以是任何...
  • matlab读取wav文件

    2021-09-14 11:18:34
    matlab读取wav文件wavreadaudioread [y,Fs,bits]=wavread('1.wav'); [y,Fs]=audioread('1.wav'); wavread matlab新版本中没有wavread()函数,用audioread()函数替代。 一、语法  y = wavread(filename)  [y, Fs] ...
  • Matlab读取json文件

    2021-04-18 05:35:49
    Matlab读取json文件在matlab中,可以将数据写入json文件,却没发现读取json的函数,网上查了一下,大部分是个人写的函数,再可执行性上可能会有一些问题。最终,还是发现了一个matlab解析json文件的工具包,jsonlab,...
  • maindir = 'your path' %你需要读的文件的文件夹 subdir = dir(maindir); %结构体,包含该目录下的所有文件名 for k = 1:size(subdir) if( isequal( subdir(k).name, '.' )||isequal( subdir(k).name, '..')) % ...
  • MATLAB读取和写入txt文件https://blog.csdn.net/jisuanjiguoba/article/details/79997805txt文件中既有空格又有tab键,请问怎么正确读取txt里面内容?https://www.ilovematlab.cn/thread-529920-1-1.htmlMATLAB读取...
  • Matlab读取音频文件并进行分析 文章目录Matlab读取音频文件并进行分析前言一、读取mp3文件二、节拍分析三、旋律分析总结 前言 我们 一、读取mp3文件 对音频处理的前提是将音频数据导入到Matlab中,这里使用...
  • MATLAB读取wav文件

    2021-05-06 04:06:35
    %读一个文件夹中的多个wav文件,然后拼接在一起clc;clear all;folder = 'D:/FFOutput/...%读取文件夹下的所有wav文件%files = dir(folder);%length(files)for i=1:length(files)file = [folder files(i).name];t...
  • matlab读取.data文件

    千次阅读 2020-12-21 22:06:23
    文件是letter_recognition.data 具体参数可以参考官方文档:readtable letter_recognition = readtable('letter-recognition.data','Filetype','text','ReadVariableNames',false); 读出的格式:
  • Matlab读取BMP文件代码

    2021-04-18 07:34:43
    function BMPReader(strPathName)fFile = fopen(strPathName, 'rb');[data, count] = fread(fFile);%offsetnOffset = 0;for i = 1:4nOffset = nOffset + bitshift(data(10+i), (i-1)*8);end%widthnWidth = 0;...
  • matlabmatlab读写bin文件注意事项

    千次阅读 2021-03-09 11:30:17
    matlab读写bin文件注意事项1、此类代码实现bin文件读写,只需要更改文件路径为代码目录的路径即可实现运行2、注意存储数据时,需要将数据读写类型一致,若为写入数据,需要判断数据类型可以使用class(变量)实现查看...
  • 数据之前有几行是中文,然后才是数据,如何用MATLAB读取txt文件中标识符所对应的列啊,多谢指教了!文件大概是这样的:你好欢迎来到............sum1 sum2 sum3 sum41 11 111 11112 22 222 22223 33 333 33334 44...
  • 逻辑上是将文件夹中所有txt文件保存为结构体,存入一个矩阵,然后依次调用。 matlab代码。 clc; clear; %% 读取文件夹 FileFold='C:\Users\SCnsh\Desktop\x';% 文件夹路径 FileNum = 2;% 读取文件个数 uselessline =...
  • Matlab读写excel文件

    2021-04-22 16:22:10
    文件:a = xlsread('data.xlsx') % 将data文件中的数值数据读取到变量a中(注:非数值数据自动忽略)a = xlsread('data.xlsx',sheet) % 读取data文件中指定的工作表(注:sheet可用数字1 2 3...表示,也可以用工作表...
  • matlab如何读取csv文件

    2021-04-18 04:07:47
    matlab读取csv文件的方法:首先打开电脑上的“matlab”软件,并找到电脑上的csv文件;然后箭头处命令行窗口输入代码,命令为【csvread()】;最后括号里为【csv文件的目录+文件名称】。本文操作环境:Windows7系统,...
  • MATLAB音频文件读取

    千次阅读 2021-04-18 11:49:04
    函数读取电脑中的音频文件,参数是音频文件的路径: [sampledata,FS]=audioread('F:1.mp3'); sampledata保存音频信号数据,FS是音频采样率,MP3格式的采样率一般为44100; 2、判断音频数据是否是双声道,如果是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,774
精华内容 13,909
关键字:

matlab读取所有文件

matlab 订阅