Turning array values into values on an x axis

Suppose I had a double array and the values were 2,3,6 and 9.
How would I create a double array where all of the values are 1, except the 2nd, 3rd, 6th and 9th, which are 2?

2 Comments

You link to double seems broken.
What have you tried so far?
Tom's question
Suppose I had a double array and the values were 2,3,6 and 9.
How would I create a double array where all of the values are 1, except the 2nd, 3rd, 6th and 9th, which are 2?

Sign in to comment.

 Accepted Answer

x = ones(500,1);
indices = [2 3 6 9];
x(indices) = 2;
Or
x = ones(500,1);
x(indices) = x(indices)+1;

3 Comments

That's great thanks.
What about if the indices is a vector (<1x4 double>) and not an array?
Ummm, it is 1x4 in Wayne's answer. It works if you make it 4x1.
Thanks - I got there in the end - I had to round my indices for some reason. Even though some of them had .0000 after it still wouldn't work until those had been removed.
Many thanks Wayne and Daniel.

Sign in to comment.

More Answers (0)

Products

Asked:

Tom
on 1 May 2012

Community Treasure Hunt

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

Start Hunting!