Maxima Fedora Linux 簡介


千里馬 是一個開源計算機代數係統 (CAS),具有強大的符號、數字和圖形功能。您可以執行矩陣運算,求解導數、積分和常微分方程,以及在二維和三維中繪製函數和數據。所以任何對科學或數學感興趣的人都會發現它很有用。本文介紹如何安裝和使用 Maxima Fedora Linux。

安裝千里馬

Maxima 是一個命令行系統。您可以使用以下命令從官方存儲庫安裝 Maxima Fedora:

sudo dnf install maxima

然後您可以通過調用命令 maxima 從您的終端使用 Maxima。

gnome-terminal Fedora Linux 上的 Maxima 會話gnome-terminal Fedora Linux 34 上的 Maxima 會話

安裝 wxMaxima

最大值 Maxima 的基於文檔的界面。 要在 Fedora Linux 上安裝,請使用以下命令:

sudo dnf install wxmaxima

您可以通過在終端中調用命令 wxmaxima 或從應用程序網格或菜單中單擊其應用程序圖標來啟動 wxMaxima。

wxMaxima 會話 Fedora LinuxwxMaxima 會話 Fedora Linux 34

基本命令

調用 maxima 後,您應該會看到這樣的終端輸出: 上面的照片.

(%i1) 是輸入命令的輸入標籤。 Maxima 命令是可以跨越多行並以分號 (;) 結尾的表達式。 o 標籤表示輸出。在 /* 和 */ 中包含註釋。您可以使用特殊符號百分比 (%) 來指代 Maxima 先前計算的結果。如果不想打印結果,可以用 $ 而不是 ; 結束命令。以下是 Maxima 的基本算術命令:

 (%i1) (19 + 7)/(52 - 2 * 13);
 (%o1)                                  1
 (%i2) 127 / 5;
                                       127
 (%o2)                                 ---
                                        5
 (%i3) float (127 / 5); 
 (%o3)                                25.4
 (%i4) 127.0 / 5;     
 (%o4)                                25.4
 (%i5) sqrt(2.0);
 (%o5)                          1.414213562373095
 (%i6) sin(%pi/2);
 (%o6)                                 1
 (%i7) abs(-12);
 (%o7)                                12
 (%i8) 2+3*%i + 5 - 4*%i;             /*complex arithmetic*/
 (%o8)                              7 - %i

要結束您的 Maxima 會話,請輸入以下命令:

quit();

代數

Maxima 可以展開和分解多項式。

(%i1) (x+y)^3 + (x+y)^2 + (x+y);
                                3          2
(%o1)                    (y + x)  + (y + x)  + y + x
(%i2) expand(%);
          3        2    2      2                  3    2
(%o2)    y  + 3 x y  + y  + 3 x  y + 2 x y + y + x  + x  + x
(%i3) factor(%);
                          2                2
(%o3)           (y + x) (y  + 2 x y + y + x  + x + 1)

要將 y 替換為 z,將 x 替換為 5,請參考上面的輸出標籤並使用以下命令:

(%i4) %o3, y=z, x=5;
                                    2
(%o4)                     (z + 5) (z  + 11 z + 31)

三角恆等式很容易操縱。

(%i1) sin(x) * cos(x+y)^2;
                                       2
(%o1)                        sin(x) cos (y + x)
(%i2) trigexpand(%);
                                                         2
(%o2)              sin(x) (cos(x) cos(y) - sin(x) sin(y))
(%i3) trigreduce(%o1);
                   sin(2 y + 3 x) - sin(2 y + x)   sin(x)
(%o3)              ----------------------------- + ------
                                 4                   2

您還可以用一個或多個變量求解代數方程。

(%i1) solve(x^2+5*x+6);
 (%o1)                         [x = - 3, x = - 2]
(%i2) solve(x^3 + 1);
                  sqrt(3) %i - 1      sqrt(3) %i + 1
 (%o2)     [x = - --------------, x = --------------, x = - 1]
                        2                   2
(%i3) eqns: [x^2 + y^2 = 9, x + y = 3];
                              2    2
 (%o3)                      [y  + x  = 9, y + x = 3]
 (%i4) solve(eqns, [x,y]);
 (%o4)                 [[x = 3, y = 0], [x = 0, y = 3]]

結石

將 f 定義為 x 的函數。然後我們可以找到函數的極限、導數和積分。

(%i1) f: x^2;
                                       2
 (%o1)                                x
 (%i2) limit(f,x,0);
 (%o2)                                  0
 (%i3) limit(1/f,x,0);
 (%o3)                                 inf
 (%i4) diff(f, x);
 (%o4)                                2 x
 (%i5) integrate(f, x);
                                       3
                                      x
 (%o5)                                --
                                      3

要找到定積分,請稍微修改上面的語法。

 (%i6) integrate(f, x, 1, inf);
 defint: integral is divergent.
  -- an error. To debug this try: debugmode(true);
 (%i7) integrate(1/f, x, 1, inf);
 (%o7)                                 1

Maxima 可以進行泰勒展開。這是 sin(x) 最多 5 項的泰勒展開。

(%i1) taylor(sin(x), x, 0, 5);
                                   3    5
                                  x    x
 (%o1)/T/                     x - -- + --- + . . .
                                  6    120

要以未計算的形式表示導數,請使用語法

(%i2) 'diff(y,x);
                                       dy
 (%o2)                                 --
                                       dx

ode2 函數可以求解一階和二階常微分方程 (ODE)。

(%i1) 'diff(y,x,2) + y = 0;
                                    2
                                   d y
 (%o1)                             --- + y = 0
                                     2
                                   dx
 (%i2) ode2(%o1,y,x);
 (%o2)                     y = %k1 sin(x) + %k2 cos(x)

矩陣操作

要輸入矩陣,請使用 entermatrix 函數。這是一個常見的 2×2 矩陣的示例。

(%i1) A: entermatrix(2,2);
 Is the matrix  1. Diagonal  2. Symmetric  3. Antisymmetric  4. General
 Answer 1, 2, 3 or 4 : 
 4;
 Row 1 Column 1: 
 1;
 Row 1 Column 2: 
 2;
 Row 2 Column 1: 
 3;
 Row 2 Column 2: 
 4;
 Matrix entered.
                                    [ 1  2 ]
 (%o1)                              [      ]
                                    [ 3  4 ]

然後你可以找到行列式、轉置、逆、特徵值和特徵向量。

(%i2) determinant(A);
 (%o2)                                 - 2
 (%i3) transpose(A);
                                    [ 1  3 ]
 (%o3)                              [      ]
                                    [ 2  4 ]
(%i4) invert(A);
                                  [ - 2   1  ]
                                  [          ]
 (%o4)                            [  3     1 ]
                                  [  -   - - ]
                                  [  2     2 ]
(%i5) eigenvectors(A);
            sqrt(33) - 5  sqrt(33) + 5
 (%o5) [[[- ------------, ------------], [1, 1]], 
                 2             2
               sqrt(33) - 3         sqrt(33) + 3
       [[[1, - ------------]], [[1, ------------]]]]
                    4                    4

在輸出標籤 (%o5) 中,第一個數組給出特徵值,第二個數組給出每個特徵值的重數,接下來的兩個給出矩陣 A 的對應特徵向量。

數字

可以使用千里馬 gnuplot, 極光幾何視圖 作為圖形程序。 Fedora Linux 上的 Maxima 包附帶 gnuplot 作為依賴項,因此 Maxima 使用 gnuplot_pipes 作為繪圖格式。要檢查繪圖格式,請在 Maxima 中使用以下命令。

get_plot_option(plot_format);

下面是一些繪圖示例。

(%i1) plot2d([sin(x), cos(x)], [x, -2*%pi, 2*%pi]);
sin 和 cos 函數的二維圖。使用 Maxima 繪製二維圖
(%i2) plot3d(sin(sqrt(x^2+y^2)), [x, -7, 7], [y, -7, 7]);
具有最大值的 3D 圖。Maxima 中的 3D 繪圖
(%i3) mandelbrot ([iterations, 30], [x, -2, 1], [y, -1.2, 1.2],
             [grid,400,400]);
Mandelbrot 集的插圖。曼德爾布羅集

有關 Maxima 及其功能的更多信息,請參閱 官方網站 什麼時候 文檔.

Fedora Linux 有很多科學用途的工具。可發現的 Fedora 科學指南.