0

我有一个名为 theRas 的列向量。它代表了最优控制问题中的约简伴随系统。它是一个 [10 * 1] 列向量。它的形式theRas(z1, z2, z3, z4, z5, lam1, lam2, lam3, lam4, lam5) =......

它基本上是 10 SYMBOLIC 微分方程的形式

z1dot = ... z2dot = ... . . lam5dot = ...

它真的很大,这就是为什么我试图解释它而不是仅仅发布它。

所以现在我不是所有 10 个变量的初始值,我想使用 ode45 来解决它。这是我试图做到这一点的功能:

function [errorP] = p(lamda1,lamda2,lamda3,lamda4,lamda5)
initValues = [0 0 0 0 0 lamda1 lamda2 lamda3 lamda4 lamda5] 


theRas = ras()

[t,xa] = ode45(theRas,[0 3.14],initValues) %this does not work

m = size(t)

z1final = z1(t)
z2final = z2(t)
z3final = z3(t)
z4final = z4(t)
z5final = z5(t)

errorP = (3.14-z1final).^2 + (0-z2final).^2 + (0-z3final).^2 + (0-z4final).^2 + (0-z5final).^2

它给了我错误:

Error in MuPAD command: The operand is invalid. [_mult]

我感觉我在 ode45 中定义我的函数的方式是错误的,但我不知道如何修复它。任何帮助,将不胜感激。

4

0 回答 0