我正在尝试解决一个大的DAE系统,再加上方程来计算变量对参数的灵敏度。我的问题是整个系统的jacobian,它的计算速度非常慢,我想加快速度。
我正在使用numjac
,格式如下:
[Jx,FAC,G] = numjac(@(t,y)MODEL(t,y,X),tt,yy,dydt,jac_tol,FAC,0,JPat,G);
我想对代码进行矢量化,但我似乎无法获得this的含义。据我所知,我的代码已经被矢量化了! t
,y
,X
进去,我得到dy(i)/dt
或F(t,y(i))
的列向量。但如果我说我的函数是矢量化的,我会收到一个错误:
Matrix dimensions must agree.
Error in numjac (line 192)
Fdiff = Fdel - Fty(:,ones(1,ng));
如何正确地对其进行矢量化?