• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

改进斥力场函数和使用虚拟中间目标点法解决传统人工势场法局部极小值问题的MATLAB代码

资源截图

代码片段和文件信息

clear 
clc
Xo=[0 0];%起点位置
k=15;%计算引力需要的增益系数
m=10;%计算斥力系数
Po=2.5;%障碍影响距离
Pstop=0.1;
n=7;
l=0.2;
J=600;
Xsum=[10 10;4.5 5;5 4.5;5.5 4;4 5.5;5 3;3 5;10.2 10.2];
Xj=Xo;
ex=0;
madx=1;
mad(madx1)=Xsum(11);%将目标点存入
mad(madx2)=Xsum(12);


for j=1:J
    Goal(j1)=Xj(1);
    Goal(j2)=Xj(2);
    Theta=compute_angle(XjXsumn);
    Angle=Theta(1);
    angle_at=Theta(1);
    %调用引力模块
    [FatxFaty]=compute_Attract(XjXsumkAnglemnPo);
    for i=1:n
        angle_re(i)=Theta(i+1);
    end
    %调用斥力模块
    [YrerxxYreryy]=compute_repulsion(XjXsummangle_renPo);
    
    %判断是否在局部极小值点
    angleatt(j)=Angle;
    Fatt=sqrt(Fatx^2+Faty^2);
    Frep=sqrt(Yrerxx^2+Yreryy^2);
    if Yrerxx>=0
        anglerep(j)=atan(Yreryy/Yrerxx);
    else
        anglerep(j)=p

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3849  2018-05-23 20:20  main.m

----------- ---------  ---------- -----  ----

                 3849                    1


评论

共有 条评论