ode45向量值函数

时间:2016-04-07 20:06:32

标签: matlab ode45

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中定义我的功能是错误的,但我不知道如何解决它。任何帮助将不胜感激。

0 个答案:

没有答案