多项式级数与拟合曲线一致,级数是一种有效的数据逼近方法。
restart;theta:=arctan(S/L)+arccos((L^2+S^2+B^2-A^2)/(2*sqrt(L^2+S^2)*B))-arctan(A/L);
/ 2 2 2 2\/S\ |-A + B + L + S | /A\
arctan|-| + arccos|------------------| - arctan|-|
\L/ | (1/2) | \L/
| / 2 2\ |
\2 \L + S / B/
alpha:=arccos((L^2+S^2+B^2-A^2)/(2*sqrt(L^2+S^2)*B))-arctan(A/L);
/ 2 2 2 2\
|-A + B + L + S | /A\
arccos|------------------| - arctan|-|
| (1/2) | \L/
| / 2 2\ |
\2 \L + S / B/
simplify( (1), 'constant' );
/ 2 2 2 2\
/S\ |-A + B + L + S | /A\
arctan|-| + arccos|------------------| - arctan|-|
\L/ | (1/2) | \L/
| / 2 2\ |
\2 \L + S / B/
A:=60;B:=966.863;L:=965;
60
966.863
965
theta
/ / 2 6\\
/ 1 \ |0.0005171363470 \S + 1.862449061 10 /|
arctan|--- S| + arccos|--------------------------------------|
\965 / | (1/2) |
| / 2 \ |
\ \S + 931225/ /
/12 \
- arctan|---|
\193/
series( (5), S, 3);
-8 1 -12 2 / 3\
3.364 10 + --- S - 4.349999841 10 S + O\S /
965
deltaS:=1850*sin(theta)
/
| / 1 \
1850 sin|arctan|--- S|
| \965 /
|
\
/ / 2 6\\ \
|0.0005171363470 \S + 1.862449061 10 /| /12 \|
+ arccos|--------------------------------------| - arctan|---||
| (1/2) | \193/|
| / 2 \ | |
\ \S + 931225/ / /
series( (7), S, 3);
-9 2 / 3\
0.00006223400000 + 1.917098446 S - 8.080914831 10 S + O\S /
plot(1850*sin(theta),S=-2..2)
plot(1850*sin(alpha),S=-10..10);
theta:=arctan(S/L);deltaS=1850*sin(theta)
/ 1 \
arctan|--- S|
\965 /
/
| / 1 \
1850 sin|arctan|--- S|
| \965 /
|
\
/ / 2 6\\ \
|0.0005171363470 \S + 1.862449061 10 /| /12 \|
+ arccos|--------------------------------------| - arctan|---|| =
| (1/2) | \193/|
| / 2 \ | |
\ \S + 931225/ / /
1850 S
------------------
(1/2)
/ 2 \
\S + 931225/
S:=-2;
-2
evalf(theta);evalf(deltaS);
-0.002072535893
-3.834117648
evalf(360*theta/(2*Pi))
-0.1187475595
evalf(arccos((1/2)*(-A^2+B^2+L^2+S^2)/(sqrt(L^2+S^2)*B)))
0.06209625163