Did you take your food?
Did you eat your food?
Which is more correct?
I think I understand where this question is coming from - in Hindi, we say "Khana le liya?" to ask if someone has finished having their meal, and that would literally translate to "Did you take your food?"
So going by this, if you want to know if someone has finished having a particular meal, "Did you eat your food?" would be correct English.
However, "Have you had your <meal>?" would be more appropriate than "Did you eat.." (unless you want to make sure that they've eaten everything that was on their plate, as with children).
Here <meal> can be replaced by breakfast, luch, dinner or tea/snacks depending on the hour of day and customs.
If you want to know if they have remembered to carry their tiffin box or some such thing, then "Did you take your food" would be the statement you'd want to use.
It's not a matter of "which is more correct?"; a better question would be: "Which is more appropriate?", or, "Which is more natural?"
That's hard to answer, because there are different situations where a question like this might be asked. For example, we might ask:
I might ask the child:
Did you finish your food?
I might ask the patient:
Did you eat any food?
I might ask the athelete:
Did you eat your meal?
I might ask the dizzy person:
Have you had any food recently?
and I might ask the friend on the bad date:
Did you eat your food? Or did you just get up and leave?
One thing I would not ask, though, is:
Although I might ask:
Did you take your medication?
because take is often used with medicine.