insert specific number of rows into matrix if condition is met and fill new cells with specific value
Show older comments
Hi,
I have a 2-column matrix like this:
a = [1 0; 2 0; 4 0; 8 0]
I would like to change this matrix into a matrix like this:
a_new = [1 0; 2 0; 3 NaN; 4 0; 5 NaN; 6 NaN; 7 NaN; 8 0]
i.e. matrix a with consecutive numbers in the first column and an empty cell or NaN in the added second column.
I managed to insert single rows where they should be inserted:
first_column = a(:,1);
d = diff(first_column);
f = find(d>1);
row = [0, NaN];
a = insertrows(a,row,f)
... giving me this:
a =
1 0
2 0
0 NaN
4 0
0 NaN
8 0
But I would need to insert e.g. only one row after row number 3 but three rows after row number 3.
Moreover, I want the new value of the first column to be consecutive number.
I appreciate your help a lot!!
Accepted Answer
More Answers (0)
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!