第 16 章 電腦代數系統的應用策略¶
In [1]:
ratsimp((x^3 - 1)/(x - 1));
Out[1]:
\[\tag{${\it \%o}_{0}$}x^2+x+1\]
▶ 展開與因式分解確認¶
In [2]:
expand((x-2)*(x+3));
factor(x^2 + x - 6);
Out[2]:
\[\tag{${\it \%o}_{1}$}x^2+x-6\]
Out[2]:
\[\tag{${\it \%o}_{2}$}\left(x-2\right)\,\left(x+3\right)\]
In [3]:
solve(2*x - 5 = 7, x);
Out[3]:
\[\tag{${\it \%o}_{3}$}\left[ x=6 \right] \]
▶ 二次方程、聯立方程¶
In [4]:
solve(x^2 - 3*x + 2 = 0, x);
solve([2*x + y = 7, x - y = 1], [x,y]);
Out[4]:
\[\tag{${\it \%o}_{4}$}\left[ x=1 , x=2 \right] \]
Out[4]:
\[\tag{${\it \%o}_{5}$}\left[ \left[ x=\frac{8}{3} , y=\frac{5}{3} \right] \right] \]
In [29]:
load(solve_rat_ineq);
solve_rat_ineq(x^2 - 4 < 0);
plot2d(x^2 - 4, [x, -3, 3])$
Out[29]:
\[\tag{${\it \%o}_{15}$}\mbox{ /home/hcp2/maxima/share/maxima/5.47.0/share/solve\_rat\_ineq/solve\_rat\_ineq.mac }\]
Out[29]:
\[\tag{${\it \%o}_{16}$}\left[ \left[ x>-2 , x<2 \right] \right] \]
In [7]:
makelist(n^2 - 3*n + 2, n, 1, 10);
Out[7]:
\[\tag{${\it \%o}_{10}$}\left[ 0 , 0 , 2 , 6 , 12 , 20 , 30 , 42 , 56 , 72 \right] \]
▶ 檢查遞迴是否正確¶
In [8]:
a[1]:1$
for n:1 thru 10 do a[n+1]:2*a[n]+1$
makelist(a[n], n,1,10);
Out[8]:
\[\tag{${\it \%o}_{13}$}\left[ 1 , 3 , 7 , 15 , 31 , 63 , 127 , 255 , 511 , 1023 \right] \]
In [31]:
plot2d([x^2, x^2 - 4*x + 3], [x, -2, 6])$
In [10]:
solve(y = x^3 + 1, x);
Out[10]:
\[\tag{${\it \%o}_{15}$}\left[ x=\frac{\left(\sqrt{3}\,i-1\right)\,\left(y-1\right)^{\frac{1}{3}}}{2} , x=-\left(\frac{\left(\sqrt{3}\,i+1\right)\,\left(y-1\right)^{\frac{1}{3}}}{2}\right) , x=\left(y-1\right)^{\frac{1}{3}} \right] \]
複合:
In [11]:
f(x):=x^2;
g(x):=x+1;
h(x):=f(g(x));
Out[11]:
\[\tag{${\it \%o}_{16}$}f\left(x\right):=x^2\]
Out[11]:
\[\tag{${\it \%o}_{17}$}g\left(x\right):=x+1\]
Out[11]:
\[\tag{${\it \%o}_{18}$}h\left(x\right):=f\left(g\left(x\right)\right)\]
In [12]:
limit((x^2 - 1)/(x - 1), x, 1);
Out[12]:
\[\tag{${\it \%o}_{19}$}2\]
▶ 導數:¶
In [13]:
diff(sin(x^2), x);
Out[13]:
\[\tag{${\it \%o}_{20}$}2\,x\,\cos x^2\]
▶ 切線:¶
In [14]:
f(x) := x^2 - 3*x + 2;
f1 : diff(f(x), x);
a: 1;
b: f(a); /* x = a 這點的 f(x) 值 */
m: ev(f1, x = a); /* x = a 這點的導數,即切線斜率 */
tangent(x) := b + m*(x - a)$ /* 自訂切線函數 */
tangent(x);
Out[14]:
\[\tag{${\it \%o}_{21}$}f\left(x\right):=x^2-3\,x+2\]
Out[14]:
\[\tag{${\it \%o}_{22}$}2\,x-3\]
Out[14]:
\[\tag{${\it \%o}_{23}$}1\]
Out[14]:
\[\tag{${\it \%o}_{24}$}0\]
Out[14]:
\[\tag{${\it \%o}_{25}$}-1\]
Out[14]:
\[\tag{${\it \%o}_{27}$}1-x\]
▶ 定積分與面積:¶
In [15]:
integrate(x^2 - 4, x, -2, 2);
Out[15]:
\[\tag{${\it \%o}_{28}$}-\left(\frac{32}{3}\right)\]
In [16]:
s:create_list(i+j, i,1,6, j,1,6)$
length(sublist(s, lambda([x], x=7))) / length(s);
Out[16]:
\[\tag{${\it \%o}_{30}$}\frac{1}{6}\]
16.10 統計題:快速求平均數與標準差¶
In [17]:
load(descriptive);
data:[5,7,3,9,10,4];
mean(data), numer;
std(data), numer;
Out[17]:
\[\tag{${\it \%o}_{31}$}\mbox{ /home/hcp2/maxima/share/maxima/5.47.0/share/descriptive/descriptive.mac }\]
Out[17]:
\[\tag{${\it \%o}_{32}$}\left[ 5 , 7 , 3 , 9 , 10 , 4 \right] \]
Out[17]:
\[\tag{${\it \%o}_{33}$}6.333333333333333\]
Out[17]:
\[\tag{${\it \%o}_{34}$}2.5603819159562025\]
In [18]:
kill(all);
Out[18]:
\[\tag{${\it \%o}_{35}$}\mathbf{done}\]
16.11 在物理學學習的應用 ¶
考慮平面拋射體運動,當一顆棒球在地面上被擲出,初速度大小為 $v$ ,初速度與水平線夾角為 $\theta$,考慮水平方向的位移 $$ x(t) = v \, {\cos\theta} \,t $$ 垂直方向的位移 $$ y(t) = v \, {\sin\theta}\,t- {{g\,t^2}\over{2}} $$
In [19]:
v1 : v*cos(θ); /* 初速度的水平分量 */
v2 : v*sin(θ); /* 初速度的垂直分量 */
Out[19]:
\[\tag{${\it \%o}_{0}$}v\,\cos θ\]
Out[19]:
\[\tag{${\it \%o}_{1}$}v\,\sin θ\]
In [20]:
/* 用 eliminate() 來消去時間 t */
eliminate([x - v1 * t, y - v2 * t + (1/2) * g * t^2], [t]);
Out[20]:
\[\tag{${\it \%o}_{2}$}\left[ -\left(2\,v^2\,x\,\cos θ\,\sin θ\right)+2\,v^2\,y\,\cos ^2θ+g\,x^2 \right] \]
In [21]:
/* 解上面的式子,以 y 為未知數 */
solve(%o2 , y);
Out[21]:
\[\tag{${\it \%o}_{3}$}\left[ y=\frac{2\,v^2\,x\,\cos θ\,\sin θ-g\,x^2}{2\,v^2\,\cos ^2θ} \right] \]
In [22]:
expand(%o3); /* 整理式子 */
Out[22]:
\[\tag{${\it \%o}_{4}$}\left[ y=\frac{x\,\sin θ}{\cos θ}-\frac{g\,x^2}{2\,v^2\,\cos ^2θ} \right] \]
很興奮地,我們得到了拋射體的軌跡方程式。
接著,我們要求水平射程,也就是 $y = 0$ 時的 $x$ 值。
In [23]:
E1 : rhs(%o4[1]); /* 取得軌跡方程式的右邊項 */
Out[23]:
\[\tag{${\it \%o}_{5}$}\frac{x\,\sin θ}{\cos θ}-\frac{g\,x^2}{2\,v^2\,\cos ^2θ}\]
In [24]:
E2 : solve(E1 = 0, x);
Out[24]:
\[\tag{${\it \%o}_{6}$}\left[ x=\frac{2\,v^2\,\cos θ\,\sin θ}{g} , x=0 \right] \]
即得到水平射程的式子。
以拋射角 60 度為例,代入式子,
In [25]:
θ:(%pi/3)$ /* 以 60 度為拋射角 */
g:9.8$ /* 重力加速度 */
v:10$ /* 初速度大小 */
In [26]:
float(ev(E2, numer));
Out[26]:
\[\tag{${\it \%o}_{10}$}\left[ x=8.83699391616774 , x=0.0 \right] \]
得到 $x = 0$ 和 $x = 8.84$ 時,$y = 0$,也就是水平射程是 8.84 公尺。
畫出軌跡方程式的圖:
In [33]:
plot2d([(x*sin(θ))/cos(θ)-(g*x^2)/(2*v^2*cos(θ)^2)], [x,0,8.84])$
是不是覺得很開心呢。