导航→ | 『Matlab视频下载』 | 『Matlab研讨会』 | 『Matlab书籍购买』 | 『生活百宝箱』| 捐助论坛,在线获取M币 | 『联系我们』
新手必读 | 论坛下载指南论坛热心会员访谈 | 12月热心会员IE8会员贴图帮助 | RSS订阅帖子
 
 
 
发新话题
打印

西安聚会照片:我们自信我们美丽

本主题由 math 于 2009-6-10 14:03 解除高亮

回复 1# zhanhuichong 的帖子

我工作签在中交二公局的
以后也就在西安哟
呵呵

TOP

点击这里,看看谁在分享知识吧....

呵呵,地方好熟悉

居然在我们学校,遗憾,错过了!111
伤心啊,我没赶上呀,一位11月份才注册的新会员啊,期待下一次西安之行,我们来个华山论剑之m--pk
看不见照片啊!!!!!!!!!!
我等下一次聚会吧~~

TOP

呵呵

什么时候聚会,下次叫上我啊,我在理工大学

TOP

真好...........

TOP

TOP

七月份我还在西安,真想参加,不知道能否有西安地区MATLAB群或通讯表,这样大家以后好交流

TOP

版主,你好

我也是西安的,刚注册本论坛账号,如今在学习MATLAB中遇到了一些不小的问题,想向你请教,希望你能帮忙,谢谢了!
0000000000000000000000000000000000000000000000000000000000000
%==========================================================================
%模型中的变量说明如下:
%模型中共有8个变量x1 x2 x3 x4 x5 x6 x7 x8
%=======================模型的原始参数赋值【可以修改】=======================
vv1=1;vv2=1;
ET1=1;ET2=1;
sumx=2;
%==========================================================================
a=[-5,-5];
b=[10,10];
n=100;
m=100;
c1=0.5;c2=0.5;
w=0.8:-(0.8-0.4)/m:0.4;%n为粒子数;m为迭代次数;precision为精度;c1,c2为常数.
vmax=a'-b';%a,b为变量范围.
[c,d]=size(vmax);
fitness1=zeros(2,n)+10;fitness2=zeros(2,n)+10;
for i=1:c
    for j=1:n
        particle(i,j)=a(i)+rand*(-vmax(i));
        v(i,j)=vmax(i)+rand*(-vmax(i));
    end
end
population(:,:,1)=particle;
i=1;
while i<=m
    particle=population(:,:,i);
    for j=1:n
        fitness1(1:i,j)=reshape((population(1,j,1:i)*vv1+population(2,j,1:i)*vv2),[i,1]);
        fitness2(1:i,j)=reshape((population(1,j,1:i)*vv1/ET1/sumx+population(2,j,1:i)*vv2/ET2/sumx),[i,1]);
    end
        [pBest1,index1]=max(1./(fitness1+0.1));
        [pBest2,index2]=max(1./(fitness2+0.1));
        [gBest1,index11]=max(pBest1);
        [gBest2,index22]=max(pBest2);
        dpBest=sqrt(pBest1.^2+pBest2.^2);
        dgBest=sqrt(gBest1.^2+gBest2.^2);
        gbest=(population(:,index11,index1(index11))+population(:,index22,index2(index22)))/2;
        for k=1:n
        if dpBest(k)<dgBest
            if round(rand)==1
                pbest(:,k)=population(:,k,index1(k));
            else
                pbest(:,k)=population(:,k,index2(k));
            end
        else
            pbest(:,k)=(population(:,k,index1(k))+population(:,k,index2(k)))/2;
        end
        end
        for x=1:c
            for y=1:n
                v(x,y)=v(x,y)*w(i)+c1*rand*(pbest(x,y)-particle(x,y))+c2*rand*(gbest(x,1)-particle(x,y));
                if vmax(x)<=v(x,y)&v(x,y)<=-vmax(x)
                    v(x,y)=v(x,y);
                elseif v(x,y)<=vmax(x)
                    v(x,y)=vmax(x);
                elseif -vmax(x)<=v(x,y)
                    v(x,y)=-vmax(x);
                end
            end
        end
        particle=particle+v;
        i=i+1;
        population(:,:,i)=particle;
    end
   plot(fitness1(m,,fitness2(m,,'b-')
00000000000000000000000000000000000000000000000000000
MATLAB错误提示:
??? Index exceeds matrix dimensions.

Error in ==> copywanglaoshi at 44
                pbest(:,k)=population(:,k,index2(k));

TOP

发新话题
最近访问的版块

欢迎发帖提问,对于书籍内容提问,作者给予解答

目录 样章 购买方式 目录 样章 购买方式 目录 样章 预定方式 目录 样章 预定方式