2016-05-15 2 views
1

У меня ошибка «Ошибка при использовании histc. Первый вход должен быть реальным не разреженным числовым массивом» из следующих кодов.MATLAB: Ошибка при использовании histc. Первый вход должен быть реальным не разреженным числовым массивом

N=10^4; 
d=rand(1,N)>0.5; 
symbols=unique(d); 
probs = histc(d,symbols)./numel(d); 

P/s: Я пытаюсь создать с использованием randsrc раньше. Это сработало. Но я надеюсь не использовать randsrc, потому что это повлияет на мой код позже. Любые идеи по этому поводу будут оценены.

Спасибо.

+0

Для меня этот код работает правильно. Возможно, сначала попробуйте преобразовать из логического в полный двойной вектор: 'probs = histc (double (d (:)), символы) ./ numel (d);' Это работает? – tim

ответ

0

Вот рабочий код

N=10^4; 
d=double(rand(1,N)>0.5); 
symbols=unique(d); 
probs = histc(d,symbols)./numel(d); 
+0

Благодарим вас за отзыв. Я больше не получаю ошибку. –

Смежные вопросы