版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
%%ParticleSwarmOptimization(PSO),粒子群优化算法计算局放源位置%%%%ClearScreenclc;closeall;clearall;%%InitializationLx=4;Ly=4;Lz=4;%变压器长宽高Sensor_xyz0=[1,0,1]';Sensor_xyz1=[0,1.5,0.5]';Sensor_xyz2=[2,3,0.5]';Sensor_xyz3=[3,1.5,0.7]';%四个传感器位置Source=[2,2,2]';%PD位置t=linspace(0,50e-9,1001);tc=10e-9;c=3e8;delta_t0=sqrt(sum((Source-Sensor_xyz0).^2))/c;delta_t1=sqrt(sum((Source-Sensor_xyz1).^2))/c;delta_t2=sqrt(sum((Source-Sensor_xyz2).^2))/c;delta_t3=sqrt(sum((Source-Sensor_xyz3).^2))/c;y0=-(exp(-(t-tc-delta_t0)/0.2e-9)-exp(-(t-tc-delta_t0)/3e-9)).*stepfun(t,tc+delta_t0).*sin(2*pi*1e9*(t-tc-delta_t0));%传感器0接收到PD信号y1=-(exp(-(t-tc-delta_t1)/0.2e-9)-exp(-(t-tc-delta_t1)/3e-9)).*stepfun(t,tc+delta_t1).*sin(2*pi*1e9*(t-tc-delta_t1));%传感器1接收到PD信号y2=-(exp(-(t-tc-delta_t2)/0.2e-9)-exp(-(t-tc-delta_t2)/3e-9)).*stepfun(t,tc+delta_t2).*sin(2*pi*1e9*(t-tc-delta_t2));%传感器2接收到PD信号y3=-(exp(-(t-tc-delta_t3)/0.2e-9)-exp(-(t-tc-delta_t3)/3e-9)).*stepfun(t,tc+delta_t3).*sin(2*pi*1e9*(t-tc-delta_t3));%传感器3接收到PD信号%plot(y0)%holdon%plot(y1)%plot(y2)%plot(y3)tic;%程序运行计时%[~,R]=gccphat(y1',y0');[~,YI]=max(R);t10=(YI-length(t))*diff(t(1:2));%GCCPHAT计算时延1%[~,R]=gccphat(y2',y0');[~,YI]=max(R);t20=(YI-length(t))*diff(t(1:2));%GCCPHAT计算时延2%[~,R]=gccphat(y3',y0');[~,YI]=max(R);t30=(YI-length(t))*diff(t(1:2));%GCCPHAT计算时延3[~,YI]=max(xcorr(y1,y0));t10=(YI-length(t))*diff(t(1:2));%GCCPHAT计算时延1[~,YI]=max(xcorr(y2,y0));t20=(YI-length(t))*diff(t(1:2));%GCCPHAT计算时延2[~,YI]=max(xcorr(y3,y0));t30=(YI-length(t))*diff(t(1:2));%GCCPHAT计算时延3t10=delta_t1-delta_t0;t20=delta_t2-delta_t0;t30=delta_t3-delta_t0;%Lx=1;Ly=1;Lz=0.8;%变压器长宽高%Sensor_xyz0=[0,0.2,0.4]';Sensor_xyz1=[0,0.6,0.3]';Sensor_xyz2=[0.3,1,0.2]';Sensor_xyz3=[0.6,1,0.5]';%四个传感器位置%Source=[0.61,0.32,0.35]';%PD位置%t10=0.036;t20=0.1;t30=0.053;%PSO初始化error=1e-6;%允许误差MaxNum=50;%粒子最大迭代次数nvars=3;%目标函数的自变量个数particlesize=30;%粒子群规模c1=2;%每个粒子的个体学习因子,也称为加速常数1c2=2;%每个粒子的社会学习因子,也称为加速常数2w=0.6;%惯性因子a=1;%约束因子,控制速度的权重vmax=0.8;%粒子的最大飞翔速度%x=3*rand(particlesize,nvars);%粒子的所在位置x(:,1)=Lx*rand(particlesize,1);%初始化x(:,2)=Ly*rand(particlesize,1);x(:,3)=Lz*rand(particlesize,1);%x=2*ones(particlesize,nvars);v=2*rand(particlesize,nvars);%粒子的飞翔速度%%ObjectiveFunction%用inline定义适应度函数以便将子函数文件与主程序文件放在一起%目标函数为:y=1+(2.1*(1-x+2*x.^2).*exp(-x.^2/2))注意不同于原始目标函数%inline命令定义适应度函数如下%fitness=inline('1./(1+(2.1*(1-x+2*x.^2).*exp(-x.^2/2)))','x');%inline定义的适应度函数会使程序运行速度大大降低%%Particleswarmoptimizationf=zeros(particlesize,1);fori=1:particlesize%forj=1:nvars%f(i)=fitness(x(i,j));%endf(i)=Fitness1(x(i,:),Sensor_xyz0',Sensor_xyz1',Sensor_xyz2',Sensor_xyz3',t10,t20,t30,c);endpersonalbest_x=x;personalbest_faval=f;[globalbest_faval,YI]=min(personalbest_faval);globalbest_x=personalbest_x(YI,:);k=1;Trace_error=[];Trace_pos=[];whilek<=MaxNumfori=1:particlesize%forj=1:nvars%f(i)=fitness(x(i,j));%endf(i)=Fitness1(x(i,:),Sensor_xyz0',Sensor_xyz1',Sensor_xyz2',Sensor_xyz3',t10,t20,t30,c);iff(i)<personalbest_faval(i)%判断当前位置是否是历史上的最佳位置personalbest_faval(i)=f(i);personalbest_x(i,:)=x(i,:);endend[globalbest_faval,i]=min(personalbest_faval);globalbest_x=personalbest_x(i,:);fori=1:particlesize%更新粒子群里的每个个体的最新位置v(i,:)=w*v(i,:)+c1*rand*(personalbest_x(i,:)-x(i,:))+c2*rand*(globalbest_x-x(i,:));forj=1:nvars%判断每个粒子的飞翔速度是否超过了最大飞翔速度ifv(i,j)>vmaxv(i,j)=vmax;elseifv(i,j)<-vmaxv(i,j)=-vmax;endendx(i,:)=x(i,:)+a*v(i,:);ifx(i,1)>Lxx(i,1)=Lx*rand;endifx(i,2)>Lyx(i,2)=Ly*rand;endifx(i,3)>Lzx(i,3)=Lz*rand;endendTrace_error=[Trace_error,globalbest_faval];Trace_pos=[Trace_pos;globalbest_x];ifabs(globalbest_faval)<errorbreak;endk=k+1;end%%PostProcessingsubplot(2,1,1)plot(Trace_error,'k--','LineWidth',2)gridonsubplot(2,1,2)plot3(Trace_pos(:,1),Trace_pos(:,2),Trace_pos(:,3),'--','LineWidth',2)holdonplot3(Trace_pos(end,1),Trace_pos(end,2),Trace_pos(end,3),'r*')xlim([0,Lx])ylim([0,Ly])zlim([0,Lz])plot3(Source(1),Source(2),Source(3),'ok')gridonValue2=globalbest_x;Value2=num2str(Value2);disp(strcat('Thecorrespondingcoordinate=',Value2))%Value1=1/globalbest_faval-1;%Value1=num2str(Value1);%%PostProcessing%%strcat指令可以实现字符的组合输出%disp(strcat('Themaximumvalue=','',Value1))%%输出最大值所在的横坐标位置%Value2=globalbest_x;%Value2=num2str(Value2);%disp(strcat('Thecorrespondingcoordinate=',Value2))%x=-5:0.01:5;%y=2.1*(1-x+2*x.^2).*exp(-x.^2/2);%plot(x,y,'m-','LineWidth',3)%holdon%plot(globalbest_x,1/globalbest_faval-1,'kp','LineWidth',4)%legend('ObjectiveFunction','Themaximumvalue')%xlabel('x')%ylabel('y')%gridontoc;适应度函数:%%PDLocationPSO1适应度函数functionF1=Fitness1(Source,Sensor_xyz0,Sensor_xyz1,Sensor_xyz2,Sensor_xyz3,t10,t2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡村幼儿园教师职业获得感的提升路径研究
- 基于DNA银纳米簇的荧光适配体传感器检测黄曲霉毒素M1的研究
- 2025年度船舶运输合同及港口装卸费用结算协议
- 二零二五年度美容院美容产品生产技术许可转让合同
- 二零二五年度股权激励与员工持股平台分配合同
- 2025年度航空航天股东股权合作协议
- 水平防护施工方案
- 边坡放坡施工方案
- 二零二四年度职业足球俱乐部教练团队建设合同3篇
- 云平台性能优化技术-深度研究
- 电缆挤塑操作手册
- 浙江宁波鄞州区市级名校2025届中考生物全真模拟试卷含解析
- 2024-2025学年广东省深圳市南山区监测数学三年级第一学期期末学业水平测试试题含解析
- IATF16949基础知识培训教材
- 【MOOC】大学生创新创业知能训练与指导-西北农林科技大学 中国大学慕课MOOC答案
- 劳务派遣公司员工考核方案
- 基础生态学-7种内种间关系
- 2024年光伏农田出租合同范本
- 《阻燃材料与技术》课件 第3讲 阻燃基本理论
- 2024-2030年中国黄鳝市市场供需现状与营销渠道分析报告
- 新人教版九年级化学第三单元复习课件
评论
0/150
提交评论