Then it should just be to generate the gray-level (or separate R, G and B level) mappings that take you from 0-1 to 0-1.
qdSolarize = @(Igray) (1-0.7*sin((0.2+linspace(0,0.8,1001)*pi)).^8)
Isolarized = qdSolarize(I);
You'd have to fidget around with the mapping till you get whatever you want.
HTH.