MATLAB: Copy and paste data in the same CSV file using matlab

copypaste in the same csv file

Hello, I have a CSV file with 720 rows and 2 columns. First column of the file has to be extrapolated to 1420 rows with some function and second column has to be extrapolated to 1420 rows by copying/repeating the same data as in first 720 rows (original data present in second column). I am Successful in extrapolating the first column but getting stuck in the second column. Can anybody help me? Example:
Original file
0.0 0.82
2.1 0.72
4.2 0.68
6.3 0.15
Modified file
0.0 0.82
2.1 0.72
4.2 0.68
6.3 0.15
8.4 0.82
10.5 0.72
12.6 0.68
14.7 0.15

Best Answer

Method One Hard-coded replication of rows (twice in this example):
>> X = [0.0,0.82; 2.1,0.72; 4.2,0.68; 6.3,0.15];
>> D = mean(diff(X(:,1)));
>> Y(:,2) = [X(:,2);X(:,2)];
>> Y(:,1) = [X(:,1);X(:,1)+X(end,1)+D]
Y =
0 0.8200
2.1000 0.7200
4.2000 0.6800
6.3000 0.1500
8.4000 0.8200
10.5000 0.7200
12.6000 0.6800
14.7000 0.1500
Method Two Number of rows replicated by a constant (thrice in this example):
>> N = 3;
>> Z(:,2) = repmat(X(:,2),N,1);
>> Z(:,1) = linspace(0,D*(N*size(X,1)-1),size(Z,1))
Z =
0 0.8200
2.1000 0.7200
4.2000 0.6800
6.3000 0.1500
8.4000 0.8200
10.5000 0.7200
12.6000 0.6800
14.7000 0.1500
16.8000 0.8200
18.9000 0.7200
21.0000 0.6800
23.1000 0.1500