查看: 202|回复: 1|关注: 0

[已答复] 求助matlab

[复制链接]

新手

5 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2020-1-18 19:35:33 | 显示全部楼层 |阅读模式
C = [];
i = 1;j = 2;n = 5;   
epsilon  = 1;
C(i) = H(1);
while j < n
    Q = [C(i),H(j)];
    X = var(Q)*(numel(Q)-1)+ 2/((numel(C(i))+1)^2*epsilon^2)+(numel(C(i))+1)*We;                                    
    Y = var(C(i))*(numel(C(i)-1)) + 2/(abs(C(i))*(epsilon^2)) + numel(C(i))*We + 2/((n-j+1)^2*epsilon^2)+ (n-j+1)*We;
    if (X < Y)
        C(i) = [C(i),H(j)];
    else
        C = [C,C(i)];
        i = i + 1;
        C(i) = H(j);
    end
    j = j + 1;
end
现在的问题是, C(i) = [C(i),H(j)];这里的迭代问题,不知道如何使用matlab实现

论坛优秀回答者

0

主题

637

帖子

117

最佳答案
  • 关注者: 24
发表于 2020-1-19 16:42:32 | 显示全部楼层
仅供参考
C = [];
i = 1;j = 2;n = 5;   
epsilon  = 1;
H=ones(5,5);
We=6;
C(i) = H(1);
while j < n
    Q = [C(i),H(j)];
    X = var(Q)*(numel(Q)-1)+ 2/((numel(C(i))+1)^2*epsilon^2)+(numel(C(i))+1)*We;                                    
    Y = var(C(i))*(numel(C(i)-1)) + 2/(abs(C(i))*(epsilon^2)) + numel(C(i))*We + 2/((n-j+1)^2*epsilon^2)+ (n-j+1)*We;
    if (X < Y)
        C(i,1:2) = [C(i),H(j)];
    else
        C = [C,C(i)];
        i = i + 1;
        C(i) = H(j);
    end
    j = j + 1;
end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

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