could not find explicit solution
0 Commenti
Risposte (1)
2 Commenti
There is no closed form solution for those equations, even after you repair them.
Repaired equations:
Ae = sym('Ae'); cd = sym('cd'); cl = sym('cl'); clt = sym('clt'); clw = sym('clw'); ct = sym('ct');
K = 0.045; %I wonder what the difference is between K and k ? Ve = 0; a = 5.19; aw0 = -2/57.3; awr = 1/57.3; cd0 = 0.03; cm0 = -0.0711; cw = 1.716; g = 9.81; h = 0.29; h0 = -0.08; ht = 2000.0976; k = 0; lt = 6.184; m = 6300; ro = 1.006; s = 25.08; st = 7.79; vi = 51.5; ztw = 0.312;
Kcl = K*cl; %a guess! Vt=(st*lt)/(s*cw);
eqn = [(((2*m*g)/(ro*vi^2*s))*sin(Ae+Ve))-ct*cos(k)+cd*cos(Ae)-cl*sin(Ae)==0, ... (((2*m*g)/(ro*s*vi^2))*cos(Ae+Ve))-cl*cos(Ae)-cd*sin(Ae)-cd*sin(k)==0, ... (cm0+((h-h0)*clw))-(Vt*clt)+ct*(ztw/cw)==0, ... cl-clw-(clt*st/s)==0, ... cd-cd0-Kcl^2==0, ... clw-a*(Ae+awr-aw0)==0 ];
[Ae,ct,cd,clt,clw,cl] = solve(eqn,Ae,ct,cd,clt,clw,cl); Ae, ct, cd, clt, clw, cl
There are an infinite number of real-valued solutions (I think).
Do iterative solving starting from the end of eqn: solve eqn(6) for Ae, substitute result into eqn(1:5), solve the last of those for cd, substitute result back into the others, solve the last of what is left for cl... then clt. This is solving in alphabetic order so far. You should now be down to two equations. Solve the last of them for ct (not clw which would be next in alphabetic order). This will give you two solutions because it involves a quadratic.
At this point, substitute the first solution for ct into the only remaining equation. That will give you something that there is no closed form solution for, but which has only one real-valued solution, which is approximately 1.68198547688709 . You can then do back substitution one by one on the forms for the other variables, leading you to one fundamental numeric solution path.
Now, go back and substitute the second solution for ct into that one last equation. This will give you something that there is no closed form solution for, and for which there are an infinite number of solutions and an infinite number of discontinuities.
The equation to be solved is
eqn7 = (1/8891794514289623040000)*((-194334729004422424166400*clw+3477136244812957089792)*cos((100/519)*clw-10/191)^2+1677721600000*(773*sin((100/519)*clw-10/191)+39)*(((1126173500519986757632*cos((100/519)*clw-10/191)^2+16845518524734071775*cos((100/519)*clw-10/191)*sin((100/519)*clw-10/191)-273593677362757632)/cos((100/519)*clw-10/191)^2)^(1/2)+33554432000)*cos((100/519)*clw-10/191)+194334729004422424166400*clw+16424380561615719980625*sin((100/519)*clw-10/191)-3477136244812957089792)/sin((100/519)*clw-10/191)^2
If you just naively plot this you will probably be misled. A naive plot would miss the fact that this function goes complex valued for short segments. A sub-expression if this is the square root of
(1126173500519986757632*cos(100*clw*(1/519)-10/191)^2+16845518524734071775*cos(100*clw*(1/519)-10/191)*sin(100*clw*(1/519)-10/191)-273593677362757632)/cos(100*clw*(1/519)-10/191)^2
This is like A*cos(x)^2 + B*cos(x)*sin(x) - C, all divided by cos(x)^2. As cos(x) nears 0, A*cos(x)^2 nears 0, and B*cos(x)*sin(x) nears 0, leaving the expression controlled by the residue of the "near zeros" and the -C . That numerator therefore sometimes goes negative, and as cos(x) nears 0 you get a division by 0, so the subexpression tends towards sqrt(-infinity) near there.
I mention this because the actual zeros of the overall function are just after the places where the expression recovers and becomes real-valued again. Therefore you can predict the general location of the zeros of the expression by looking for the places where cos(100*clw*(1/519)-10/191) goes to 0, which is the places where 100*clw*(1/519)-10/191 goes to an odd multiple of Pi/2 .
Each of w values that zeros eqn7 gives you a numeric value for w that you can then back substitute through the solutions you found for the other variables until you have a complete set of values.
Vedere anche
Categorie
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!