Это строка:
x_fp_bin(n) = bin(x_fp_temp);
, который подведет тебя. В основном это потому, что вы возвращаете массив символов (1 и 0), и вы не можете поместить это непосредственно в одномерный массив. Либо используйте больший массив:
x_fp_bin(n,:) = bin(x_fp_temp);
или используйте cellstrs:
x_fp_bin(n) = {bin(x_fp_temp)};
Кроме того, есть ли причина, по которой вы используете цикл вместо записи в массиве?
bin_arr = bin(fi((1:99)'./100, 1));