Copy and paste data in the same CSV file using matlab
5 次查看(过去 30 天)
显示 更早的评论
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
1 个评论
Stephen23
2015-6-12
编辑:Stephen23
2015-6-12
It is much easier for us if you actually upload a sample file for us to use. This is because peoples descriptions of files, the formatting of HTML text and trying to copy it makes this process very error-prone.
You can upload using the paperclip button, and then pressing both the Choose file and Attach file buttons.
It also helps uf if you format any code correctly using the {} Code button that you will find just above the textbox.
采纳的回答
Stephen23
2015-6-12
编辑:Stephen23
2015-6-12
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!