我正在尋找一種很好的方法來操作Matlab中的多元多項式。這個問題的目的是非常全球的。目前,我正在操作MATLAB中的多項式的矩陣(當前有2個變量)。爲了簡化此操作我每個矩陣分割成四個新的矩陣:操作多元多項式的最佳方式matlab
- 一個用於限定所述係數:
C
- 一個用於限定指數:
E
(見下文) - 一個用於限定的功率第一可變
X
:MX
- 一個用於限定所述第二可變
Y
的拗造型:MY
因此,您可以通過這種方式評估多項式矩陣C./h^E.*X.^MX.*Y.^MY
。出於某種原因,多項式矩陣的每個分量有時可能是一些單項式的和。在這種情況下,我使用了一些nD陣列(和sum(.,3)
)。
對於我的工作,我還需要定義關於X
或Y
的多項式矩陣的導數。使用先前的公式,可以通過將相關矩陣MX
或MY
減去1並將C
乘以右矩陣MX
或MY
而容易地獲得衍生物。
目前這種方法適用於較低的程度,但我還需要乘以一些多項式矩陣,這是這種方法的大問題。爲了解決這個問題,我手動編寫完整的矩陣產品(使用Mathematica進行計算)。
我想擴展我的代碼以獲得更高的度數並更容易操作多項式矩陣。所以如果你有任何想法做到這一點。
我可以使用任何工具箱在Matlab但最後我需要有矩陣MX
,MY
,E
和C
(我需要做一些具體計算這個分離矩陣)。我嘗試使用Symbolic Toolbox
,但當多項式矩陣複雜時,提取這四個矩陣似乎非常困難。
實施例:
H=[
1 0 Y/h 10*Y^2/h^2 5X*Y/h^2 0
0 1 -X/h X/h 50*X^2/h^2 60*X*Y/h^2
]
C=[
1 0 1 10 5 0
0 1 -1 1 50 60
]
E=[
0 0 1 2 2 0
0 1 1 1 2 2
]
MX=[
0 0 0 0 1 0
0 0 1 1 2 1
]
MY=[
0 0 1 2 1 0
0 0 0 0 0 1
]
問題:計算H*D'
並提取C
,E
,MX
和MY
(與H
上述定義)和
D=[
Y/h Y^2/h^2 X/h
X/h Y/h X*Y/h
]