[已答复] 用for循环将计算的一列数据存储到对应矩阵中

[复制链接]
guavaw 发表于 7 天前


【代码】
m = 1; % 分布的均值
v = 2; % 分布的方差
mu = log((m^2)/sqrt(v+m^2)); % 公式中的均值参数
sigma = sqrt(log(v/(m^2)+1)); % 公式中的方差参数
[M,V]= lognstat(mu,sigma); % 可以验证随机数的均值与方差的正确性
X=[];
si=[];
PD=[];
X(:,1) = lognrnd(mu,sigma,100,1); % 产生随机数x0
for i=1:50
    si(:,i)=mean(X(:,i));
    PD(:,i)=sum((X(:,i)-mean(X(:,i))).^2)/100;
    %计算x1
    b1=0.8;
    b2=0.2;
    X(:,i+1)=X(:,i)+b1*(si(:,i)-X(:,i))+b2*(X(:,1)-X(:,i));
   %感觉是上面这行出了问题,只有x1计算了,i=2之后的X值都和x1一样,感觉没有进入循环(见下图)
    i=i+1;
end

【X变量的值】

【计算的公式】

1 条回复


20141303 发表于 7 天前
仅供参考,个人认为哪行代码语法上没有问题,最好校对一下是否是你要表达的式子,它下面的代码
  1. i=i+1;
复制代码
没有意义,可以去掉
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表