如何使用Octave的dlmwrite函数在行尾而非行前追加分隔符
Octave dlmwrite行尾追加分隔符的实现方法
问题原因
你遇到的输出错位问题,根源是对dlmwrite的参数顺序和含义理解错误:你当前写法里传入的0、8两个参数,会被Octave识别为写入的起始行偏移、起始列偏移,相当于要求从每一行的第8列开始写入[1 2],自然会在数据前生成8个分隔符占位。
解决方法
要实现1,2后追加8个逗号的效果,只需要构造包含后续空列的数组再写入即可,正确调用代码如下:
dlmwrite('file', [1 2, NaN(1,8)], '-append', 'precision', '%g', 'emptystring', '')
代码说明
- 构造的
[1 2, NaN(1,8)]数组总长度为10,前2位为有效数据,后8位用NaN占位 'emptystring', ''参数指定NaN值输出为空,只会保留对应位置的分隔符,不会显示多余内容- 所有可选参数放在数组之后,避免参数顺序解析错误,默认分隔符为逗号无需额外指定
内容的提问来源于stack exchange,提问作者babelproofreader
相关产品推荐
相关产品推荐

