声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1116|回复: 2

[编程技巧] 求助怎样再加一个大循环?

[复制链接]
发表于 2009-7-7 14:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
clear
for k=1:7
y=[10.5 11.5 2.5 15 9.5 6.5  4.5 ];%测量值
A=[1 -1 1 0 0 0 0
    0 1 -1 -1 0 0 0
    0 0 0  1 -1 0 0
    0 0 0 0  1 -1 -1];
for i=1:7
    Q(i,i)=0.01*y(i);% 方差协方差矩阵
end
       e= zeros(7,1);
e(k,1) = 1;%e为单位列向量第i个为1,其余为0
r=A*inv(y(k)); %残差
V=A*Q*A';%r的协方差
f=A*e ;   
T=((f'*inv(V)*r).^2)/(f'*inv(V)*f);
  Tc=0.248445
    if T(k)>Tc
        disp(k)
     b=inv(f'*inv(V)*f)*(f'*inv(V)*r);         
        y=y-b*e;     %最后一步循环回去不会,怎样把这个新得到y返回到前面 进行新的循环?是不是要增加成二维,请高手帮帮忙
         Ax=-b*e;  
          else               
    end
  end
回复
分享到:

使用道具 举报

发表于 2009-7-7 16:46 | 显示全部楼层
y=[10.5 11.5 2.5 15 9.5 6.5  4.5 ];%测量值
放到for k=1:7之前不就行了吗??
不知道楼主是不是这个意思
发表于 2009-7-7 20:48 | 显示全部楼层
把后面一块做成函数,返回值为y可否?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-11 18:15 , Processed in 0.056765 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表