The aim is to remove the two elements next to NaN values inside a vector.
For example:
x = [6 10 5 8 9 NaN 23 9 7 3 21 43 NaN 4 6 7 8]
The output y will be:
y = [6 10 5 8 9 7 3 21 43 7 8]
Nan values and the 2 next elements after the NaN (23-9 and 4-6) have been removed.
There will be always NaN values in the input vector followed by at least 2 integers.
Solution Stats
Problem Comments
6 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers702
Suggested Problems
-
Project Euler: Problem 2, Sum of even Fibonacci
2822 Solvers
-
284 Solvers
-
Convert a numerical matrix into a cell array of strings
2375 Solvers
-
716 Solvers
-
Height of a right-angled triangle
2013 Solvers
More from this Author30
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
i think the question may be worded incorrectly. there is no adding
Exact . Thanks for the remark , I replaced the "add" word by "remove"
Problem name “Remove the two elements next to NaN value” is confusing. In a 1d array the first and last element have 1 element next to them while other elements have 2 elements next to them. The name would imply that we are to remove one element preceding and one element following a NaN however in the problem description we are told to remove the two elements following the NaN. I would argue that the element preceding the NaN is more “next to” the NaN than the element two elements away. Name should be changed to “Remove the two elements following a NaN value”.
The term "next to NaN" would generally be considered as the one right before and the one right after NaN, if existing. Also the problem failed to say that NaN themselves need to be removed.
JF & LD, I agree with both of your comments. Furthermore, it is unfortunate that in the example the first NaN has digit "9" both immediately preceding it and two elements after it, making the procedure to get the result in that neighbourhood ambiguous.
not so easy problem. Took a lot of time for thinking!