Blank figure in MatLab
The problem is you are plotting a single point and equally multiple single points on top of each other. By default Matlab suppresses points which makes sense when you are doing a line plot of continually varying data but not so much when it is a single point

your time array is a 3 entry array of the same time, 10.

t=[10;10;10]

t =

    10
    10
    10


Now if you make a slight edit to the plot command: 

plot(t,p_0,'k*','MarkerSize',20)

ie plot in black, markers as an astrisk and make the marker large, this is what you have. You will have three stars over each other due to the same data being asked to be plotted, three times: 

p_0

p_0 =

    0.9990
    0.9990
    0.9990






How to fix? well what are you trying to do because this is doing exactly what it should but without additional info we can't help 

--edit--
so I recreated your model and changed the key variables to single dimension

p_0= 0.999
p_env=1
p_desire=1.1