利用matlab分别对三边测量定位算法和改进算法进行仿真和验证
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/29 12:44:50
利用matlab分别对三边测量定位算法和改进算法进行仿真和验证
%% 清空环境变量clcclearload data%% 数据累加作为网络输入[n,m]=size(X);for i=1:n y(i,1)=sum(X(1:i,1)); y(i,2)=sum(X(1:i,2)); y(i,3)=sum(X(1:i,3)); y(i,4)=sum(X(1:i,4)); y(i,5)=sum(X(1:i,5)); y(i,6)=sum(X(1:i,6));end%% 网络参数初始化a=0.3+rand(1)/4;b1=0.3+rand(1)/4;b2=0.3+rand(1)/4;b3=0.3+rand(1)/4;b4=0.3+rand(1)/4;b5=0.3+rand(1)/4;%% 学习速率初始化u1=0.0015;u2=0.0015;u3=0.0015;u4=0.0015;u5=0.0015;%% 权值阀值初始化t=1;w11=a;w21=-y(1,1);w22=2*b1/a;w23=2*b2/a;w24=2*b3/a;w25=2*b4/a;w26=2*b5/a;w31=1+exp(-a*t);w32=1+exp(-a*t);w33=1+exp(-a*t);w34=1+exp(-a*t);w35=1+exp(-a*t);w36=1+exp(-a*t);theta=(1+exp(-a*t))*(b1*y(1,2)/a+b2*y(1,3)/a+b3*y(1,4)/a+b4*y(1,5)/a+b5*y(1,6)/a-y(1,1));kk=1;%% 循环迭代for j=1:10%循环迭代E(j)=0;for i=1:30 %% 网络输出计算 t=i; LB_b=1/(1+exp(-w11*t)); %LB层输出 LC_c1=LB_b*w21; %LC层输出 LC_c2=y(i,2)*LB_b*w22; %LC层输出 LC_c3=y(i,3)*LB_b*w23; %LC层输出 LC_c4=y(i,4)*LB_b*w24; %LC层输出 LC_c5=y(i,5)*LB_b*w25; %LC层输出 LC_c6=y(i,6)*LB_b*w26; %LC层输出 LD_d=w31*LC_c1+w32*LC_c2+w33*LC_c3+w34*LC_c4+w35*LC_c5+w36*LC_c6; %LD层输出 theta=(1+exp(-w11*t))*(w22*y(i,2)/2+w23*y(i,3)/2+w24*y(i,4)/2+w25*y(i,5)/2+w26*y(i,6)/2-y(1,1)); %阀值 ym=LD_d-theta; %网络输出值 yc(i)=ym; %% 权值修正 error=ym-y(i,1); %计算误差 E(j)=E(j)+abs(error); %误差求和 error1=error*(1+exp(-w11*t)); %计算误差 error2=error*(1+exp(-w11*t)); %计算误差 error3=error*(1+exp(-w11*t)); error4=error*(1+exp(-w11*t)); error5=error*(1+exp(-w11*t)); error6=error*(1+exp(-w11*t)); error7=(1/(1+exp(-w11*t)))*(1-1/(1+exp(-w11*t)))*(w21*error1+w22*error2+w23*error3+w24*error4+w25*error5+w26*error6); %修改权值 w22=w22-u1*error2*LB_b; w23=w23-u2*error3*LB_b; w24=w24-u3*error4*LB_b; w25=w25-u4*error5*LB_b; w26=w26-u5*error6*LB_b; w11=w11+a*t*error7;endend %画误差随进化次数变化趋势figure(1)plot(E)title('训练误差','fontsize',12);xlabel('进化次数','fontsize',12);ylabel('误差','fontsize',12);%print -dtiff -r600 28-3%根据训出的灰色神经网络进行预测for i=31:36 t=i; LB_b=1/(1+exp(-w11*t)); %LB层输出 LC_c1=LB_b*w21; %LC层输出 LC_c2=y(i,2)*LB_b*w22; %LC层输出 LC_c3=y(i,3)*LB_b*w23; %LC层输出 LC_c4=y(i,4)*LB_b*w24; %LC层输出 LC_c5=y(i,5)*LB_b*w25; LC_c6=y(i,6)*LB_b*w26; LD_d=w31*LC_c1+w32*LC_c2+w33*LC_c3+w34*LC_c4+w35*LC_c5+w36*LC_c6; %LD层输出 theta=(1+exp(-w11*t))*(w22*y(i,2)/2+w23*y(i,3)/2+w24*y(i,4)/2+w25*y(i,5)/2+w26*y(i,6)/2-y(1,1)); %阀值 ym=LD_d-theta; %网络输出值 yc(i)=ym;endyc=yc*100000;y(:,1)=y(:,1)*10000;%计算预测的每月需求量for j=36:-1:2 ys(j)=(yc(j)-yc(j-1))/10;endfigure(2)plot(ys(31:36),'-*');hold onplot(X(31:36,1)*10000,'r:o');
英语翻译利用c编程及matlab软件对装置进行仿真,验证了装置的可行性.
英语翻译本文主要利用图论的最大流算法和最小费用流算法解决物流运输问题.对最大流算法和最小费用流算法进行介绍,然后再通过对
写图像算法 matlab和C分别处于什么位置
急用MATLAB进行人脸识别的算法修改和解释
FFT测量相位具体算法.在matlab中如何使用进行编程
用遗传算法改进bp网络过程中,用遗传算法对权值进行粗略搜索时,如何对染色体进行编码
英语翻译设计使用MATLAB软件,利用一周期m序列对一定周期的方波信号进行了仿真和分析.从扩频通信系统的组成原理及特点、
用matlab对下面公式做仿真,得到温度和偏振度之间的仿真曲线
对同一个基本有序的待排序列分别进行堆排序、快速排序和冒泡排序,最省时间的算法是___________
matlab的题目,利用K均值算法对以下30个点集合实施聚类.
关于遗传算法的疑惑!请高人指点!非常感谢! 模拟退火遗传算法和免疫遗传算法哪个改进的效果好
MSA测量系统分析里重复性和再现性的算法