精华内容
下载资源
问答
  • matlab 写入txt文本

    2018-09-10 16:23:02
    matlab写入txt文本,实现了数据字头接入,可以换行 汉字输入,适合批量实验数据处理
  • matlab文本文件的读写

    千次阅读 2019-08-13 15:21:46
    介绍Matlab读写文本文件的方法,包括load、dlmread、csvread、importdata、textscan、dlmwrite、csvwrite、save等函数的用法。 读文件 1. 纯数字 load test.txt % 导入文本数据,并保存在 test 变量; ...

    https://blog.csdn.net/u012366767/article/details/81565427

    介绍Matlab读写文本文件的方法,包括load、dlmread、csvread、importdata、textscan、dlmwrite、csvwrite、save等函数的用法。
    读文件
    1. 纯数字
    load test.txt % 导入文本数据,并保存在 test 变量;
     
    x= load('test.txt') % 导入文本数据,并保存到x变量;
    2. 科学计数法数字
    x = load('test.txt')
     
    x = dlmread('test.txt')
    3. 符号隔开的数字
    x= load('test.txt')     % 同一种符号隔开
     
    x = dlmread('test.txt')    % 同一种符号隔开
     
    x = csvread('test.txt')    % 多种符号隔开
    4. 包含头信息
    x = importdata('test.txt')
            x.data % 查看读取的数值型数据

            x.textdata % 查看读取的文本数据

            返回结构体变量、分隔符、头文件行数:

    [x, s, h] = importdata('examp02_07.txt');
            逗号作为分隔符,设置读取初始位置:

    x = dlmread('test.txt', ',', 2, 0)
            空格作为分隔符,头文件信息 2 行 :

    x = importdata('examp02_08.txt',' ',2)
     

    5. 文字数字文字数字混排
            

     

    fid = fopen('test.txt','r');    % 以只读方式打开
    line1 = fgets(fid);    % 读取文件的第1行
    line2 = fgets(fid);    % 读取文件的第2行
    % 从第3行开始读取数据,将读取的相同数据类型的连续元胞连接成一个元胞数组
    A = textscan(fid, '%f %f %f, 'CollectOutput', 1)
    line6 = fgets(fid);    % 读取文件的第6行
    line7 = fgets(fid);    % 读取文件的第7行
    B = textscan(fid, '%f %f %f', 'CollectOutput', 1)
    fclose(fid);
    fid = fopen('test.txt', 'r');
    C_data = textscan(fid, '%f%f%f', 'HeaderLines', 2);  % 从第3行开始读
    fclose(fid);
     

    6. 不整齐数字


    x = dlmread('test.txt')  % 用 0 补齐
    7. 复数
            

    x = dlmread('test.txt')
     
    fid = fopen('test.txt', 'r');    
    A = textscan(fid, '%f %*s %f %*s','delimiter',' ', 'CollectOutput', 1)
    fclose(fid);  
    8. 日期


    file_content= importdata('test.txt')    % 返回字符串元胞数组
    file_content= char(file_content)    % 将字符串元胞数组转为字符矩阵
    t = str2num(FileContent(:, 8:9))    % 提取字符矩阵的第8至9列,并转为数字
     
    fid = fopen('test.txt', 'r');   
    % 用'-,:'作分隔符
    A = textscan(fid, '%d %d %d %d %d %f %*s','delimiter','-,:','CollectOutput',1)
    fclose(fid);  
    9. 字符数字混排


    fid = fopen('test.txt');
    C = textscan(fid, '%s %s %f32 %d8 %u %f %f %s')    % 以指定格式读取文件中数据
    fclose(fid); 


    fid = fopen('test.txt', 'r');  
    A = textscan(fid, '%s %s %s %d %s %d %s %d %s', 'delimiter', ' ')
    fclose(fid); 
     
    fid = fopen('examp02_11.txt','r');  
    A = textscan(fid, '%*s %*s %*s %d %*s %d %*s %d %*s', 'delimiter', ' ','CollectOutput', 1)
    fclose(fid);
    写文件
    1. 写复数
    x = [1.455390 + 1.360686i, 8.692922 + 5.797046i; 3.509524 + 5.132495i, 4.018080 + 0.759667i];
    % 用逗号(',')作分隔符,用'\r\n'作换行符
    dlmwrite('test.txt', x, 'delimiter', ',', 'newline', 'pc')
     
    x = 10*rand(2, 6);
    fid = fopen('test.txt','wt');
    fprintf(fid,'%f+%fi, %f+%fi\n', x);
    fclose(fid);
    2. 写数字
    x = 10000*rand(3, 2);  
    fid = fopen('test.txt', 'wt');  
    fprintf(fid,'%f    %f    %f\n', x);  % 注意:文件里排布为2行3列,即行优先
    %fprintf(fid,'%e  %e  %e\n', x);
    fclose(fid);  
     
    空一行:dlmwrite('test.txt', x, '-append', 'roffset', 1, 'delimiter', ' ');
    分隔符:dlmwrite('test.txt', x, 'delimiter', '\t', 'precision', '%8.4f');
    分隔符:dlmwrite('test.csv', x, 'delimiter', ',', 'precision', '%8.4f', 'newline', 'pc');
    dlmwrite函数自动补零对齐;
     
    csvwrite('csvlist.dat', x);  % 逗号隔开 
     
    保存数据、间隔tabs宽度、追加数据:
    a=rand(5);
    save('a.txt','a','-ascii');  
    save('a.txt','a','-ascii','-tabs');  
    save('a.txt','a','-append','-ascii','-tabs');
    3. 随便写啥
    fid=fopen(Fid_FilePath,'wt');
    fprintf(fid,'%s\n',Fid_Header); % 写字符串
    fprintf(fid,'%10.4f  %10.4f  %10.4f  %10.4f\n', Data_Fid);  % 写数字
    fclose(fid);
    4. 追加续写
    w = 10*rand(1, 4); 
    x = 10*rand(1, 3);  
    y = 10*rand(1, 2);  
    z = 10*rand; 
    fid = fopen('test.txt', 'at');   
    fprintf(fid, '%-f    %-f    %-f    %-f\n', w);
    fprintf(fid, '%-f    %-f    %-f\n', x);
    fprintf(fid, '%-f    %-f\n', y);
    fprintf(fid, '%-f\n', z);
    fclose(fid);
    实例
        以下是待写入内容:

    Title = Peak File
    Num of Peaks = 2048
    Time(ms)   --   Amplitude--       Real  --     Imag
    0.0000  36061.1716 -31236.0000  18020.0000
    0.0500  36075.8757 -31327.0000  17891.0000
    0.1000  36169.9271 -31501.0000  17775.0000
    0.1500  36114.7887 -31541.0000  17591.0000
        代码如下:

    Title = 'Title = Peak File';
    Num = ['Num of Peaks =' num2str(length(Module))];
    Name = 'Time(ms)   --   Amplitude--       Real  --     Imag';
    [filename, pathname] = uiputfile('*.ddd');   % 随便一个后缀名
    FileName = [pathname, filename];
    dlmwrite(FileName, Title, 'delimiter', '')   % 不加 append 以覆盖同名文件
    dlmwrite(FileName, Num, '-append', 'delimiter', '')    % 追加续写
    dlmwrite(FileName, Name, '-append', 'delimiter', '')
    dlmwrite(FileName, [SampleTime, Module, DataReal, DataImaginary], '-append', 'delimiter', '\t', 'precision', '.4f')
     
     

    展开全文
  • 本代码主要利用MATLAB工具实现MATLAB——将数组文件写入到dat文件中,简单明了,易于理解
  • MATLAB fprintf在命令行输出中文没问题,但在csv中写入中文时csv汉字显示乱码,如图(图来自网络): 原因:MATLAB默认编码格式是UTF-8,与中文格式兼容有问题 解决: 1、如要使用fprintf数据,则在fopen时...

    问题描述:

    MATLAB  fprintf在命令行输出中文没问题,但在csv中写入中文时csv中汉字显示乱码,如图(图来自网络):

    原因:MATLAB默认编码格式是UTF-8,与中文格式兼容有问题

    解决:

    1、如要使用fprintf写数据,则在fopen时指定中文编码‘GB2312’,如:

    fid = fopen(outfile,'w+','n','GB2312');

    outfile是输出的csv文件,‘w+’表示写数据可读(可以根据具体需求更换),‘n’不可缺少,'GB2312'中文编码

    2、使用writematrix写csv文件,则不需要使用fopen

    writematrix(out, outfile, 'Encoding','GB2312');

    out是要写的数据矩阵,数字和字符都可;outfile是输出的csv文件;'Encoding','GB2312' 指定编码格式。writematrix的其他用法请参考帮助文档 将矩阵写入文件 - MATLAB writematrix - MathWorks 中国

    可能需要用到的知识:动态追加矩阵 创建、串联和扩展矩阵 - MATLAB & Simulink - MathWorks 中国

    注意在追加矩阵时,字符格式使用string,使用char型会出现维度不一致的问题。‘’的是char型,“”是string型,可以通过 string(char型字符或者字符串) 实现转换。

    展开全文
  • MATLAB写入文件的操作

    万次阅读 2019-03-08 11:02:23
    Matlab中的矩阵写入txt文件的方法 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件MATLAB提供了一系列低层输入输出函数,专门用于文件操作。1、文件的打开与关闭 1)打开文件 在...

    将Matlab中的矩阵写入txt文件的方法

    文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。
    1、文件的打开与关闭
    1)打开文件
    在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为:
    fid=fopen(文件名,‘打开方式’)
    说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下:
     ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。
     ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。
     ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。
     ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。
     ‘a’:在打开的文件末端添加数据。文件不存在则创建。
     ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。
    另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。
    2)关闭文件
    文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose函数,调用格式为:
    sta=fclose(fid)
    说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(‘all’)。
    2、二进制文件的读写操作
    1)写二进制文件
    fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为:
    COUNT=fwrite(fid,A,precision)
    说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。缺省数据精度为uchar,即无符号字符格式。
    例6.8 将一个二进制矩阵存入磁盘文件中。
    >> a=[1 2 3 4 5 6 7 8 9];
    >> fid=fopen('d:\test.bin','wb') %以二进制数据写入方式打开文件
    fid =
    3 %其值大于0,表示打开成功
    >> fwrite(fid,a,'double')
    ans =
    9 %表示写入了9个数据
    >> fclose(fid)
    ans = 
    0 %表示关闭成功
    2)读二进制文件
    fread函数可以读取二进制文件的数据,并将数据存入矩阵。其调用格式为:
    [A,COUNT]=fread(fid,size,precision)
    说明:其中A是用于存放读取数据的矩阵、COUNT是返回所读取的数据元素个数、fid为文件句柄、size为可选项,若不选用则读取整个文件内容;若选用则它的值可以是下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、[M,N](读数据到M×N的矩阵中,数据按列存放)。precision用于控制所写数据的精度,其形式与fwrite函数相同。
    3、文本文件的读写操作
    1)读文本文件
    fscanf函数可以读取文本文件的内容,并按指定格式存入矩阵。其调用格式为:
    [A,COUNT]=fscanf(fid,format,size)
    说明:其中A用来存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等,在%与格式符之间还可以插入附加格式说明符,如数据宽度说明等。size为可选项,决定矩阵A中数据的排列形式,它可以取下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、[M,N](读数据到M×N的矩阵中,数据按列存放)。
    2)写文本文件
    fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:
    fprintf(fid,format,A)
    说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。
    例6.9 创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。
    >> a='string';
    >> fid=fopen('d:\char1.txt','w');
    >> fprintf(fid,'%s',a);
    >> fclose(fid);
    >> fid1=fopen('d:\char1.txt','rt');
    >> fid1=fopen('d:\char1.txt','rt');
    >> b=fscanf(fid1,'%s')
    b =
    string

    matlab读txt文件

    fid=fopen('fx.txt','r'); %得到文件号
    [f,count]=fscanf(fid,'%f %f',[12,90]);
    %把文件号1的数据读到f中。其中f是[12 90]的矩阵
    %这里'%f %f'表示读取数据的形势,他是按原始数据型读出
    fclose(fid);
    %关闭文件
    另外有的txt文件还可以用load来打开
    其语句为
    f=load('fx.txt)

    一个写入txt文件的小例子:

    N=100;
    R=rand(1,N);
    fid = fopen('tt.txt','wt');
    for k=1:N;
    p=num2str(R(k));
    fprintf(fid,'%c',p);
    fprintf(fid,'%c\n',' ');
    end
    fclose(fid);

    展开全文
  • MATLAB写入Excel文件

    千次阅读 2021-03-25 11:04:53
    MATLAB写入Excel文件 matlab写入Excel文件需要用到的函数是 xlswrite; 最简单的调用方式: xlswrite(filename,A) 其中filename为写入的EXcel文件名; A为写入的内容(数值矩阵&单元数组) 但要注意的是该...

    MATLAB写入Excel文件

    matlab写入Excel文件需要用到的函数是 xlswrite;

    最简单的调用方式:
    xlswrite(filename,A)
    其中filename为写入的EXcel文件名;
    A为写入的内容(数值矩阵&单元数组)
    但要注意的是该调用默认写入Excel文件的第一个工作表,起始位置A1;
    如果需要指定工作表可以使用:
    xlswrite (filename, A, sheetname)
    若还需要指定单元格范围xlrange可以使用:
    xlswrite (filename, A, sheetname, xlRange)
    工作表名称在前,矩阵范围在后;

    注:使用xlswrite写入EXcel文件时,对应的Excel文件不能处于打开的状态;

    MATLAB写入Excel文件至任意位置

    基本调用格式:
    [filename, pathname] = uiputfile
    uiputfile函数~弹出对话框 ~自定义文件的储存路径&文件名;
    自定义文件名保存在filename;
    自定义储存路径保存在pathname;

    其中对话框的标题默认为Select File to Write;保存文件类型默认为 All MATLAB files;

    若限定保存文件类型&对话框标题可以使用:
    [filename, pathname] = uiputfile (filetype, titlename)
    filetype 限定保存文件的类型(单元数组);
    不同类型的文件名后缀名使用分号 ; 隔开;
    titlename 定义对话框的标题(字符串);
    例如:

     [filename ,Pathname] = uigetfile({'*.csv';'*.xls'},'选择文件地址');
     xlswrite( [filename ,Pathname],num)
    

    总结:与上篇文章一起就是完整的MTLAB读写Excel文件
    用到的函数: xlsread & xlswrite
    还有matlab交互式操作函数:uigetfile & uiputfile

    我是狗子
    祝大家幸福~

    展开全文
  • 原创matlab读取txt中文文本的解决方案-程序.rar matlab对中文的支持一直以来都是个不小的问题,尤其在读取文本方面。一般读出的中文文本都是乱码,网上找了半天没找到答案,自己研究了一下,在快要绝望的时候终于...
  • Matlab写文本txt换行

    万次阅读 2018-07-03 09:57:01
    matlab关于文本文件的操作函数基本都是继承C语言的,但存在一些细微的差别。1.txt换行的实现方法一:fid=fopen('filename.txt','w');fprintf(fid,'%d\r\n',a);fclose(fid);方法二:fid=fopen('filename.txt','wt')...
  • 此功能允许快速访问环境值并回退到本地“.env”文件中的定义。 这项工作的灵感来自 Web 开发中常见的功能。 它按以下顺序从三个来源读取值: 1)系统环境(getenv) 2) MATLAB 首选项 (getpref) 3)路径中的.env...
  • 文章目录1 文本文件2 读取文本文件2.1 fscanf2.2 fileread3 写入文本文件4 总结 1 文本文件 会用电脑的人对文本文件都不陌生。能通过记事本或者Notepad++这类编辑器打开,然后能看到里面的是啥的文件都是文本文件...
  • 本代码主要利用MATLAB工具实现MATLAB——二进制文件,简单明了,易于理解
  • Matlab输出写入文本文件及csv文件

    万次阅读 2018-04-30 11:54:15
    下面的一个示例是关于统计每个文件夹下的文件数目,具体代码如下: clear clc folder_path = 'E:\ori\ImageNet_data'; all_folder = dir(folder_path); fid = fopen('number_of_ImageNet.txt','a+'); for i=1:...
  • 将大矩阵写入 ascii 文件。 格式由用户决定。 函数自动附加到文件。 它比 dlmwrite 快很多倍(10-20 倍),几乎和使用 mex 文件一样快。 使用 sprintf 和 fwrite(与 fprintf 相对)。 用法示例: M = rand(1e5,3)...
  • MATLAB中将数据写入TXT文本文档

    万次阅读 多人点赞 2018-09-17 14:01:06
    matalb打开文件: fid = fopen(文件名,‘打开方式’); 说明:fid用于存储文件句柄值,如果fid>0,这说明文件打开成功。打开方式有如下选择:  ‘r’:只读方式打开文件(默认的方式),该文件必须已...
  • 转自:http://blog.sina.com.cn/s/blog_5d4e4aad0100bj4y.html在MATLAB中,来读取和写入文本文件是很简单的事。下面,就来简单介绍下。如果有其他问题,请留言。一、读取文本文件思路:1、用fopen来打开一个文件句柄...
  • MATLAB中读写txt文件

    万次阅读 2018-08-02 21:55:29
    读取 使用textread函数,具体示例如下: s = textread('E:\Project\documents\data.txt');   写入 ...使用fopen+fprintf函数,...fid=fopen('D:\Documents\MATLAB\data.txt','w'); fprintf(fid,'%d',data);  ...
  • MATLAB读取和写入文本文件、excel文件

    千次阅读 2017-08-15 11:26:31
    MATLAB中,来读取和写入文本文件是很简单的事。下面,就来简单介绍下。一、读取文本文件思路: 1、用fopen来打开一个文件句柄 2、用fgetl来获得文件中的一行,如果文件已经结束,fgetl会返回-1 3、用fclose来...
  • 如果你想用 Matlab 读取(文本文件,你需要知道它是什么编码:UTF-8(“现代”标准)或 ANSI(US-ASCII,“旧”标准)。 如果您有要自动读取的文件,您不一定知道您必须猜测的编码。 这有时会导致您在 3 或 4 个...
  • 翻阅了些网上现有的代码资料,发现都不理想,本文使用一些笨法子实现了同名文件中的指定行删除功能。 % system("修改后缀.bat"); % 运行.bat脚本,忽略即可 fileID = fopen('test2.txt','r+'); % 以读写方式打开...
  • matlab代码将多个txt文件中内容整理到一个新的txt文件中,内容整体用回车隔开
  • 主要介绍了详解如何在python读写和存储matlab的数据文件(*.mat),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • matalb打开文件: fid = fopen(文件名,‘打开方式’); 说明:fid用于存储文件句柄值,如果fid>0,这说明文件打开成功。打开方式有如下选择:  ‘r’:只读方式打开文件(默认的方式),该文件必须
  • MATLAB读和xml文件

    2012-08-04 14:37:12
    本文档给出了XML文件MATLAB中的读写操作,其实很简单,简单易懂,希望对其他人员的快速编程有所帮助
  • matlab读写xlsx文件

    2021-05-17 10:51:54
    做数据分析时经常需要将分析的结果写入文件保存,这里就说明一下matlab读写xlsx文件的方法。 调用函数如下: %写文件; %files 文件路径; %A 数据; %sheet xlsx工作表; %x1Range 工作表的单元格; files = strcat(pwd,...
  • 这对程序读取和写入这些文件,以允许用户将 matlab 代码与此类程序进行交互。 -- 示例用法:输出半径为 10 埃的球形渐变 -- [XYZ] = 网格(-10:10); % 制作 3D 渐变input.密度矩阵 = ((X.^2 + Y.^2 + Z.^2).^0.5...
  • 所以我尝试了一小段代码将一个元胞数组写入excel文件。 该代码搜索具有最大元素数(例如 N)的单元格,并将一个(单元格的 N 元素数,1)附加到每个单元格。 我用过的,它可以是别的东西。 好工作表后,我按 ...
  • MAT 文件库 (MFL) 是一个 Java 库,用于读取和写入MATLAB 的 MAT 文件格式兼容的 MAT 文件。 它的总体设计目标是: * 提供符合 MATLAB 语义行为的用户友好 API *支持在堆受限或分配受限的环境处理大量数据* ...
  • Matlab写txt文件换行

    千次阅读 2018-06-22 00:28:07
    不像C语言只用【\n】就可以了,这里需要用【\r\n】。如下:fid = fopen('D:\Temp\test.txt','w'); fprintf(fid,'Hello\r\n'); fprintf(fid,'Matlab'); fclose(fid);
  • 这是如何在 MATLAB:registered: 向绘图添加文本的示例。 阅读 MATLAB 文档的“文本”函数。 有关更多示例,请转到 MATLAB 绘图库 - http://www.mathworks.com/discovery/gallery.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,446
精华内容 16,178
关键字:

matlab写入文本

matlab 订阅