Using arrayfun on 2d matrix

조회 수: 13 (최근 30일)
Sameer Karim
Sameer Karim 2018년 4월 7일
답변: Walter Roberson 2018년 4월 7일
for i = 1:D
Xtr = arrayfun(@(x) binarize(x, threshold), Xtrn(:, i));
end
Xtrn is a MxD matrix
Xtr is a MxD matrix
Can we vectorize this loop as well?
This is what binarize does
function X = binarize(X, threshold)
if(X<threshold)
X = 0;
else
X = 1;
end
end

채택된 답변

Walter Roberson
Walter Roberson 2018년 4월 7일
You are overwriting all of Xtr in each iteration of i
You probably just want
Xtr = binarize(Xtrn, threshold)
with
function b = binarize(X, threshold)
b = X >= threshold;

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 GPU Computing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by