如果我有最大值中的多項式x^2+y^2
,那麼最大值將顯示它,如y^2+x^2
。有沒有辦法指定在變量y
之前顯示變量x
?maxima x^2 + y^2中變量的順序變爲y^2 + x^2
回答
Maxima有一個關於對變量進行排序的內置想法,這些變量非常強大,並強加在所有表達式上,以便將它們規範化以進行簡化。在某些方面,這種排序與通常用於手動計算的傳統排序不同,但人們可以習慣。我的建議是接受它 - 因爲它是很難讓Maxima改變它的想法。
也就是說,全局變量powerdisp
管理「+」表達式的顯示。 powerdisp
默認爲false
。當powerdisp
爲true
時,「+」表達式的順序相反。
(%i1) x^2 + y^2;
2 2
(%o1) y + x
(%i2) x^2 + y^2 + 2*x*y;
2 2
(%o2) y + 2 x y + x
(%i3) powerdisp;
(%o3) false
(%i4) powerdisp:true;
(%o4) true
(%i5) %o2;
2 2
(%o5) x + 2 x y + y
(%i6) %o1;
2 2
(%o6) x + y
注意powerdisp
是一把鈍刀 - 它重新排序所有的 「+」 表達式。你可以決定是否可以接受。
我不推薦使用mainvar
或ordergreat
。這隻解決了特定變量的問題。
有沒有可能更好的解決方案,如果你只是有興趣的變量排序不同(按字母順序)在tex輸出?我不太關心使用maxima時的順序,但是當我把它展示給我的學生時,他們覺得很困惑。我使用maxima自動生成練習的乳膠解決方案。 – Kasper
是的,可以只更改TeX輸出。要做到這一點最明確的方法需要一點Lisp編程。 'powerdisp:true'是否具有預期的效果?或者還有其他的訂購需求? –
Powerdisp看起來相當不錯,目前我遇到的唯一問題是指數。如果我設置了'powerdisp:true',那麼'x^3 + x^2 + 2 * x * y + y^2'變成'x^2 + x^3 + 2 * x * y + y^2' – Kasper
我已經想出了一種方法來顛倒「+」表達式中符號的排序,以便a
在z
之前。但是對於任何給定的符號,指數的排列順序與現在相同,即按降序排列。我爲此發佈了代碼作爲Github項目:https://github.com/robert-dodier/maxima-mplus-symbols-reversed
有一個Lisp代碼文件。你可以克隆Git倉庫,或者從上面提到的項目頁面下載一個文件。請嘗試一下,讓我知道你的想法。此代碼更改2-d和1-d控制檯顯示以及TeX輸出。我只會顯示下面的二維輸出;其他輸出具有相同的條款順序。
例子:
(%i1) load("form-mplus-symbols-reversed.lisp") $
(%i2) reverse_symbols_order:true $
(%i3) x^2+y^2;
2 2
(%o3) x + y
(%i4) x^3+x^2+2*x*y+y^2;
3 2 2
(%o4) x + x + y + 2 x y
這是一個有點令人失望 - 這是習慣把混合項中x
術語和y
術語之間。但是,如果沒有更復雜的排序啓發式,似乎不可能實現這一點,因爲相對於y^2
,2*x*y
的位置似乎取決於x^2
的存在與否 - 我們不能通過比較它們兩個時間(如在本實施方式中)。
爲了比較這裏是前面的表達式的默認排序:
(%i5) reset (reverse_symbols_order) $
(%i2) x^3+x^2+2*x*y+y^2;
2 3 2
(%o2) y + 2 x y + x + x
謝謝!這似乎確實已經對powerdisp有了很大的改進。我會在代碼中嘗試一下,看看學生們的想法。如果2 * x * y可以放在兩者之間,那確實是理想的。 – Kasper
- 1. 從x1,y1循環到x2,y2,不管它們的順序爲
- 2. gnuplot的顯示Y2值上X2
- 3. 使用matplotlib.pyplot繪製點[[x1,y1],[x2,y2]]
- 4. 發光粒子爲指向X2,Y2在目標C(iPhone)
- 5. 從中心座標,高度和寬度計算x1 x2 y1 y2
- 6. 如何擺脫gnuplot的x2&y2座標軸?
- 7. TypeError:overlapps()缺少3個必需的位置參數:'y1','x2'和'y2'
- 8. 按鈕無法繪製其座標(x1,x2,y1,y2)的線圖
- 9. 如何從地圖座標獲取x1,y1,x2,y2 javascript?
- 10. 設置可拖動圍堵座標[X1,Y1,X2,Y2]
- 11. 如何將線端點(X2,Y2)綁定到點?
- 12. Python的換行符 「以X1爲Y1,X2爲Y2,X3爲Y3」 聲明
- 13. C#Windows 10應用程序 - 畫線緩慢從X1,Y1到X2,Y2
- 14. 用特殊的x2和y2座標軸在matplotlib中繪製散點圖
- 15. 如何獲得「X8」六角型分裂爲「X2,X2-X2-X2」型
- 16. 有沒有辦法在ASP.NET頁面中繪製直線(x,y) - (x2,y2)?
- 17. fengyuanchen Cropper:如何獲得裁剪圖像的x1,y1,x2,y2座標
- 18. 使用CGContextAddArcToPoint()繪製圓弧時,(x1,y1)和(x2,y2)是什麼意思?
- 19. 如何將圖像從(x1,y1)線性移動到(x2,y2)(使用動畫)[Android]
- 20. 在Matlab中查找min(x1,x1 * x2,x1 * x2 * x3,...,x1 * x2 * ... * xN)
- 21. dygraphs y2軸重疊y2刻度
- 22. SIN波線,Y2
- 23. 我將如何轉換的sqrt(X2 - X1)^ 2(Y2 - Y1)^ 2,以正確的Java代碼
- 24. MATLAB:如何使用plot()w/Matrix輸入指定線的屬性?即plot([x1 x2 x3],[y1 y2 y3])
- 25. 使得X,Y,X2,Y2在覈心情節限制在兩側的地塊面積
- 26. dyGraphs使用變量'y2'時未顯示第二個Y軸
- 27. STUR X9,[X2,X12]
- 28. 如果我們知道角度,計算SVG線性梯度屬性x1 y1 x2 y2?
- 29. PowerPoint 2010/VBA:將圖形添加到組/ ShapeNodes.Insert-Methode - 如何獲取X2/Y2和X3/Y3?
- 30. 行爲使用python X2
'ordergreat'和'mainvar'做的工作。看到這個問題https://stackoverflow.com/q/36456544/349708,我相信是相同的。 – Eelvex
@Eelvex謝謝,嘗試,但現在如果我嘗試'x^2 + x * y + y^2',我會得到'x^2 + y * x + y^2' – Kasper