使用 Maxima 開始使用 Fedora Linux


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

安裝最大值

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

sudo dnf install maxima

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

gnome 終端 Fedora Linux 上的 Maxima 會話gnome 終端 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, 極光幾何視圖 作為圖形程序。 Maxima 軟件包將 gnuplot 作為 Fedora Linux 的依賴項提供,因此 Maxima 使用 gnuplot_pipes 作為繪圖格式。要檢查繪圖格式,請在 Maxima 中使用以下命令。

get_plot_option(plot_format);

下面是一些繪圖示例。

(%i1) plot2d([sin(x), cos(x)], [x, -2*%pi, 2*%pi]);
sin 和 cos 函數的二維圖。使用 Maxima 的 2D 繪圖
(%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 科學指南.