如何从同一个函数创建的不同数组中获取数据

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,:);
2的评论
易碎的纳
易碎的纳 2022年10月10日
谢谢你!是的,它工作了,我重新检查了它,实际上我认为我的下一个脚本是错误的原因

登录评论。

答案(0)

类别

了解更多最小二乘帮助中心而且文件交换

标签

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

翻译的

Baidu
map