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',' ')

Risposte (1)

Walter Roberson
Walter Roberson il 5 Apr 2019

0 voti

Only by rewriting the entire file.

4 Commenti

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

Accedi per commentare.

Prodotti

Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by