У меня есть две матрицы А & B в Matlab, напримерудалить элементы с соответствующими нулями в другой матрице MATLAB
A=[0,0,1,2,3,0,4,2,0]
B=[2,3,1,2,2,3,4,4,1]
То, что я хочу сделать, это установить элементы в B к нулю, где они имеют ту же позицию в качестве нулевых элементов в А. Таким образом, в моем примере:
A=[0,0,1,2,3,0,4,2,0]
B=[2,3,1,2,2,3,4,4,1]
Я хочу B быть таким:
B=[0,0,1,2,2,0,4,4,0]
Любая идея?
спасибо Дэн! он работает, у меня есть другой вопрос: если B - многомерная матрица, так что A равно 3x3 и B (3x3) x3, как сделать то же самое для каждой матрицы 3x3 в B? Я знаю, что это может быть тривиально, но я просто новичок в этом. Многие thanks – Tak
'bsxfun (@times, A ~ = 0, B)' – Dan
проблема в том, что A является uint16 и B является uint8, поэтому он дает ошибку, как преодолеть это? – Tak