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

    2018-09-10 16:23:02
    matlab写入txt文本,实现了数据字头接入,可以换行 汉字输入,适合批量实验数据处理
  • 1.matlab写入文本 因为modelsim没有区分有无符号,所以需要先将十进制有符号数进行量化再转化为二进制数,然后写入文本。(量化位数即输入的位数)代码如下:(请自行调整) Q=16;%16bit量化 f_s=qam16/max(abs(qam16...

    1.matlab写入文本

    因为modelsim没有区分有无符号,所以需要先将十进制有符号数进行量化再转化为二进制数,然后写入文本。(量化位数即输入的位数)代码如下:(请自行调整)

    qam16=[12,3,4,5,6,16,0,1,2];%eg
    Q=16;%16bit量化
    f_s=qam16/max(abs(qam16));%归一化处理
    a=round(f_s*(2^(Q-1)-1));%量化
    fid = fopen ('datain.txt','w');%文本存放路径
    fid2 = fopen ('datain22.txt','w');%文本存放路径
    for k=1:length(a)
        B_s=dec2bin(a(k)+(a(k)<0)*2^Q,Q);%16bit量化
    
        for j=1:Q
           if B_s(j)=='1'
               tb=1;
           else
               tb=0;
           end
           fprintf(fid2,'%s',B_s(j)); 
           fprintf(fid,'%d',tb);  
        end
        fprintf(fid,'\r\n');
        fprintf(fid2,'\r\n');    
    end
    fprintf(fid,';'); 
    fclose(fid);
    
    
    

    2.matlab读取文本数据

    fid=fopen('E:\FM\simulation\modelsim\Sn.txt','r');%文本存放路径
    [s,N]=fscanf(fid,'%lg',inf);
    N=N-1;
    fclose(fid);
    sn=s/max(abs(s))%归一化
    

    3.testbench读取文本

    parameter data_num=128000;//设置读取数据长度
    integer Pattern;
    reg signed [15:0] stimulusQ[1:data_num];
    initial
    begin
       //文件必须放置在"工程目录\simulation\modelsim"路径下
        $readmemb("Qm.txt",stimulusQ );  //文本数据写入矩阵
        Pattern=0;
        repeat(data_num)    //读入128000个数据
            begin
                Pattern=Pattern+1;
                qm=stimulusQ[Pattern-1];      
            end
            #clk_priod*2
            $stop ;           //停止读取数据 
    end
     
    

    4.testbench将仿真数据写入文本

    integer file_Sn;
    initial
    begin
       //文件放置在"工程目录\simulation\modelsim"路径下                                                  
        file_Sn = $fopen("Sn.txt");
    end
    always @(posedge clk)
    $fdisplay(file_Sn,"%d",Sn);//将数据Sn写入文本
    
    展开全文
  • Matlab输出写入文本文件及csv文件

    万次阅读 2018-04-30 11:54:15
    如果要把fid指示的文本文件的内容写入到类似Microsoft Office Excel格式的csv文件,则需要如下实现: dt=importdata('number_of_ImageNet.txt'); T=table(dt.rowheaders,dt.data(:,2)); writetable(T,'number_...

    下面的一个示例是关于统计每个文件夹下的文件数目,具体代码如下:

    clear
    clc
    
    folder_path = 'E:\ori\ImageNet_data';
    all_folder = dir(folder_path);
    fid = fopen('number_of_ImageNet.txt','a+');
    for i=1:length(all_folder)-2
        folder_name = all_folder(i+2).name;
        all_file = dir([folder_path filesep folder_name]);
        fprintf(fid,'%s\t\t%d\n',folder_name,length(all_file)-2);
    end
    fclose(fid);
    
    dt=importdata('number_of_ImageNet.txt'); 
    T=table(dt.rowheaders,dt.data(:,2));
    writetable(T,'number_ImageNet.csv');
    
    T=table(dt.rowheaders,dt.data(:,2),'VariableNames',{'FoldeName','Number'});
    writetable(T,'number_by_ImageNet.csv');

    在上述源码中,

    fprintf(fid,'%s\t\t%d\n',folder_name,length(all_file)-2);

    此句用来把输出结果以追加的形式('a+')写到fid句柄指示的文本文件内,用delimiter='\t\t',得到的写入结果如下所示:


    如果要把fid指示的文本文件的内容写入到类似Microsoft Office Excel格式的csv文件,则需要如下实现:

    dt=importdata('number_of_ImageNet.txt'); 
    T=table(dt.rowheaders,dt.data(:,2));
    writetable(T,'number_ImageNet.csv');
    即先导入文本文件,得到的是一个结构体,如下所示:


    然后采用table函数,制作table型数据,table函数的第一个参数表示csv文件的第一列数据,依次是第二列等,然后调用writetable函数把表格型数据写入到csv文件,这个csv文件不必事先创建。写入结果如下所示:


    其中上图中的Var1与Var2列变量的名字可以手动修改,也可以在程序中实现,如下代码:

    T=table(dt.rowheaders,dt.data(:,2),'VariableNames',{'FoldeName','Number'});
    其中,'VariableNames',{'FoldeName','Number'}便是为列指定变量名。运行结果如下:



    行的变量名可以通过RowNames参数来指定。

    展开全文
  • MATLAB读取和写入文本文件、excel文件

    千次阅读 2017-08-15 11:26:31
    MATLAB中,来读取和写入文本文件是很简单的事。下面,就来简单介绍下。一、读取文本文件思路: 1、用fopen来打开一个文件句柄 2、用fgetl来获得文件中的一行,如果文件已经结束,fgetl会返回-1 3、用fclose来...

    在MATLAB中,来读取和写入文本文件是很简单的事。下面,就来简单介绍下。

    一、读取文本文件

    思路:
    1、用fopen来打开一个文件句柄
    2、用fgetl来获得文件中的一行,如果文件已经结束,fgetl会返回-1
    3、用fclose来关闭文件句柄
    比如,TIM_Grid_Data.txt的内容如下:

    0.1 0.1 151.031 -12.3144 -29.0245 3.11285
    0.1 0.2 120.232 -2.53284 -8.40095 3.3348
    0.1 0.3 136.481 -0.33173 -22.4462 3.598
    0.1 0.4 184.16 -18.2706 -54.0658 2.51696
    0.1 0.5 140.445 -6.99704 -21.2255 2.4202
    0.1 0.6 127.981 0.319132 -29.8315 3.11317
    0.1 0.7 106.174 -0.398859 -39.5156 3.97438
    0.1 0.8 105.867 -20.1589 -13.4927 11.6488
    0.1 0.9 117.294 -11.8907 -25.5828 4.97191
    0.1 1 79.457 -1.42722 -140.482 0.726493
    0.1 1.1 94.2203 -2.31433 -11.9207 4.71119

    那么可以用下面的代码来读取该文本文件:

    fid=fopen('TIM_Grid_Data.txt','r');
    best_data=[];
    while 1
        tline=fgetl(fid);
        if ~ischar(tline),break;end
        tline=str2num(tline);
        best_data=[best_data;tline];
    end
    fclose(fid);

    这样文本文件中的内容就读入到了best_data中了。

    二、写入文本文件

    思路:
    1、用fopen打开一个文件句柄,但要用“w+”或“r+”等修饰符,具体参看help fopen
    2、用fprintf写入数据
    3、用fclose来关闭文件句柄

    比如下面的程序:

    fid=fopen('Data.txt','a+');
    %'a+' :Open or create new file for reading and writing. Append data to the end of the file.
    fprintf(fid,'Hello,Tim\r\n');
    fprintf(fid,'http://blog.sina.com.cn/pengtim');
    a=rand(1,10);
    fprintf(fid,'%g\r\n',a); 
    fclose(fid);

    打开Data.txt文件,可以看到:

    Hello,Tim
    http://blog.sina.com.cn/pengtim0.655741
    0.0357117
    0.849129
    0.933993
    0.678735
    0.75774
    0.743132
    0.392227
    0.655478
    0.171187

    三、Excel文件写入

    %创建一个myExample.xlsx文件,并写入数据
    values = {1, 2, 3 ; 4, 5, 'x' ; 7, 8, 9};
    headers = {'First','Second','Third'};
    xlswrite('myExample.xlsx',[headers; values]);

    打开myExample.xlsx,结果如下

    这里写图片描述

    四、Excel文件读取

    %.读取xlsx文件
    filename = 'myExample.xlsx';
    A = xlsread(filename)

    得到结果如下

    A =
    
         1     2     3
         4     5   NaN
         7     8     9
    展开全文
  • MATLAB读取文件有很多方法。然而笔者在过去进行数据处理中,由于函数太多,相互混杂,与C#,Python等语言相比,反而认为读取文本数据比较麻烦。C#和Python等高级语言中,对于大部分的文本数据,都是一行一行读取,再...

    MATLAB读取文件有很多方法。然而笔者在过去进行数据处理中,由于函数太多,相互混杂,与C#,Python等语言相比,反而认为读取文本数据比较麻烦。C#和Python等高级语言中,对于大部分的文本数据,都是一行一行读取,再使用字符串根据特定的符号进行分割。其实MATLAB中也有类似的方法,在此记录。
    笔者所谓的文本数据文件,指的是类似于csv文件格式的数据。一行文件代表的就是一条数据,一条数据中不同字段用符号分隔开。但不一定是逗号相分割,也可能是使用其他符号,例如\t进行分割。
    MATLAB中读取此类文本数据方法一:fgetl()方法

    fid=fopen('Test.txt','r');
    line=fgetl(fid);
    while ischar(line)
        disp(strsplit(line,','))
    end
    fclose(fid)

    MATLAB中读取此类文本数据方法二:csvread/dlmread()方法
    两者的差异在于csvread()方法默认分割符号为逗号','.而dlmread()方法可以自由设定分割符号。

    data=csvread('Test.txt');
    data=dlmread('Test.txt','\t');

    MATLAB中写入此类文本数据方法:csvwrite/dlmwrite()方法
    两者的差异在于csvwrite()方法默认分割符号为逗号','.而dlmwrite()方法可以自由设定分割符号。A为需要写入的数据。

    csvwrite('Test.txt',A);
    dlmwrite('Test.txt',A,'\t');

    转载于:https://www.cnblogs.com/kkyyhh96/p/7788180.html

    展开全文
  • MATLAB写入txt文件

    2019-11-25 10:18:04
    MATLAB写入txt文件 主要写了MATLAB写入txt文件的一些问题,下面的代码主要解决了一下问题: 写入txt的数据中间用英文逗号好隔开 输入的数据每三个为一行,每一行最后一个数据后的逗号没有 同一个文本在写入数据之后...
  • MATLAB中,来读取和写入文本文件是很简单的事。下面,就来简单介绍下。如果有其他问题,请留言。 一、读取文本文件 思路: 1、用fopen来打开一个文件句柄 2、用fgetl来获得文件中的一行,如果文件已经结束,...
  • 【转】MATLAB读取和写入文本文件

    千次阅读 2012-10-17 22:49:35
    MATLAB中,来读取和写入文本文件是很简单的事。下面,就来简单介绍下。如果有其他问题,请留言。 一、读取文本文件 思路: 1、用fopen来打开一个文件句柄 2、用fgetl来获得文件中的一行,如果文件已经结束,...
  • 利用MATLAB文本中的数据写入Excel

    千次阅读 2015-01-24 10:06:24
    利用MATLAB文本中的数据写入Excel 函数: function txt_excel(txt, xls) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 将txt文本数据写入Excel % 参数解释: 1. txt为输入文本名 如:'A.txt' % 2. xls为Excel...
  • 常用的testbench和matlab代码之读取和写入文本代码
  • 2.MATLAB中矩阵还可以以文本文件创建,即在文件夹中建立txt文件,在命令文件中直接调用文件即可创建特殊矩阵eye(n):创建n×n单位矩阵eye(m,n):创建m×n单位矩阵eye(size(A)):创建与A维数相同的单位矩阵ones(n):创建...
  • matlab写入文件

    2016-09-16 14:01:17
    1.写纯数值的文本文件 采用dlmwrite或fprintf函数写数值矩阵到文本文件。 >> dat1=rand(3,5) dat1 = 0.814723686393179 0.913375856139019 0.278498218867048 0.964888535199277 0.957166948242
  • MATLAB中将数据写入TXT文本文档中

    万次阅读 多人点赞 2018-09-17 14:01:06
    matalb中打开文件: fid = fopen(文件名,‘打开方式’); 说明:fid用于存储文件句柄值,如果fid&...‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。  ‘w+’:读写方式打开文件。先...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 185
精华内容 74
关键字:

matlab写入文本

matlab 订阅