如何在matlab中编写多个相互依赖的函数

如何在matlab中编写多个相互依赖的函数,matlab,Matlab,我有一些函数是相互依赖的,这些函数来自本书第136页。。下面介绍I函数,如何在matlab中编写以下函数 y(t) = W(t-1)*x(t) h(t) = P(t-1)*y(t) P(t)=(1/B)*Tri[P(t-1)-m(t)*h^T(t)] m(t) = h(t)/(B+y^T(t))*h(t)) e(t) = x(t)-W^T(t-1)*y(t) W(t) = W(t-1) + m(t)*e^T(t) 它是迭代求解权重矩阵W(t)。。我试图在matlab中这样做,但我没有工作,因

我有一些函数是相互依赖的,这些函数来自本书第136页。。下面介绍I函数,如何在matlab中编写以下函数

y(t) = W(t-1)*x(t)
h(t) = P(t-1)*y(t)
P(t)=(1/B)*Tri[P(t-1)-m(t)*h^T(t)]
m(t) = h(t)/(B+y^T(t))*h(t))
e(t) = x(t)-W^T(t-1)*y(t)
W(t) = W(t-1) + m(t)*e^T(t) 
它是迭代求解权重矩阵W(t)。。我试图在matlab中这样做,但我没有工作,因此您可以建议更正代码:

    for i=1:10 
    e=randn(3,5000);
A=[1 0 0;-0.5 0.5 0;0.3 0.1 0.1];
x=A*e;
    y(t) = W(t-1)*x(t)
    h(t) = P(t-1)*y(t)
    P(t)=(1/B)*Tri[P(t-1)-m(t)*h^T(t)]
    m(t) = h(t)/(B+y^T(t))*h(t))
    e(t) = x(t)-W^T(t-1)*y(t)
    W(t) = W(t-1) + m(t)*e^T(t) 

    end

谢谢

好的。我真的不明白你想要什么,但你的代码显示你有时不明白。我将尝试向您澄清一些时刻:

for i = 2:10
x = rand(3);
y = W(:,:,i-1)*x;
h = P(:,:,i-1)*y;
m=h/(1+y'*h);
P(:,:,i)=P(:,:,i-1)*m*h';
e=x-W(:,:,i-1)'*y;
W(:,:,i)=W(:,:,i-1)+m*e';
end
你必须这样做:1。计算x并用它来计算其他函数。 2.它们都是矩阵。所以你需要先定义它。例如,
y=one(3)
等3.这不是y^T或e^T,而是转置。如果您感觉不到差异,那么现在就解决此任务为时尚早:) 最后一个:Tri函数会给你带来一些问题,但它的定义在136页


另外,我错过了测试版,因为我不知道它是什么:)

@code天哪,我不知道我有一个兄弟,对不起。你这辈子都去哪了?我们不都是兄弟。这里也有姐妹…你看起来很好。。。但是我不知道你在问什么lol谢谢你rayryeng修女。。。甚至我在matlab中也不太好:)
B
是遗忘因素
B=1
什么都不忘,而且
B=0
打破了兄弟之间的联系。在每次迭代中用新值重新定义
x
有意义吗?这是故意的吗?@AndrasDeak我真的从@code的例子(
e=randn(35000);
)中得到了这个,并简化了它。但是为了得到正确的答案,我们需要阅读这本链接的书。我浏览了一下,我认为
x
不是随机数-它在几页之前有一些确定性