I know there are many tours and everybody in town with a car is willing to drive you there, but I would rather take public transport.
Does anybody know whether this is possible and how to do it? Of course I have to get back to the city as well.
Yes, there are buses, but information on them varies.
Lonely Planet suggests a shuttle bus is needed for the last 12km:
It’s not difficult to get to Persepolis by a combination of bus and local taxi from Shiraz. Take a minibus (IR4000, 42km, hourly) or savari (IR8000, or IR40, 000 for the whole car to Persepolis) from the southern edge of Carandish Terminal to Marvdasht, where they stop at Basij Sq. From here you should be able to find a shuttle taxi (IR3000, 12km) to Persepolis.
Another site suggests you can get a bus directly there. I'd suggest confirming that at the bus terminal though since it seems a little less authorative.
Getting to Persepolis: By Bus from Shiraz: Go by bus to visit Persepolis for easiest travel, take regular and frequently run Buses from Karandish Bus Terminal in Shiraz; you'll ride in a bus for 45 Minutes.