What is the difference between setq and setf?

Or can one explain...

SETQ: (AREF TXY TXY_X TXY_Y) is not a symbol

on line
(setq (aref txy txy_x txy_y) (+ (aref txy txy_x txy_y) delta))

where

(setf (aref txy txy_x txy_y) (+ (aref txy txy_x txy_y) delta))

works?

I use setq in other places in the same function and it works fine.


Thanks in advance

Randy