HY
我有一个名为theRas的列向量。它代表最优控制问题中的简化伴随系统。它是[10 * 1]列向量。它的格式为plt.figure(figsize=(10,10))
plt.imshow(data)
ax = plt.gca()
ax.grid(True)
ax.set_xticklabels([])
ax.set_yticklabels([])
基本上是形式为
的10个SYMBOLIC微分方程 theRas(z1, z2, z3, z4, z5, lam1, lam2, lam3, lam4, lam5) =......
这真的很大,这就是我试图解释它的原因,而不仅仅是发布它。
所以现在我不是所有10个变量的初始值,我想用ode45来解决它。这是我试图这样做的功能:
z1dot = ...
z2dot = ...
.
.
lam5dot = ...
它给了我错误:
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
我有一种感觉,我在ode45中定义我的功能是错误的,但我不知道如何解决它。任何帮助将不胜感激。