add column to file with dlmwrite

Hello, is there anyway to add a column to an existing file using dlmwrite?
I've tried to transpose it to add lines instead and later convert it to columns again but I get the error " FILENAME must be a character vector "
A = [0.23;0.44;0.65;0.12];
A = A';
oldfile = dlmread('testfile1.txt');
oldfile = oldfile';
dlmwrite(oldfile,A,'-append','newline','pc','delimiter',' ')

回答(1 个)

Walter Roberson
Walter Roberson 2019-4-5

0 个投票

Only by rewriting the entire file.

4 个评论

Hi Walter, would you mind showing a code to do that?
oldfile = dlmread('testfile1.txt');
A = [0.23; 0.44; 0.65; 0.12];
oldfile(1:length(A), end+1) = A; %done this way in case the rows are not the same
dlmwrite('testfile1.txt', oldfile, 'newline', 'pc', 'delimeter', ' ');
My matrix is in the form 39×39 I want to add a column using dlmwrite and make 39× 40
The way that text files are designed in Windows, Mac, and Linux makes it impossible to add additional information to a row without rewriting the entire file. That applies not just to dlmwrite but also to writematrix and to using excel.
You need to use a system like I posted the code for, of reading the existing file, adding the new column in memory, and writing out the revised content

请先登录,再进行评论。

产品

版本

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by