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

Antworten (1)

Walter Roberson
Walter Roberson am 5 Apr. 2019

0 Stimmen

Only by rewriting the entire file.

4 Kommentare

Marisabel Gonzalez
Marisabel Gonzalez am 5 Apr. 2019
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', ' ');
Devikrishna
Devikrishna am 12 Jan. 2023
My matrix is in the form 39×39 I want to add a column using dlmwrite and make 39× 40
Walter Roberson
Walter Roberson am 12 Jan. 2023
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

Melden Sie sich an, um zu kommentieren.

Produkte

Version

R2018a

Gefragt:

am 5 Apr. 2019

Kommentiert:

am 12 Jan. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by