注册 登录
编程论坛 Matlab

请教关于 优化设计问题--如何实现向量循环问题 X(K)=X(K-1)+S(K)

skylan2008 发布于 2008-10-20 22:55, 1451 次点击
请教关于 优化设计问题--如何实现向量循环问题 X(K)=X(K-1)+S(K)
4 回复
#2
anbcjys2008-10-21 08:24
递推代入就可以了

[[it] 本帖最后由 anbcjys 于 2008-10-21 08:25 编辑 [/it]]
#3
skylan20082008-10-21 20:38
我的意思是实现如C语言中的循环:
for (i=0;i<=n;i++)
{
 x[i+1]=x[i]+s[i];
}
此种循环用matlab 如何实现(备注:x[i+1],x[i],s[i]都为向量)

谢谢!
#4
hitzhang2008-10-21 20:51
>> s=repmat([1:5],6,1)

s =

     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5

>> x1=rand(6,1)

x1 =

    0.2785
    0.5469
    0.9575
    0.9649
    0.1576
    0.9706

>> S=cumsum(s,2)

S =

     1     3     6    10    15
     1     3     6    10    15
     1     3     6    10    15
     1     3     6    10    15
     1     3     6    10    15
     1     3     6    10    15

>> x=[x1 repmat(x1,1,4)+S(:,2:end)]

x =

    0.2785    3.2785    6.2785   10.2785   15.2785
    0.5469    3.5469    6.5469   10.5469   15.5469
    0.9575    3.9575    6.9575   10.9575   15.9575
    0.9649    3.9649    6.9649   10.9649   15.9649
    0.1576    3.1576    6.1576   10.1576   15.1576
    0.9706    3.9706    6.9706   10.9706   15.9706

>>
#5
prince008402008-10-22 20:55
不错
有点递推
1