Domestic markets ended marginally higher after fluctuating for most part of the day until the coronavirus spread is controlled. The BSE Sensex ended at 49,201.39, up 42.07 points or 0.09%. The Nifty closed at 14,683.50, up 45.70 points or 0.31%.