替代vpasolve和结果安排

时间:2018-10-22 17:37:38

标签: matlab equation-solving

我正在努力解决Matlab中的以下问题:

我有两个已知的矩阵F和Q mxm(m = 20),我想找到一个满足方程的矩阵L

F-(Q L + L Q)/ 2 = 0

(我知道这是一个Lyapunov方程,但是我不想使用lyap函数来求解它)

因此,我定义了一个符号矩阵L,我想定义其元素。我有两个问题:

  1. vpasolver花费的时间太长,我想知道是否有更快的替代方法或更有效的方法来解决问题。
  2. 如果我使用这种方式解决问题,则s是一种结构,但是元素的排列方式有些奇怪。列表是l1_1,l1_11,l1_12,... l1_2,l1_20,l1_3,l1_4 ...有没有办法以正确的顺序获取结果?

代码如下:

L=sym('l',[m,m]);
diff=sym('d',[m,m]);
diff=F -(1/2)*(Q*L+L*Q);    

diff=vpa(diff);

s=vpasolve(diff==0);

0 个答案:

没有答案