【问题标题】:How from the Cell A, I can have the format S in a text file?如何从单元格 A 中获取文本文件中的格式 S?
【发布时间】:2015-01-10 00:36:14
【问题描述】:
A = {[2    5],[4    8    9],[11   55    4    15],[89    2    47;4    25   10]}

S = {[2    5],[4    8    9],[11   55    4    15],[89    2    47],[4    25   10]}

如何从单元格A1x4 中得到S 格式的文本文件中带括号和逗号?

在文本编辑器中打开时,文本文件应如下所示:

{[2    5],[4    8    9],[11   55    4    15],[89    2    47],[4    25   10]}

【问题讨论】:

    标签: matlab text-files


    【解决方案1】:

    因为您的 Cell 数组不是矩形形式(第一个“行”条目的长度为 2,而其余的则更长),因此转换魔法不起作用。

    只需编写一点 for 循环来遍历元胞数组的元素,将它们线性化(又名 matrix_variable(:))并打印出结果。

    编辑:因为您要求提供更多详细信息: doc cell 将向您展示元胞数组的使用示例,包括读取其长度和访问元素。然后,您可以线性化 Cell 数组的元素(如上图所示)。

    【讨论】:

      【解决方案2】:
      A = {[2    5],[4    8    9],[11   55    4    15],[89    2    47;4    25   10]};
      
      n=numel(A);
      
      S{1} = strrep(['{' mat2str(A{1})  ], ';', '],[');
      
      for i=2:n-1
      
          S{i} = strrep([',' mat2str(A{i})  ], ';', '],[');
      
      end
      
      S{n} = strrep([',' mat2str(A{n}) '}' ], ';', '],[');
      
      
      dlmwrite('tmp.txt', S, '')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多