disp("sol is " + string(sol))
The output of solve is sym if a single variable is being solved for, or in some cases where multiple outputs are given, and otherwise is struct.
You have a conflict over whether the + operation should be the concatenation operation of the string object "sol is" or if it should be symbolic addition associated with the sym result of solve. Addition happens to win, and that is a problem for you.