Remove zeros and perform calculation with non-zero elements
36 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a array of B with 403 elements (403 x 1). Some of the values are qual to zero but I want to remove the zeros from the array and perform a calculation with non-zero elements. After the calculation with non-zero elements, the new values need to be replaced with old values.
Can anybody help me how I can do it MATLAB?
Thanks,
Dumindu.
0 个评论
回答(2 个)
Sean de Wolski
2014-6-2
编辑:Sean de Wolski
2014-6-2
Extract the elements in C where B is nonzero
D = C(B~=0)
Extract the nonzero elements of B into D
D = nonzeros(B)
per isakson
2014-6-2
编辑:per isakson
2014-6-2
Hint
B(not(B==0)) = perform_calculation( B(not(B==0)) );
where
function M2 = perform_calculation( M1 )
% calculations
end
If calculations use more variables make perform_calculation a nested function to make the variables of the caller available to calculations.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!