清风

导航

2017-11-10 Fr Oct 消参

设切点 $ A(a, b) $,圆心 $M(x, y)$,则有 $R_M = MA = MP = R_C-MC$:

$$ \left{ \begin{aligned}
(a-3)^2 + b^2 &= 8^2 \
\sqrt{(x-a)2+(y-b)2} &= \sqrt{(x+3)2+y2} \
&= 8-\sqrt{(x-3)2+y2}
\end{aligned} \right. $$

Maxima:

solve([(a-3)^2 + b^2 = 8^2, sqrt((x-a)^2+(y-b)^2) = sqrt((x+3)^2+y^2), sqrt((x+3)^2+y^2) = 8-sqrt((x-3)^2+y^2)],[x]);
solve([(a-3)^2 + b^2 = 8^2], [a])

(%i4) solve([(a-3)^2 + b^2 = 8^2], [a]);
                                    2                  2
(%o4)           [a = 3 - sqrt(64 - b ), a = sqrt(64 - b ) + 3]

solve([sqrt((x+3)^2+y^2) = 8-sqrt((x-3)^2+y^2)], [x])

解不出来……


UPD 2017-11-10 Fr 10:39PM

周一在学校的时候想了一下,由 $ (a-3)^2 + b^2 = 8^2 $ 可知$a$ $b$关系,由 $ \sqrt{(x+3)2+y2} = 8-\sqrt{(x-3)2+y2} $ 可知 $x$ $y$ 关系,这样就只剩下两个未知数,然后再带入最后一个方程就行了。

I simplfied in hand but the last step involved a polynomial with too much terms. So I decided to go to Maxima at weekend.

Maxima:

Maxima 5.25.0 http://maxima.sourceforge.net
using Lisp Clozure Common Lisp Version 1.7-r14925M  (WindowsX8632)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) solve([(a-3)^2 + b^2 &= 8^2], [a])

Maxima 5.25.0 http://maxima.sourceforge.net
using Lisp Clozure Common Lisp Version 1.7-r14925M  (WindowsX8632)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) solve([(a-3)^2 + b^2 = 8^2], [a])
;
                                    2                  2
(%o1)           [a = 3 - sqrt(64 - b ), a = sqrt(64 - b ) + 3]
(%i2) a
;
(%o2)                                  a
(%i3) a;
(%o3)                                  a
(%i4) solve([sqrt((x-a)^2+(y-b)^2) = 8-sqrt((x-3)^2+y^2)], [y])
;
             2            2            2    2              2    2
(%o4) [sqrt(y  - 2 b y + x  - 2 a x + b  + a ) = 8 - sqrt(y  + x  - 6 x + 9)]
(%i5) solve([sqrt((x-a)^2+(y-b)^2) = 8-sqrt((x-3)^2+y^2)], [y]);
             2            2            2    2              2    2
(%o5) [sqrt(y  - 2 b y + x  - 2 a x + b  + a ) = 8 - sqrt(y  + x  - 6 x + 9)]
(%i6) solve([(x-a)^2+(y-b)^2 = 64 + (x-3)^2+y^2 - 16*sqrt((x-3)^2+y^2)], [y])
;
                       2    2                             2    2
              16 sqrt(y  + x  - 6 x + 9) - 2 a x + 6 x + b  + a  - 73
(%o6)    [y = -------------------------------------------------------]
                                        2 b
(%i7) 

Seems I don't know how to use Maxima to solve equation correctly...

I gave it the wrong equation in %i4.. 'a' should not be involved. Try again:

Maxima 5.25.0 http://maxima.sourceforge.net
using Lisp Clozure Common Lisp Version 1.7-r14925M  (WindowsX8632)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) solve([sqrt((x+3)^2+y^2) = 8-sqrt((x-3)^2+y^2)], [y]);
                   2    2                        2    2
(%o1)       [sqrt(y  + x  + 6 x + 9) = 8 - sqrt(y  + x  - 6 x + 9)]
(%i2) solve([(x+3)^2+y^2 = 64 + (x-3)^2+y^2 - 16*sqrt((x-3)^2+y^2)], [y]);
Is  3 x - 16  positive, negative, or zero?

negative
;
                                     2                          2
                  sqrt(7) sqrt(16 - x )      sqrt(7) sqrt(16 - x )
(%o2)      [y = - ---------------------, y = ---------------------]
                            4                          4
(%i3) 

Well.. let's do it step by step.

$$ \left{ \begin{aligned}
(a-3)^2 + b^2 &= 8^2 \
\sqrt{(x-a)2+(y-b)2} &= \sqrt{(x+3)2+y2} \
8-\sqrt{(x-3)2+y2} &= \sqrt{(x+3)2+y2}
\end{aligned} \right. $$

Maxima 5.25.0 http://maxima.sourceforge.net
using Lisp Clozure Common Lisp Version 1.7-r14925M  (WindowsX8632)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) load(itensor);
;Compiler warnings for "C:/PROGRA~2/MAXIMA~1.0/share/maxima/5.25.0/share/tensor/itensor.lisp" :
;   In $LC_L: Unused lexical variable L2
;Compiler warnings for "C:/PROGRA~2/MAXIMA~1.0/share/maxima/5.25.0/share/tensor/itensor.lisp" :
;   In $LC_U: Unused lexical variable L1


(%o1) C:/PROGRA~2/MAXIMA~1.0/share/maxima/5.25.0/share/tensor/itensor.lisp
(%i2) load(tentex);
(%o2) C:/PROGRA~2/MAXIMA~1.0/share/maxima/5.25.0/share/tensor/tentex.lisp
(%i3) expand((a-3)^2+b^3-64)
;
                             3    2
(%o3)                       b  + a  - 6 a - 55
(%i4) solve([%o3],[b]);
                                2            1/3
           (sqrt(3) %i - 1) (- a  + 6 a + 55)
(%o4) [b = -------------------------------------, 
                             2
                               2            1/3
          (sqrt(3) %i + 1) (- a  + 6 a + 55)             2            1/3
    b = - -------------------------------------, b = (- a  + 6 a + 55)   ]
                            2
(%i5) solve([%o3], [a]);
                                  3                  3
(%o5)         [a = 3 - sqrt(64 - b ), a = sqrt(64 - b ) + 3]
(%i6) tentex(%o5)
;
$$\left[ a=3-\sqrt{64-b^3} , a=\sqrt{64-b^3}+3 \right] $$
(%o6)                             false
(%i7) solve([%o3=0], [a]);
                                  3                  3
(%o7)         [a = 3 - sqrt(64 - b ), a = sqrt(64 - b ) + 3]
(%i8) expand(sqrt((x+3)^2+y^2)-8+sqrt((x-3)^2+y^2))
;
                2    2                    2    2
(%o8)     sqrt(y  + x  + 6 x + 9) + sqrt(y  + x  - 6 x + 9) - 8
(%i9) solve([%o8], [y])
;
                2    2                        2    2
(%o9)    [sqrt(y  + x  + 6 x + 9) = 8 - sqrt(y  + x  - 6 x + 9)]
(%i10) solve([%o8], [x]);
                2    2                        2    2
(%o10)   [sqrt(y  + x  + 6 x + 9) = 8 - sqrt(y  + x  - 6 x + 9)]
(%i11) %o8^2
;
                2    2                    2    2                2
(%o11)   (sqrt(y  + x  + 6 x + 9) + sqrt(y  + x  - 6 x + 9) - 8)
(%i12) expand(%o11);
               2    2                  2    2
(%o12) 2 sqrt(y  + x  - 6 x + 9) sqrt(y  + x  + 6 x + 9)
            2    2                       2    2                 2      2
 - 16 sqrt(y  + x  + 6 x + 9) - 16 sqrt(y  + x  - 6 x + 9) + 2 y  + 2 x
 + 82
(%i13) solve([sqrt((x-a)^2+(y-b)^2)=sqrt((x+3)^2+y^2), (a-3)^2+b^2=64, 8=sqrt((x+3)^2+y^2)+sqrt((x-3)^2+y^2)], [x])
;
(%o13)                                         []
(%i14) contour_plot ((x-3)^2+y^2-64)$
plot3d: Usage.
To plot a single function f of 2 variables v1 and v2:
  plot3d (f, [v1, min, max], [v2, min, max], options)
A parametric representation of a surface with parameters v1 and v2:
  plot3d ([f1, f2, f3], [v1, min, max], [v2, min, max], options)
Several functions depending on the two variables v1 and v2:
  plot3d ([f1, f2, ..., fn, [v1, min, max], [v2, min, max]], options)
 -- an error. To debug this try: debugmode(true);
(%i15) contour_plot ((x-3)^2+y^2-64, [x,-5,8])
;
plotting: range must be of the form [variable, min, max]; found: [palette, false]
 -- an error. To debug this try: debugmode(true);
(%i16) contour_plot ((x-3)^2+y^2-64, [x,-5,8], [y,-8,8]);

(%o16) 
(%i17) contour_plot ([(x-3)^2+y^2-64,x,y], [x,-5,8], [y,-8,8]);
(%o17) 
(%i18) contour_plot ((x-3)^2+y^2-64, [x,-5,8], [y,-8,8], [box, false]);
(%o18) 
(%i19) contour_plot ((x-3)^2+y^2-64, [x,-5,8], [y,-8,8], [box, false], [plot_format, xmaxima]);
contour_plot: plot_format = xmaxima not recognized; must be a gnuplot format.
(%o19)                                        false
(%i20) 

11:17 PM Go to sleep.

posted on 2017-11-10 23:18  清风2009  阅读(251)  评论(0编辑  收藏  举报