一个支持含 XY 的多项式的运算工具。
本来是我自己用来写有限元作业的,算个形函数和位移什么的很好用。
只要把那个 @pol 文件夹拷到自己现在使用的目录下面就可以了。
具体的使用方法在根目录下的 polytest.m 里。
关于多项式的表示方法:使用矩阵表示多项式,形如下面的多项式
其中最右下角的是 x 和 y 的幂都是 0 的项,也就是常数,往左一个是 x 高一次的项,往上一个是 y 高一次的项,这样其表达形式可以与 Matlab 自带的多项式的运算形式兼容。
可以构建多项式矩阵,多项式矩阵之间可以相加或相乘,也可以用一个数或一个多项式和这个矩阵相加或相乘(效果是这个数或多项式乘矩阵里面每一项)。方阵可以进行幂运算,如果需要方阵内每一项的幂则使用 .^ 符号。
多项式可以乘一个数的矩阵,得到的是一个多项式矩阵,每一项都是原来位置的数字和多项式相乘的结果。
除法只支持除一个数,矩阵或多项式都可以用。
sum 表现得和 Matlab 自带的 sum 一样,如果是一个矩阵则是每一列的和,如果是一个行向量或列向量则直接是和,只是可以用于多项式矩阵。
如果一个矩阵每一项都是只有常数项,那么可以使用 double 转换。
diff 用来微分,可以对多项式矩阵操作,一次微分里面所有的矩阵,可以选择对 x 还是对 y 进行微分。
int 可以用来积分,可以对多项式积分,可以选择对 x 还是对 y 进行积分,可以指定上下限进行定积分。
val 可以用来求值,这个功能是这里面最萌的,可以带入数字也可以带入多项式,今天懒得写说明了。