CAD教程 行业资讯 3D模型下载 Pro/E教程 CAD书店 软件下载 联系我们
技术资料 CAD招聘 发布招聘 CAD问答 设计竞赛 CAD认证 北京CAD培训
视频教程 PS教程 CAD图纸 图书推荐 Solidworks教程 CAD培训 CAD软件商

 最新视频教程Pro/ENGINEER Wildfire2.0 工业设计实例视频教程 (全套免费在线学习)   AutoCAD视频教程每日更新
 
首页 > CAD在线问答 > matlab

MATLAB运行错误,哪位大哥帮帮忙看看,下面是程序。二进制粒子群

2010-10-06 51自学网



function [Solution Result] = Untitled2() %初始化 clear all;clc;% 给定初始条件c1=1.4962; %学习因子 c1c2=1.4962; %学习因子 c2w=0.7298; %惯性全数MaxDT=10000; %最大迭代数N=40; %初始化群体个体数目D=10; %搜素空间维数max=10;min=-10;eps=10^(-6); %设置精度 % 初始化种群的个体for i=1:N for j=1:D x(i,j)=(max-min)*rand+min; % 随机初始化位置 v(i,j)=20*rand-10; %随机初始化速度 endend%计算粒子的适应度,初始化Pi和Pgfor i=1:N pi=fitness(x(i,:),D); %局部最优 y(i,:)=x(i,:);pg=x(i,:); %pg为全局最优endfor i=1:N if pi<fitness(pg,D) pg=x(i,:); endend%进入主循环for ite=1:MaxDT %迭代过程 for i=1:N v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:)); sig(v)=1/(1+exp(-v(i,:))); if rand()<sig(v) x(i,:)=1; else x(i,:)=0; end if fitness(x(i,:),D)<pi %迭代寻找局部最优 pi=fitness(x(i,:),D); y(i,:)=x(i,:); end if pi<fitness(pg,D) %迭代寻找全局最优 pg=y(i,:); end endend%最后计算结果disp('*******************************************') disp('函数的全局最优位置为:') Solution=pg disp('最后得到的优化极值为:') Result=fitness(pg,D) disp('********************************************') function Result=fitness(x,D)sum=0.0;for i=1:D sum=sum+x(i)^2;endResult=sum;




 

 

用matlab画的图怎么复制到word文档里
如何用matlab从三个字节中读取前一个半字节的值?
我来回答 共有条 回答
用户名: 密码:
验证码: 匿名发表
| AutoCAD | Pro/E | UG | 3Dmax | catia | solidworks | maya | photoshop | 模具设计 | 有限元 | matlab | 计算机图形学 | 室内设计 |