MATLAB: Vectorising setting values of array by reading from other array

vectorizationvectors

I have an array which contains some numbers, and I have another array which is initialised to zeros.
arr = [45; 56 ...] %array with numbers
x-arr = zeros(1000,1) %zero-initialised array
I want to set all index value of x to 1 which have a value in arr namely, as shown, 45 and 56 are values contained in arr, so I want:
x-arr[45] = 1
x-arr[56] = 1
and the rest of the values, which are not contained in arr to remain to zero. Is there a vectorised approach to problem besides the obvious for-loop?

Best Answer

x_arr=zeros(1000,1);
arr=[45;56];
x_arr(arr)=1;
You can't use 'x-arr' as it regards '-' as the minus operator.
Related Question