如何从同一个函数创建的不同数组中获取数据
3次浏览(过去30天)
显示旧的注释
我有一个数据
位置(DE,呃,不)
13.0358109633153 7.29645405403526 1.93185356261591
11.6734834559360 1.24957327651606 0.382506369952874
19.5973279571221 2.91975489592012 3.01537406416702
19.2470045171241 1.93920480774493 1.04589509828743
6.89871768243832 9.33568916859900 2.01427092942622
5.53701248919927 1.60427609048376 2.04583332944291
7.55697709232973 1.39803559972575 2.23169951768857
1.92111202753096 6.18480688432816 0.153797552224977
11.5078816269411 7.91832559445504 1.25329718843926
9.01559229793461 5.73664601452083 0.400867067225150
健身
9.28064574272322
320.350630350650
5.88518035366886
11.7141376654576
8.83060849143833
5.13276803550592
5.40442492637360
2564.77531252141
18.0403993923121
472.153376001588
我试着计算最佳的位置,有最好的适应度
我使用Fbest=min(适应度)从数据中获得最佳适应度,但我不能自动获得位置。我知道最佳适应度是5.1327,也就是说从位置数据来看,最佳位置是数据6
当我获得最佳体能时,我如何自动获得最佳位置?
这是我的初始化代码
clc;
抽搐
UkPop = 30;人口的百分比
A_loud = 0.5;%响度
R_ratio = 0.6;%脉搏率
Alpha = 0.9;%α
Gamma = alpha;%γ
Frek_min = 0;最小频率
Frek_max = 5;最大频率
It = 1%的迭代
MaxIt = 10最大迭代次数
Dimensi = 3;%将被优化的尺寸参数
Frek_Bat = 0 (UkPop,1);%的频率
Kecepatan =零(UkPop,Dimensi);%的速度
Konstraint =[20 10 5 .%最大
0.1 0.1 0.1];%的最低
为ix = 1:UkPop,
为is = 1:维度
Bat_Position(ix,is) = Konstraint(2,is)+rand*(Konstraint(1,is)-Konstraint(2,is));
结束
ER = Bat_Position(ix,1);
DE = Bat_Position(ix,2);
OT = Bat_Position(ix,3);
sim卡(“Outer_control”);
t = ScopeDatabat.time;
y = ScopeDatabat.signals.values;
为i = 1:1001
错误(我)= abs (y (i) ^ 2) * t(我);
结束
ITAE =总和(错误);
:健身(ix) = ITAE;
ITAE
9
结束
%最好
[Fitness_Min,Indeks] = min(适合度);
posisi_terbaik_Bat = Bat_Position(Indeks,:);