求解含自身求和依赖项的函数X(P,T)的目标微分形式
嗨,我来帮你一步步梳理怎么解决这个问题!核心思路就是把依赖于dX的dk项代入原微分方程,然后通过整理线性关系,把dX单独解出来,最终得到只含dP和dT的形式。
步骤1:代入已知偏导到原微分方程
你已经得到了dX的初始表达式:
$$dX = \frac{\partial X}{\partial P}dP + \frac{\partial X}{\partial T}dT + \frac{\partial X}{\partial k}dk$$
结合已知的偏导关系 $\frac{\partial X}{\partial P}=A\cdot X$、$\frac{\partial X}{\partial T}=B\cdot X$、$\frac{\partial X}{\partial k}=C\cdot X$(这里的$\cdot$是逐元素相乘,因为X、A、B、C都是1-D矩阵/向量),代入后得到:
$$dX = (A \odot X) dP + (B \odot X) dT + (C \odot X) dk$$
(注:$\odot$表示哈达玛积,也就是逐元素对应相乘)
步骤2:替换dk为依赖dX的表达式
根据你给出的定义,$k = \sum_{j=1}^N k_j X_j$(k是标量,因为是向量X和常数向量k的点积),所以它的微分是:
$$dk = \sum_{j=1}^N k_j dX_j = k^T dX$$
这里$k^T$是常数向量k的转置(行向量),$dX$是列向量形式的微分。把这个代入上式:
$$dX = (A \odot X) dP + (B \odot X) dT + (C \odot X)(k^T dX)$$
步骤3:整理含dX的项到左侧
把右侧最后一项移到左边,将所有dX项合并:
$$dX - (C \odot X)k^T dX = (A \odot X) dP + (B \odot X) dT$$
左侧可以提取dX,写成矩阵乘法的形式:
$$\left(I - (C \odot X)k^T\right) dX = (A \odot X) dP + (B \odot X) dT$$
这里$I$是N×N的单位矩阵,$(C \odot X)k^T$是一个N×N的矩阵(向量$(C \odot X)$和行向量$k^T$的外积)。
步骤4:解出dX的目标形式
现在只需要给左侧的矩阵求逆,两边左乘逆矩阵就能得到dX的表达式:
$$dX = \left(I - (C \odot X)kT\right){-1} (A \odot X) dP + \left(I - (C \odot X)kT\right){-1} (B \odot X) dT$$
结合你的迭代公式补充说明
因为$k = \sum_{j=1}^N k_j X_j$,所以k可以完全用X的元素和常数$k_j$表示,代入后上面的表达式里的所有项都只依赖于P、T和X,正好符合你想要的$dX = f(P,T,X)dP + g(P,T,X)dT$形式:
- $f(P,T,X) = \left(I - (C \odot X)kT\right){-1} (A \odot X)$
- $g(P,T,X) = \left(I - (C \odot X)kT\right){-1} (B \odot X)$
如果需要计算具体数值的话,只要代入当前的P、T、X值,先算出k,再构建矩阵求逆,就能得到对应的微分系数啦。
备注:内容来源于stack exchange,提问作者Joanne

