how to insert 1 in place of inf in a given array

1 view (last 30 days)
given array :
Inf 4 2 2 4 Inf
i want my final output satisfy two conditions:
1. insert value 1 wherever Inf is encountered
2.insert value 1 wherever 2 or any number is encountered multiple times consequetively.
final output : 1 0 1 0 0 1
Edit: Thanks a lot,that worked like hot knife on butter :)
i've got another issue:I want to append 1 to start of every array
Ex-: a= [0 1 0 01]
my desired output= [1 0 1 0 0 1]

Accepted Answer

Rik
Rik on 28 Jul 2019
Edited: Rik on 28 Jul 2019
You can use the diff function and isinf to make this array.
final= [false diff(array)==0] | isinf(array) ;
  7 Comments
Rik
Rik on 29 Jul 2019
The sum function can be used as a shorthand.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!