syms c l1 h1 d1 d2 d3 d4 l2 h2 k3 l3 h3 h4 k4 l4 B
q1=1/(d3^2)==((h3^2/d1^2*h1^2)+(k3^2)/(d2^2*l2^2)+l3^2/(c^2*sin(B)^2)-(2*h3*l3*cos(B))/(d1*h1*c*sin(B)));
q2=1/(d4^2)==((h4^2/d1^2*h1^2)+(k4^2)/(d2^2*l2^2)+l4^2/(c^2*sin(B)^2)-(2*h4*l4*cos(B))/(d1*h1*c*sin(B)));
sol=solve([q1, q2], [c, B]);
csol=sol.c
Bsol=sol.B
the Ans is 'Unable to find explicit solution'
but when I use value
the Ans can be found
h1=1; d3=10; d4=15; h3=2; h4=1; d1=24; k3=3; k4=2; d2=18; l2=2; l3=1; l4=3;
syms c B
q1=1/(d3^2)==((h3^2/d1^2*h1^2)+(k3^2)/(d2^2*l2^2)+l3^2/(c^2*sin(B)^2)-(2*h3*l3*cos(B))/(d1*h1*c*sin(B)));
q2=1/(d4^2)==((h4^2/d1^2*h1^2)+(k4^2)/(d2^2*l2^2)+l4^2/(c^2*sin(B)^2)-(2*h4*l4*cos(B))/(d1*h1*c*sin(B)));
sol=solve([q1, q2], [c, B]);
csol=sol.c
Bsol=sol.B
csol =
(919795581000*(- (38460*21210^(1/2))/149167 - 5603167/149167)^(1/2))/669312329 + (81000*(- (38460*21210^(1/2))/149167 - 5603167/149167)^(3/2))/4487
- (919795581000*(- (38460*21210^(1/2))/149167 - 5603167/149167)^(1/2))/669312329 - (81000*(- (38460*21210^(1/2))/149167 - 5603167/149167)^(3/2))/4487
(919795581000*((38460*21210^(1/2))/149167 - 5603167/149167)^(1/2))/669312329 + (81000*((38460*21210^(1/2))/149167 - 5603167/149167)^(3/2))/4487
- (919795581000*((38460*21210^(1/2))/149167 - 5603167/149167)^(1/2))/669312329 - (81000*((38460*21210^(1/2))/149167 - 5603167/149167)^(3/2))/4487
Bsol =
-2*atan((- (38460*21210^(1/2))/149167 - 5603167/149167)^(1/2))
2*atan((- (38460*21210^(1/2))/149167 - 5603167/149167)^(1/2))
-2*atan(((38460*21210^(1/2))/149167 - 5603167/149167)^(1/2))
2*atan(((38460*21210^(1/2))/149167 - 5603167/149167)^(1/2))
how can i show the Ans with symbol? thanks

 採用された回答

Dimitris Kalogiros
Dimitris Kalogiros 2018 年 8 月 28 日
編集済み: Dimitris Kalogiros 2018 年 8 月 28 日

0 投票

Your query is a mathematical issue and not a matlab issue.
Let me give you an example...
Supose you want to solve analytically a 6th degree polynomial equation:
a*x^6 + b*x^5 + c*x^4 + d*x^3 + e*x^2 + f*x^1 + g =0
There is no analytical formulla for every value of coefficients a,b,c,d,e,f,g
But for some sets of these coefficients, there is indeed a compact way to find the solution:
2*x^6 -2*x^4 - 8*x^2 + 8 = 0
2(x^6 - x^4 -4*x^2 + 4) = 0
2 * (x^2 - 1) * (x^4 - 4 ) = 0
2 * (x-1) * (x+1) * (x^2 - 2) * (x^2 +2) = 0
2 * (x-1) * (x+1) * (x - sqrt(2) ) * (x + sqrt(2) ) * ( x^2 +2 ) = 0
where roots of the later equation are , 1 , -1 , sqrt(2), -sqrt(2)

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by