• [转载]整理:matlab中fprintf 输出换行,按行列输出


    %%%%%=========================fprintf按列输出=============
    % % % [m, n] = size(a);   %要反复调整a的形式(如将a转置)
    % % % for i = 1 : m
    % % %     for j = 1 : n
    % % %         fprintf('%8.4f', a(i, j));
    % % %     end
    % % %     fprintf('n');
    % % % end
    %%%%%=========================================

    ===+++++++++++++++fprintf保存到指定路径+++++++++++++++++++++++++++===

    a=[12 34 56;55 66 89];
    fid = fopen('D:studydof.txt', 'wt');
    fprintf(fid, [repmat('%d ', 1, size(a,2)), 'n'], a');
    fclose(fid);

    ===+++++++++++++++fprintf保存到指定路径+++++++++++++++++++++++++++===

     

    ==================================字符串;分行=========================

    from: http://www.ilovematlab.cn/thread-83763-1-1.html

    随手写的,有点乱。如果懒得浪费时间看前面的话,直接看最后几句话。
    最近几次在论坛中看到有会员提问关于matlab中fprintf保存string字符到txt文档换行问题的分析,我没有在论坛中搜索,不知道是否有相应的问题的解决方法,只是自己做一下分析,并分享一下。
    1 我们先做个小实验,
    fid=fopen('Outputdata.txt','wt');
    str=['abc';'bed'];
    fprintf(fid,'%s',str)
    fclose(fid);
    结果发现,打开txt文档一看,结果只有一行。其结果和str(:)的顺序一样。

    如果是fprintf(fid,'%sn',str)呢,发现在txt文档中实际有两行,只是第二行是一个空行而已。这就说明n是起了作用的。输入
    a=sprintf('%sn', str);
    >> size(a)
    ans =
             7
    可以发现a实际上是七个字符,最后一个字符是换行符。因此换行当然是在最后了。
    那么有人问,我如果直接在str中添加n呢?str=['an';'bed'];
    sprintf('%s', str)
    ans =
    abend

    显然也不能够实现换行的。
    正确的实现方法是:
    fid=fopen('Outputdata.txt','wt');
    str=['abc';'bed'];
    for i=1:2
    fprintf(fid,'%s n',str(i,:));
    end
    这样的话,在每一行中添加了一个/n。
    lose(fid);

    -----------------------
    text文本换行我用的是:fprintf(fid,'rn',str(i,:));
  • 相关阅读:
    ES6标准入门之正则表达式的拓展
    将博客搬至CSDN
    CUDA杂谈
    QT源码解析笔记
    图解DTS和PTS
    图解 I帧,B帧以及P帧
    这半年的一些事情
    C++的一些编程规范
    pjsip与QT进行适配
    编程规范检测脚本
  • 原文地址:https://www.cnblogs.com/gisalameda/p/12840622.html
Copyright © 2020-2023  润新知