38 1234
發新話題
打印

用Maxima解題

推到噗浪
推到臉書
由邊長為1的正三角形堆疊n層,試問邊長為6時(即\( a_6 \)),所有大大小小之平行四邊形總數為
(101陽明高中,https://math.pro/db/viewthread.php?tid=1433&page=1#pid6580)
公式:\( \displaystyle 3C_{4}^{n+2} \)

可以再進一步問正三角形個數有多少
M. E. Larsen, The eternal triangle - a history of a counting problem, College Math. J., 20 (1989), 370-392.
http://www.google.com/search?q=T ... chrome&ie=UTF-8
http://oeis.org/A002717
http://www.math.ku.dk/~mel/mel.pdf
正三角形個數\( \displaystyle \Bigg[\; \frac{n(n+2)(2n+1)}{8} \Bigg]\; \)
其中還可以細分兩種正三角形
△正三角形個數:\( \displaystyle C_3^{n+2} \)
▽正三角形個數:\( \displaystyle \frac{n(n+2)(2n-1)}{24}-\frac{\delta(n)}{8} \) , \( \displaystyle \delta(n)=\cases{0 \text{for $n$ even} \cr 1 \text{for $n$ odd}} \)



正三角形個數公式f(n)
(%i1) f(n):=floor((n*(n+2)*(2*n+1))/8);
(%o1) \( \displaystyle f(n) :=floor \Bigg(\;\frac{n(n+2)(2n+1)}{8} \Bigg)\; \)

△正三角形個數
(%i2) Delta(n):=binomial(n+2,3);
(%o2) \( \Delta(n) :=\Bigg(\; \matrix{n+2 \cr 3} \Bigg)\; \)

定義δ(n)函數
(%i3) delta(n):=if evenp(n)=true then 0 else 1;
(%o3) \( \delta(n) \):=if evenp(n)=true then 0 else 1

▽正三角形個數
nabla符號為▽,http://en.wikipedia.org/wiki/Nabla_symbol

(%i4) nabla(n):=n*(n+2)*(2*n-1)/24-delta(n)/8;
(%o4) \( \displaystyle nabla(n) :=\frac{n(n+2)(2n-1)}{24}-\frac{\delta(n)}{8} \)

以論文第1頁的n=6為例
 正三角形78個
△正三角形56個
▽正三角形22個

(%i5)
n:6;
f(n);
Delta(n);
nabla(n);

(%o5) 6
(%o6) 78
(%o7) 56
(%o8) 22

[ 本帖最後由 bugmens 於 2014-8-12 09:15 AM 編輯 ]

TOP

隨機產生數獨
http://www.cymric.jp/maxima/sudoku.html

下載sudoku.mac
將檔案放在C:\Program Files\Maxima-5.31.2\share\maxima\5.31.2\share目錄底下
開啟maxima輸入以下的指令

(%i1) load("sudoku.mac");
(%o1) "C:/PROGRA~1/MAXIMA~1.2/share/maxima/5.31.2/share/sudo.mac"

有50%的機會傳回-1代表產生數獨失敗
(%i2) sudoku();
(%o2) \( \displaystyle \left[ \matrix{9 & 2 & 1 & 5 & 3 & 7 & 6 & 8 & 4 \cr
4 & 3 & 7 & 8 & 2 & 6 & 1 & 5 & 9 \cr
6 & 8 & 5 & 4 & 9 & 1 & 3 & 2 & 7 \cr
2 & 1 & 8 & 7 & 6 & 9 & 4 & 3 & 5 \cr
3 & 9 & 4 & 2 & 8 & 5 & 7 & 6 & 1 \cr
7 & 5 & 6 & 1 & 4 & 3 & 2 & 9 & 8 \cr
5 & 4 & 9 & 3 & 7 & 2 & 8 & 1 & 6 \cr
8 & 6 & 3 & 9 & 1 & 4 & 5 & 7 & 2 \cr
1 & 7 & 2 & 6 & 5 & 8 & 9 & 4 & 3} \right] \)

[ 本帖最後由 bugmens 於 2014-8-12 09:14 AM 編輯 ]

TOP

設銳角三角形ABC的外接圓半徑為8,已知外接圓圓心到\( \overline{AB} \)的距離2,而到\( \overline{BC} \)的距離為7,則\( \overline{AC}= \)?
(102學測)

學測這題只問\( \overline{AC} \)長度所以比較簡單,可以改求外接圓圓心到\( \overline{AC} \)的距離為何?但為了數字好算,我寫了一個小程式來找有哪些正整數解。

設外接圓圓心為R,圓心到\( \overline{AB} \)的距離為a,到\( \overline{BC} \)的距離為b,到\( \overline{CA} \)的距離為c,試找出正整數解\( (a,b,c,R)= \)?

\( \displaystyle sin B=sin(\theta_1+\theta_2)=sin \theta_1 cos \theta_2+cos \theta_1 sin \theta_2=\frac{a}{R} \cdot \frac{\sqrt{R^2-b^2}}{R}+\frac{\sqrt{R^2-a^2}}{R} \cdot \frac{b}{R} \)

AC弧的圓周角為\( \theta_1+\theta_2 \),圓心角為\( 2 \theta \),所以\( 2(\theta_1+\theta_2)=2 \theta \),\( sin(\theta_1+\theta_2)=sin \theta \)

\( \displaystyle \frac{a \sqrt{R^2-b^2}+b \sqrt{R^2-a^2}}{R^2}=\frac{\sqrt{R^2-c^2}}{R} \)

\( a \sqrt{R^2-b^2}+b \sqrt{R^2-a^2}-R \sqrt{R^2-c^2}=0 \)



要檢驗的式子
(%i1) equation:a*sqrt(R^2-b^2)+b*sqrt(R^2-a^2)-R*sqrt(R^2-c^2);
(%o1) \( -R \sqrt{R^2-c^2}+a \sqrt{R^2-b^2}+b \sqrt{R^2-a^2} \)

將符合上式的(a,b,c,R)印出來
(%i2)
for R:3 thru 30 do
  (for c:1 thru R-1 do
     (for b:1 thru c-1 do
        (for a:1 thru b-1 do
           (if ev(equation,[a=a,b=b,c=c,R=R])=0 then
              (print("a=",a,",b=",b,",c=",c,",R=",R)
              )
           )
        )
     )
  );

\( a=2,b=7,c=11,R=14 \)
\( a=2,b=9,c=12,R=16 \)
\( a=6,b=11,c=14,R=21 \)
\( a=1,b=13,c=22,R=26 \)
\( a=4,b=14,c=22,R=28 \)
\( a=3,b=14,c=25,R=30 \)
(%o2) done



範例1:

設銳角三角形\( ABC \)的外接圓半徑為14,已知外接圓圓心到\( \overline{AB} \)的距離2,而到\( \overline{BC} \)的距離為7,則外接圓圓心到\( \overline{CA} \)的距離為?


範例2:
設銳角三角形ABC的外接圓圓心為\( O \),已知圓心\( O \)到\( \overline{AB} \)的距離2,圓心\( O \)到\( \overline{BC} \)的距離為7,圓心\( O \)到\( \overline{CA} \)的距離為11,則外接圓半徑為?
(提示:要改用\( cos(\theta_1+\theta_2)=cos \theta \)計算)


設三角形ABC的外接圓半徑為\( R \),外接圓圓心到三邊的距離為\( a,b,c \),試證:\( R \)為三次方程式\( x^3-(a^2+b^2+c^2)x-2abc=0 \)的一根。

[ 本帖最後由 bugmens 於 2014-10-20 01:29 PM 編輯 ]

TOP

三個半徑為1的圓兩兩外切且內切於一個正方形,試問正方形的邊長是   
(102松山工農,https://math.pro/db/thread-1655-1-1.html)


正方形邊長為1,內部8個等圓相切如圖,若圓半徑為\( \displaystyle \frac{a+\sqrt{b}-\sqrt{c}}{4} \),其中\( a,b,c \)均為自然數,求\( (a,b,c)= \)   
(103彰化高中科學班,https://math.pro/db/attachment.p ... 9c&t=1441633124)


這個網頁列出了1到24個單位圓的最小正方形邊長為何?
http://www2.stetson.edu/~efriedma/cirinsqu/
我利用maxima的非線性規劃函數fmin_cobyla求2,3,5個單位圓的最小正方形邊長,只是\( n=5 \)時就得不到正確答案。

要先載入fmin_cobyla.mac才能使用fmin_cobyla指令
(%i1) load("fmin_cobyla.mac");
(%o1) C:/Program Files/Maxima-sbcl-5.37.1/share/maxima/5.37.1/share/cobyla/fmin_cobyla.mac

設定5位小數
(%i2) fpprintprec:5;
(%o2) 5

求內含2個單位圓的最小正方形邊長(s=2+√2)
(%i3)
solution:fmin_cobyla(s,[s,x1,y1,x2,y2],[1,1,1,1,1],
                                constraints=[1<=x1,x1<=s-1,
                                                    1<=y1,y2<=s-1,
                                                    1<=x2,x2<=s-1,
                                                    1<=y2,y2<=s-1,
                                                    sqrt((x1-x2)^2+(y1-y2)^2)>=2]);

(%o3) \( [[s=3.4142,x1=2.4142,y1=1.0,x2=1.0,y2=2.4142],3.4142,62,0] \)

求內含3個單位圓的最小正方形邊長(s=2+1/√2+√6/2)
(%i4)
solution:fmin_cobyla(s,[s,x1,y1,x2,y2,x3,y3],[1,1,1,1,1,1,1],
                                constraints=[1<=x1,x1<=s-1,
                                                    1<=y1,y2<=s-1,
                                                    1<=x2,x2<=s-1,
                                                    1<=y2,y2<=s-1,
                                                    1<=x3,x3<=s-1,
                                                    1<=y3,y3<=s-1,
                                                    sqrt((x1-x2)^2+(y1-y2)^2)>=2,
                                                    sqrt((x2-x3)^2+(y2-y3)^2)>=2,
                                                    sqrt((x3-x1)^2+(y3-y1)^2)>=2]);

(%o4) \( [[s=3.9319,x1=1.0,y1=1.0,x2=1.5176,y2=2.9319,x3=2.9319,y3=1.5176],3.9319,111,0] \)

求內含5個單位圓的最小正方形邊長(s=2+2√2)
只是無法得到正確答案

(%i5)
solution:fmin_cobyla(s,[s,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5],[1,2,1,3,1,4,2,4,1,2,1],
                                constraints=[1<=x1,x1<=s-1,
                                                    1<=y1,y2<=s-1,
                                                    1<=x2,x2<=s-1,
                                                    1<=y2,y2<=s-1,
                                                    1<=x3,x3<=s-1,
                                                    1<=y3,y3<=s-1,
                                                    1<=x4,x4<=s-1,
                                                    1<=y4,y4<=s-1,
                                                    1<=x5,x5<=s-1,
                                                    1<=y5,y5<=s-1,
                                                    sqrt((x1-x2)^2+(y1-y2)^2)>=2,
                                                    sqrt((x1-x3)^2+(y1-y3)^2)>=2,
                                                    sqrt((x1-x4)^2+(y1-y4)^2)>=2,
                                                    sqrt((x1-x5)^2+(y1-y5)^2)>=2,
                                                    sqrt((x2-x3)^2+(y2-y3)^2)>=2,
                                                    sqrt((x2-x4)^2+(y2-y4)^2)>=2,
                                                    sqrt((x2-x5)^2+(y2-y5)^2)>=2,
                                                    sqrt((x3-x4)^2+(y3-y4)^2)>=2,
                                                    sqrt((x3-x5)^2+(y3-y5)^2)>=2,
                                                    sqrt((x4-x5)^2+(y4-y5)^2)>=2]);

(%o5) \( [[s=5.0907,x1=1.0,y1=3.0,x2=3.0,y2=1.0,x3=2.6764,y3=4.0907,x4=4.0907,y4=2.6764,x5=1.0,y5=1.0],5.0907,236,0] \)

TOP

原本maxima都是用Gnuplot當作預設的繪圖介面,這個網列有許多maxima和Gnuplot的範例
http://riotorto.users.sourceforge.net/Maxima/vtk/index.html

最新的windows的maxima 5.38加入VTK,關於VTK我取自wiki的介紹。

視覺化工具函式庫(VTK, Visualization Toolkit)是一個開放源碼,跨平台、支援平行處理(VTK曾用於處理大小近乎1個Petabyte的資料,其平台為美國Los Alamos國家實驗室所有的具1024個處理器之大型系統)的圖形應用函式庫。
https://zh.wikipedia.org/wiki/VTK

這個網頁列出非常多maxima和VTK的範例
http://riotorto.users.sourceforge.net/vtk/


(%i1) load("draw") $

(%i2) draw_renderer : 'vtk $

範例取自http://riotorto.users.sourceforge.net/vtk/solids/index.html
(%i3)
draw3d(
    color = red,
    sphere([0,2,0],1),
    color = green,
    sphere([0,2,2],1),
    color = blue,
    sphere([0,2,4],1) ) $



[ 本帖最後由 bugmens 於 2016-12-24 06:32 AM 編輯 ]

TOP

解\(2x^2-11[\;x ]\;+12=0 \)
(建中通訊解題第24期,http://web2.ck.tp.edu.tw/~mathwe ... 30-15&Itemid=37)

若\(x\)是實數,定義\([\;x ]\;\)表示小於或等於\(x\)的最大整數,試求方程式\( 2x^2-5[\;x ]\;+1=0 \)的解。
(建中通訊解題第52期,http://web2.ck.tp.edu.tw/~mathwe ... 30-15&Itemid=37)

[]表高斯符號,求解\(3x^2-19 \cdot [\;x ]\;+20=0\)。
(105高雄餐旅大學附屬高中,https://math.pro/db/thread-2527-1-2.html)

我以建中通訊解題第24期這題示範如何用maxima解題,網友可自行更換係數測試。

要先載入solve_rat_ineq才能使用solve_rat_ineq指令
(%i1) load("solve_rat_ineq");
(%o1) C:\maxima-5.38.0\share\maxima\5.38.0_dirty\share\solve_rat_ineq\solve_rat_ineq.mac

高斯函數方程式2x^2-11[x]+12=0
(%i2) Equation:2*x^2-11*floor(x)+12;
(%o2) \(-11 floor(x)+2x^2+12 \)

移項得到[x]=(2x^2+12)/11
(%i3) FloorX:solve(Equation,floor(x));
(%o4) \( \displaystyle [\; floor(x)=\frac{2x^2+12}{11} ]\; \)

利用x-1<[x],求x的範圍
(%i4) x-1<rhs(FloorX[1]);
(%o4) \( \displaystyle x-1<\frac{2x^2+12}{11} \)

x的範圍為所有實數
(%i5) solve_rat_ineq(%);
0 errors, 0 warnings
(%o5) all

利用[x]≦x,求x的範圍
(%i6) rhs(FloorX[1])<=x;
(%o6) \( \displaystyle \frac{2x^2+12}{11}<=x \)

x的範圍為3/2≦x≦4
(%i7) solve_rat_ineq(%);
(%o7) \( \displaystyle [\;[\; x>=\frac{3}{2},x<=4 ]\; ]\; \)

3/2≦x≦4範圍內,[x]有2,3,4三種可能
(%i8) FloorXInteger:create_list(x,x,ceiling(rhs(%[1][1])),floor(rhs(%[1][2])));
(%o8) \( [\;2,3,4 ]\; \)

將[x]值代回原方程式,解出x
(%i9)
for floorx in FloorXInteger do
  (print("當[x]=",floorx,"時"),
   equation:ev(Equation,floor(x)=floorx),
   print("解方程式",equation,"=0"),
   solution:solve(equation,x),
   print("解為",solution),
   for sol in solution do
      (X:rhs(sol),
       if floor(rhs(sol))=floorx then
         (print("驗算[",X,"]=",floor(X),"是否等於",floorx,"是,正確答案為",sol))
       else
         (print("驗算[",X,"]=",floor(X),"是否等於",floorx,"否,不為正確答案"))
      ),
     print(" ")
  );

當\([\;x ]\;=2\)時
解方程式\( 2x^2-10=0 \)
解為\( [\;x=-\sqrt{5},x=\sqrt{5} ]\; \)
驗算\([\;-\sqrt{5} ]\;=-3\)是否等於2 否,不為正確答案
驗算\([\; \sqrt{5} ]\;=2\)是否等於2 是,正確答案為\(x=\sqrt{5}\)

當\([\;x ]\;=3\)時
解方程式\(2x^2-21=0\)
解為\( \displaystyle [\;x=-\frac{\sqrt{21}}{\sqrt{2}},x=\frac{\sqrt{21}}{\sqrt{2}} ]\; \)
驗算\( \displaystyle \Bigg[\; -\frac{\sqrt{21}}{\sqrt{2}} \Bigg]\;=-4 \)是否等於3 否,不為正確答案
驗算\( \displaystyle \Bigg[\; \frac{\sqrt{21}}{\sqrt{2}} \Bigg]\;=3 \)是否等於3 是,正確答案為\( \displaystyle x=\frac{\sqrt{21}}{\sqrt{2}} \)

當\([\;x ]\;=4\)時
解方程式\(2x^2-32=0\)
解為\( [\;x=-4,x=4 ]\; \)
驗算\([\;-4 ]\;=-4\)是否等於4 否,不為正確答案
驗算\([\;4 ]\;=4\)是否等於4 是,正確答案為\(x=4\)
(%o9) done

[ 本帖最後由 bugmens 於 2016-7-14 08:56 PM 編輯 ]

TOP

已知\( \Delta ABC \)三邊所在的三直線\( L_{AB} \):\( a_1x+b_1y=c_1 \),\( L_{AC} \):\( a_2x+b_2y=c_2 \),\( L_{BC} \):\(a_3x+b_3y=c_3\),則\( \Delta \)的面積為\( \displaystyle \frac{1}{2}\frac{\left| \matrix{a_1&b_1&c_1 \cr a_2&b_2&c_2 \cr a_3&b_3&c_3} \right|^2}{\left| \matrix{a_1&b_1\cr a_2&b_2} \right| \cdot \left| \matrix{a_2&b_2\cr a_3&b_3} \right| \cdot \left| \matrix{a_3&b_3\cr a_1&b_1} \right|} \)之絕對值。
阮瑞泰(2013):已知三角形三邊所在直線方程式之面積公式。科學教育月刊,362 期(9月號),p43~48。
http://www.sec.ntnu.edu.tw/Month ... 修改97-印).pdf
陳建燁(2015): 「已知三邊直線方程式之三角形面積公式」的另一種證法。科學教育月刊,第 382 期(9 月號),p32~34。
http://www.sec.ntnu.edu.tw/Month ... 式」(月刊).pdf

改變變數顯示順序
例:x+y+z+1=0;
原本為z+y+x+1=0;
變成1+x+y+z=0;

(%i1) powerdisp:true;
(%o1) true

計算三角形面積副程式
(%i2)
Triangle(L1,L2,L3):=block
([augcoef,subaugcoef,detaugcoef,detsubaugcoef],
augcoef:augcoefmatrix([L1,L2,L3],[x,y]),
detaugcoef:determinant(augcoef),
print("取出三個直線的係數",matrix([L1],[L2],[L3]),"=>",augcoef,",行列式值=",detaugcoef),
subaugcoef:create_list(submatrix(i,augcoef,3),i,1,3),
detsubaugcoef:create_list(determinant(subaugcoef[ i ]),i,1,3),
print("取",matrix(["L2:",L2],["L3:",L3]),"的x,y係數=>",subaugcoef[1],"行列式值=",detsubaugcoef[1]),
print("取",matrix(["L1:",L1],["L3:",L3]),"的x,y係數=>",subaugcoef[2],"行列式值=",detsubaugcoef[2]),
print("取",matrix(["L1:",L1],["L2:",L2]),"的x,y係數=>",subaugcoef[3],"行列式值=",detsubaugcoef[3]),
print("三角形面積=1/2*",augcoef,"^2/|",subaugcoef[1],subaugcoef[2],subaugcoef[3],"|"),
print("=1/2*",detaugcoef,"^2/|",detsubaugcoef[1],"*",detsubaugcoef[2],"*",detsubaugcoef[3],"|"),
print("=",1/2*detaugcoef^2/abs(detsubaugcoef[1]*detsubaugcoef[2]*detsubaugcoef[3]))
)$


三個直線方程式
(%i5)
L1:x+y=1;
L2:x-y=1;
L3:x+2*y=4;

(%o3) \( x+y=1 \)
(%o4) \( x-y=1 \)
(%o5) \( x+2y=4 \)

得到三角形面積
(%i6) Triangle(L1,L2,L3);
取出三個直線的係數\( \left[ \matrix{x+y=1 \cr x-y=1 \cr x+2y=4} \right] \)=>\( \left[ \matrix{1&1&-1\cr 1&-1&-1\cr 1&2&-4} \right] \),行列式值\(=6\)
取\( \left[ \matrix{L2:&x-y=1 \cr L3:&x+2y=4}\right] \)的\(x,y\)係數=>\( \left[ \matrix{1&-1 \cr 1&2} \right] \)行列式值\(=3\)
取\( \left[ \matrix{L1:&x+y=1 \cr L3:&x+2y=4}\right] \)的\(x,y\)係數=>\( \left[ \matrix{1&1 \cr 1&2} \right] \)行列式值\(=1\)
取\( \left[ \matrix{L1:&x+y=1 \cr L2:&x-y=1}\right] \)的\(x,y\)係數=>\( \left[ \matrix{1&1 \cr 1&-1} \right] \)行列式值\(=-2\)
三角形面積\( =1/2*\left[ \matrix{1&1&-1\cr 1&-1&-1\cr 1&2&-4} \right]^2/|\; \left[ \matrix{1&-1\cr 1&2}\right] \left[ \matrix{1&1\cr 1&2}\right] \left[ \matrix{1&1\cr 1&-1}\right] |\; \)
\( =1/2*6^2/|\; 3*1*-2 |\; \)
\( =3\)
(%o6)
3

___________________________________
在空間中,已知某一四面體\(ABCD\)的四個面所在的平面方程式分別為:
\(E_1\):\( a_1x+b_1y+c_1z+d_1=0 \),\(E_2\):\(a_2x+b_2y+c_2z+d_2=0\)
\(E_3\):\(a_3x+b_3y+c_3z+d_3=0\),\(E_4\):\(a_4x+b_4y+c_4z+d_4=0\)。
令\(A\)為\(E_2,E_3,E_4\)三平面的交點,\(B\)為\(E_1,E_3,E_4\)三平面的交點,
\(C\)為\(E_1,E_2,E_4\)三平面的交點,\(D\)為\(E_1,E_2,E_3\)三平面的交點。
則四面體體積\( \displaystyle V_{ABCD}=\frac{1}{6}\cdot \frac{|\; \left| \matrix{a_1&b_1&c_1&d_1 \cr a_2&b_2&c_2&d_2 \cr a_3&b_3&c_3&d_3 \cr a_4&b_4&c_4&d_4} \right| |\;^3}{|\; \left| \matrix{a_2&b_2&c_2 \cr a_3&b_3&c_3 \cr a_4&b_4&c_4} \right| \cdot \left| \matrix{a_1&b_1&c_1 \cr a_3&b_3&c_3 \cr a_4&b_4&c_4} \right| \cdot \left| \matrix{a_1&b_1&c_1 \cr a_2&b_2&c_2 \cr a_4&b_4&c_4} \right| \cdot \left| \matrix{a_1&b_1&c_1 \cr a_2&b_2&c_2 \cr a_3&b_3&c_3} \right| |\;} \)。
陳建燁(2015): 已知四面方程式之四面體體積公式。科學教育月刊,第 388 期(5月號),p32~35。
http://www.sec.ntnu.edu.tw/Month ... 公式(修改).pdf

改變變數顯示順序
例:x+y+z+1=0;
原本為z+y+x+1=0;
變成1+x+y+z=0;

(%i1) powerdisp:true;
(%o1) true

計算四面體體積副程式
(%i2)
Tetrahedron(E1,E2,E3,E4):=block
([augcoef,subaugcoef,detaugcoef,detsubaugcoef],
augcoef:augcoefmatrix([E1,E2,E3,E4],[x,y,z]),
print("取出四個平面的係數",matrix([E1],[E2],[E3],[E4]),"=>",augcoef),
subaugcoef:create_list(submatrix(1,augcoef,i),i,1,4),/*針對第1列降階*/
detsubaugcoef:create_list(determinant(subaugcoef[ i ]),i,1,4),
print("針對第1列降階計算行列式值",augcoef),
print("=+",augcoef[1,1],subaugcoef[1],
         "-",augcoef[1,2],subaugcoef[2],
         "+",augcoef[1,3],subaugcoef[3],
         "-",augcoef[1,4],subaugcoef[4]),
print("=+",augcoef[1,1],"*",detsubaugcoef[1],
         "-",augcoef[1,2],"*",detsubaugcoef[2],
         "+",augcoef[1,3],"*",detsubaugcoef[3],
         "-",augcoef[1,4],"*",detsubaugcoef[4]),
print("=",detaugcoef:determinant(augcoef)),
subaugcoef:create_list(submatrix(i,augcoef,4),i,1,4),/*針對第4行降階*/
detsubaugcoef:create_list(determinant(subaugcoef[ i ]),i,1,4),
print("取",matrix(["E2:",E2],["E3:",E3],["E4:",E4]),"的x,y,z係數=>",subaugcoef[1],",行列式值=",detsubaugcoef[1]),
print("取",matrix(["E1:",E1],["E3:",E3],["E4:",E4]),"的x,y,z係數=>",subaugcoef[2],",行列式值=",detsubaugcoef[2]),
print("取",matrix(["E1:",E1],["E2:",E2],["E4:",E4]),"的x,y,z係數=>",subaugcoef[3],",行列式值=",detsubaugcoef[3]),
print("取",matrix(["E1:",E1],["E2:",E2],["E3:",E3]),"的x,y,z係數=>",subaugcoef[4],",行列式值=",detsubaugcoef[4]),
print("四面體體積=1/6*|",augcoef,"|^3/|",subaugcoef[1],"*",subaugcoef[2],"*",subaugcoef[3],"*",subaugcoef[4],"|"),
print("=1/6*|",detaugcoef,"|^3/|",detsubaugcoef[1],"*",detsubaugcoef[2],"*",detsubaugcoef[3],"*",detsubaugcoef[4],"|"),
print("=",1/6*abs(detaugcoef)^3/abs(detsubaugcoef[1]*detsubaugcoef[2]*detsubaugcoef[3]*detsubaugcoef[4]))
)$


4個平面方程式
(%i6)
E1:x+y+z-2=0;
E2:x+y-z=0;
E3:x-y+z=0;
E4:-x+y+z=0;

(%o3) \( -2+x+y+z=0 \)
(%o4) \( x+y-z=0 \)
(%o5) \( x-y+z=0 \)
(%o6) \( -x+y+z=0 \)

得到四面體體積
(%i7) Tetrahedron(E1,E2,E3,E4);
取出四個平面的係數\( \left[ \matrix{-2+x+y+z=0 \cr x+y-z=0 \cr x-y+z=0 \cr -x+y+z=0} \right] \)=>\( \left[ \matrix{1&1&1&-2 \cr 1&1&-1&0 \cr 1&-1&1&0 \cr -1&1&1&0} \right] \)
針對第1列降階計算行列式值\( \left[ \matrix{1&1&1&-2 \cr 1&1&-1&0 \cr 1&-1&1&0 \cr -1&1&1&0} \right] \)
\( =+1 \left[ \matrix{1&-1&0\cr -1&1&0\cr 1&1&0} \right]-1\left[ \matrix{1&-1&0\cr 1&1&0\cr -1&1&0} \right]+1\left[ \matrix{1&1&0\cr 1&-1&0\cr -1&1&0} \right]--2\left[ \matrix{1&1&-1\cr 1&-1&1\cr -1&1&1} \right] \)
\( =+1*0-1*0+1*0--2*-4 \)
\(=-8\)
取\( \left[ \matrix{L2:&x+y-z=0 \cr L3:&x-y+z=0 \cr L4:&-x+y+z=0} \right] \)的\(x,y,z\)係數=>\( \left[ \matrix{1&1&-1 \cr 1&-1&1 \cr -1&1&1 } \right] \),行列式值\(=-4\)
取\( \left[ \matrix{L1:&-2+x+y+z=0 \cr L3:&x-y+z=0 \cr L4:&-x+y+z=0} \right] \)的\(x,y,z\)係數=>\( \left[ \matrix{1&1&1 \cr 1&-1&1 \cr -1&1&1 } \right] \),行列式值\(=-4\)
取\( \left[ \matrix{L1:&-2+x+y+z=0 \cr L2:&x+y-z=0 \cr L4:&-x+y+z=0} \right] \)的\(x,y,z\)係數=>\( \left[ \matrix{1&1&1 \cr 1&1&-1 \cr -1&1&1 } \right] \),行列式值\(=4\)
取\( \left[ \matrix{L1:&-2+x+y+z=0 \cr L2:&x+y-z=0& \cr L3:&x-y+z=0&} \right] \)的\(x,y,z\)係數=>\( \left[ \matrix{1&1&1 \cr 1&1&-1 \cr 1&-1&1} \right] \),行列式值\(-4\)
四面體體積\(=1/6*|\; \left[ \matrix{1&1&1&-2\cr 1&1&-1&0\cr 1&-1&1&0\cr -1&1&1&0}\right] |\;^3/|\; \left[ \matrix{1&1&-1 \cr 1&-1&1 \cr -1&1&1}\right]*\left[ \matrix{1&1&1 \cr 1&-1&1 \cr -1&1&1}\right]*\left[ \matrix{1&1&1 \cr 1&1&-1 \cr -1&1&1}\right]*\left[ \matrix{1&1&1 \cr 1&1&-1 \cr 1&-1&1}\right] |\;\)
\( =1/6*|\; -8 |\;^3/|\; -4*-4*4*-4 |\; \)
\( =\displaystyle \frac{1}{3} \)
(%o7) \( \displaystyle \frac{1}{3} \)

[ 本帖最後由 bugmens 於 2016-12-3 08:35 PM 編輯 ]

TOP

用行列式計算平面上的平行四邊形面積與空間中的平行六面體體積
http://www.sec.ntnu.edu.tw/Month ... (月刊修改).pdf
___________________________________

已知\( \Bigg\{\; \matrix{t_1 \le a_1x+b_1y \le t_2 \cr s_1 \le a_2x+b_2y \le s_2} \)求滿足條件的點\((x,y)\)所形成的平行四邊形面積\( \displaystyle =\frac{(t_2-t_1)(s_2-s_1)}{\left|\ \matrix{a_1&b_1 \cr a_2&b_2} \right|\ } \)的絕對值。

我以100新北市國中聯招這題示範如何使用Parallelogram(L1,L2)副程式。

在坐標平面上\(L_1\):\(x-y=0\)、\( L_2 \):\( x-y=h \),\( h<0 \)、\( L_3 \):\( \displaystyle y=-\frac{5}{2} \)及\(x\)軸四條直線圍出一個面積為10的平行四邊形,若直線\(L_2\)與\(y\)軸交點於點\( (0,k) \),則\( k+h \)為何?
(A)0 (B)2 (C)4 (D)8
(100新北市國中聯招,https://math.pro/db/thread-1135-1-1.html)

105.12.7補充
求區域\( S=\{\; (x,y)|\; 0\le a \le 1,0 \le b \le 1,x=a+b+1,y=2a-3b+1 \}\; \)所圍成的區域面積  
(105台南女中,https://math.pro/db/viewthread.php?tid=2488&page=2#pid15152)



改變變數顯示順序
例:x+y+1=0;
原本為y+x+1=0;
變成1+x+y=0;

(%i1) powerdisp:true;
(%o1) true

計算平行四邊形面積副程式
(%i2)
Parallelogram(L1,L2):=block
([coef,detcoef],
coef:coefmatrix([L1[2],L2[2]],[x,y]),
detcoef:determinant(coef),
print("取出二個直線的x,y係數",matrix([L1[2]],[L2[2]]),"=>",coef,",行列式值=",detcoef),
print("=|(",L1[3],"-",L1[1],")(",L2[3],"-",L2[1],")/",coef,"|"),
print("=|",L1[3]-L1[1],"*",L2[3]-L2[1],"/",detcoef,"|"),
print("=",abs((L1[3]-L1[1])*(L2[3]-L2[1])/detcoef))
)$


求1≦2x+3y≦4所圍成的平行四邊形面積?
 5≦6x+7y≦8

(%i4)
L1:[1,2*x+3*y,4];
L2:[5,6*x+7*y,8];

(%o3) \( [\; 1,2x+3y,4 ]\; \)
(%o4) \( [\; 5,6x+7y,8 ]\; \)

求平行四邊形面積
(%i5) Parallelogram(L1,L2);
取出二個直線的\(x,y\)係數\( \left[ \matrix{2x+3y \cr 6x+7y} \right] \)=>\( \left[ \matrix{2&3 \cr 6&7} \right] \),行列式值\(=-4\)
\( =|\; (4-1)(8-5)/ \left[ \matrix{2&3 \cr 6&7} \right] |\; \)
\( =|\; 3*3/-4 |\; \)
\( \displaystyle =\frac{9}{4}\)
(%o5) \( \displaystyle \frac{9}{4} \)

h≦x-y≦0,圍出面積為10的平行四邊形,h<0,求h=?
-5/2≦y≦0
(100新北市國中聯招)

(%i7)
L1:[h,x-y,0];
L3:[-5/2,y,0];

(%o6) \( [\;h,x-y,0 ]\; \)
(%o7) \( \displaystyle [\; -\frac{5}{2},y,0 ]\; \)

(%i8) Parallelogram(L1,L2)=10;
取出二個直線的\( x,y \)係數\( \left[ \matrix{x-y \cr 6x+7y} \right] \)=>\( \left[ \matrix{1&-1 \cr 6&7} \right] \),行列式值\(=13\)
\( =|\; (0-h)(8-5)/ \left[ \matrix{1&-1 \cr 6&7} \right] |\; \)
\( =|\; -h*3/13 |\; \)
\( \displaystyle =\frac{3 |\; h |\;}{13} \)
(%o8) \( \displaystyle \frac{3 |\; h |\;}{13}=10 \)

得到h=-130/3(正不合)
(%i9) to_poly_solve(%,h);
to_poly_solve: to_poly_solver.mac is obsolete; I'm loading to_poly_solve.mac instead.
(%o9) %\( \displaystyle union \left( [\; h=-\frac{130}{3} ]\;,[\; h=\frac{130}{3} ]\; \right)\)

___________________________________

已知\( \cases{\matrix{t_1 \le a_1x+b_1y+c_1z \le t_2 \cr s_1 \le a_2x+b_2y+c_2z \le s_2 \cr u_1 \le a_3x+b_3y+c_3z \le u_2}} \)求滿足條件的\((x,y,z)\)所形成的平行六面體體積\( \displaystyle =\frac{(t_2-t_1)(s_2-s_1)(u_2-u_1)}{\left|\ \matrix{a_1&b_1&c_1 \cr a_2&b_2&c_2 \cr a_3&b_3&c_3} \right|\ } \)的絕對值。

我以2題教甄試題來示範如何使用Parallelepiped(L1,L2,L3)副程式。

由三組平行平面\( \cases{\matrix{0 \le x+2y \le 4 \cr -1 \le x-3y+z \le 3 \cr 1 \le x+3y-2z \le 7}} \)所圍成的平行六面體體積為?
(99文華高中,https://math.pro/db/viewthread.php?tid=924&page=1#pid1993)

設空間中\( P(x,y,z) \)滿足不等式\( \displaystyle \Bigg\{\; \matrix{0 \le x+y \le 2 \cr 0 \le y+z \le 2 \cr 0 \le x+z \le 2} \),此P點之點集合形成一平行六面體,求此平行六面體體積為?
(102新化高中,https://math.pro/db/viewthread.php?tid=1710&page=1#pid9038)




改變變數顯示順序
例:x+y+z+1=0;
原本為z+y+x+1=0;
變成1+x+y+z=0;

(%i1) powerdisp:true;
(%o1) true

計算平行六面體體積副程式
(%i2)
Parallelepiped(L1,L2,L3):=block
([coef,detcoef],
coef:coefmatrix([L1[2],L2[2],L3[2]],[x,y,z]),
detcoef:determinant(coef),
print("取出三個直線的x,y,z係數",matrix([L1[2]],[L2[2]],[L3[2]]),"=>",coef,",行列式值=",detcoef),
print("=|(",L1[3],"-",L1[1],")(",L2[3],"-",L2[1],")(",L3[3],"-",L3[1],")/",coef,"|"),
print("=|",L1[3]-L1[1],"*",L2[3]-L2[1],"*",L3[3]-L3[1],"/",detcoef,"|"),
print("=",abs((L1[3]-L1[1])*(L2[3]-L2[1])*(L3[3]-L3[1])/detcoef))
)$


  0≦x+2y   ≦4
求-1≦x-3y+z ≦3所圍成的平行六面體體積?
  1≦x+3y-2z≦7
(99文華高中)

(%i5)
L1:[0,x+2*y,4];
L2:[-1,x-3*y+z,3];
L3:[1,x+3*y-2*z,7];

(%o3) \( [\; 0,x+2y,4 ]\; \)
(%o4) \( [\; -1,x-3y+z,3 ]\; \)
(%o5) \( [\; 1,x+3y-2z,7 ]\; \)

得到平行六面體體積
(%i6) Parallelepiped(L1,L2,L3);
取出三個直線的\(x,y,z\)係數\( \left[ \matrix{x+2y \cr x-3y+z \cr x+3y-2z} \right] \)=>\( \left[ \matrix{1&2&0\cr 1&-3&-1\cr 1&3&-2} \right] \),行列式值\(=9\)
\( =|\; (4-0)(3--1)(7-1)/\left[ \matrix{1&2&0\cr 1&-3&1\cr 1&3&-2} \right] |\; \)
\( =|\; 4*4*6/9 |\; \)
\( \displaystyle =\frac{32}{3} \)

(%o6) \( \displaystyle \frac{32}{3} \)

 0≦x+y≦2
求0≦y+z≦2所圍成的平行六面體體積?
 0≦x+z≦2
(102新化高中)

(%i9)
L1:[0,x+y,2];
L2:[0,y+z,2];
L3:[0,x+z,2];

(%o7) \( [\; 0,x+y,2 ]\; \)
(%o8) \( [\; 0,y+z,2 ]\; \)
(%o9) \( [\; 0,x+z,2 ]\; \)

得到平行六面體體積
(%i10) Parallelepiped(L1,L2,L3);
取出三個直線的\(x,y,z\)係數\( \left[ \matrix{x+y \cr y+z \cr x+z} \right] \)=>\( \left[ \matrix{1&1&0\cr 0&1&1\cr 1&0&1} \right] \),行列式值\(=2\)
\( =|\; (2-0)(2-0)(2-0)/\left[ \matrix{1&1&0\cr 0&1&1\cr 1&0&1} \right] |\; \)
\( =|\; 2*2*2/2 |\; \)
\( =4 \)
(%o10) 4

[ 本帖最後由 bugmens 於 2016-12-7 04:14 AM 編輯 ]

TOP

 38 1234
發新話題