It was smart of you to look at the results, and question them. Always think about what comes out from a solver. Does the solution make sense?
I would suggest that, by the way, naming variables l1 and l2 is always a bad idea. Lower case l an easily be mistaken or mistyped, and depending on the font, it often becomes difficult to disentagle from the number 1. Just a suggestion.
Anyway, trigonometric equations essentially always have infinitely many solutions, at least if they have any soutions at all. And since this system will not have any symboic solution (solve gave up when you tried, and it passed the buck on to vpasolve.) But vpasolve will try to find A solution vased on a set of random starting values.
theta=70;L=1500;h=200;D=1;
(cosd(theta)*cosd(x1)-sind(theta)*sind(x1))/x==cosd(x1)/l2;
(cosd(theta)*cosd(x1)+sind(theta)*sind(x1))/x==cosd(x1)/l1;
So it looks like you indeed have 6 equations, and 6 variables. But a system of 6 equations and 6 unknowns becomes quite difficult to visualize what is happening.
[x1,l1,l2,f,x,y]=vpasolve(eq,vars)
x1 = 517.32017720707302681674046481624
l1 = 7590603.4479823424160756070250191
l2 = 
f = 
x = 
y = 2.773576752484404417389800180833e+36
So, is this solution correct? Well, maybe not useful or meaningful. It looks like vpasolve is converging to a somewhat degenerate solution. For example, we have
cosd(theta)==h/(y+f)
but if you look at the values for y and f, they are both huge, but essentially almost the same number, except for opposite signs. That means the denominator in that expression will be the result of a massive subtractive cancellation. The denominator in that expression is based on the least significant digits in f and y. And that is a massive red flag to me.
It tends to suggest to me that possibly your system may not be well-posed. Or it may simply be incorrect. Or it may be it is based on some assumptions which are ony approximately correct, so not fully valid. The problem is, we have absolutely no idea where the equations came from, what the variables represent.
If I were you, I would first return to your equations. Are they correct? Did you mistype something? Is there something strange about what you have done? For example, look at your second equation.
(cosd(theta)*cosd(x1)-sind(theta)*sind(x1))/x==cosd(x1)/l2;
On the left hand side, we have an interesting form. Do you recognize the form for the cosine of the sum of two angles?
In there, you will see the identity
cos(alpha +/- beta) = cos(alpha)*cos(bets) -/+ sin(alpha)*sin(beta)
Which suggests you can rewrite equation 2 as:
cosd(theta + x1)/x = cosd(x1)/l2
In my eyes, this is simpler, but I'm not sure it helps.
Anyway, can we fix it? No. That is to a large extent, because we are given no clue as to what the equations mean, what they model, and what the variables represent.