The duke, who turns 91 next week, missed the special Diamond Jubilee Thanksgiving service and the Buckingham Palace concert.
He was said to be upset after being forced to miss the remaining Diamond Jubilee celebrations, the Daily Mail reported.
He is being treated at the King Edward VII Hospital near Paddington, London.
The queen, however, continued with her public duties but is being regularly updated on her husband’s condition.
On Monday night, Prince Charles joked that the duke might hear the jubilee concert from his hospital bed if the crowd shouted loud enough.
He said it was sad that the Duke of Edinburgh could not be present at the event.
“The only sad thing about tonight is that my father cannot be here with us because, unfortunately, he’s been taken unwell,” Charles said.
“If you should loud enough, he might just hear us in hospital,” he said to tumultuous applause from the audience outside Buckingham Palace.
The Buckingham Palace said the duke, who underwent a minor heart surgery during Christmas, would remain under the care of doctors for several days as a precautionary measure.