为什么unifrnd(磅,乌兰巴托,[nPop D])给错误?
11视图(30天)
显示旧的评论
Sadiq阿克巴
2020年12月26日
为什么下面的代码提供了错误呢?
磅= [0 0 0 0];乌兰巴托=(10 10ππ);nPop = 30;D = 4;
unifrnd(磅,乌兰巴托,[nPop D])
错误使用unifrnd
大小不一致的信息。
答案(1)
埃米尔哈姆萨
2020年12月26日
这不能在单个调用unifrnd完成。你需要一个循环
磅= [0 0 0 0];乌兰巴托=(10 10ππ);nPop = 30;
D =元素个数(磅);
M =兰德(nPop D);
为i = 1: D
米:我)= unifrnd(磅(i),乌兰巴托(我),[nPop 1]);
结束
31日评论
Sadiq阿克巴
2020年12月26日
非常感谢亲爱的埃米尔哈姆扎。但现在它给了另一个错误。你能帮我运行下面的算法适应度函数下面吗?
函数[xmin, fmin histout] = GQPSO(有趣,D, nPop磅,乌兰巴托,麦克斯特,maxeval)
%的输入:
%的乐趣:函数处理优化
% D:问题维度(数量的变量)
% nPop:粒子群的数量
%磅:下界约束
%乌兰巴托:上界约束
麦克斯特:%最大迭代次数
% maxeval: max函数评估的数量
%输出:
% xmin:找到最佳解决方案
% fmin:函数值的最佳解决方案,f (xmin)
% histout:记录和健身价值函数值的迭代
%的例子:
% = @griewankfcn乐趣;
% D = 30;
% nPop = 50;
%磅= -600;
%乌兰巴托= 600;
%麦克斯特= 1000;
% maxeval = 10000 * D;
% (xmin、fmin histout] = GQPSO(有趣,D, nPop磅,乌兰巴托,麦克斯特,maxeval);
%或直接:
% (xmin、fmin histout] = GQPSO (@griewankfcn、30、50、-600600、1000、10000 * 30);
% QPSO参数:
w1 = 0.5;
w2 = 1.0;
c1 = 1.5;
c2 = 1.5;
nPop = 30;%由我
%初始化解决方案
% x = unifrnd(磅,乌兰巴托,[nPop D]);%这条线给了错误,所以问的问题
% Mathworks网站,见下文
%校正由埃米尔哈姆萨sab Mathworks网站
x =兰德(nPop D);
为i = 1: D
x (:, i) = unifrnd(磅(i),乌兰巴托(我),[nPop 1]);
结束
%计算初始种群
pb = x;
麦克斯特,histout = 0 (2);
f_x =函数宏指令(有趣,x);
fval = nPop;
f_pbest = f_x;
(~ g) = min (f_pbest);
:gb = pb (g);
f_gbest = f_pbest (g);
= 1;
histout (1) = fval;
histout (2) = f_gbest;
而麦克斯特& & fval < < maxeval
α= (w2 - w1) *(麦克斯特-)/麦克斯特+ w1;
mb = (pb) / nPop总和;
为我= 1:nPop
fi = abs (randn (1 D));%高斯QPSO(科埃略,2010)
p = (c1 * fi。* pb(我:)+ c2 * (1-fi)。* gb) / (c1 + c2);
u = abs (randn (1 D));%高斯QPSO(科埃略,2010)
b =α* abs (x(我,:)- mb);
日志(1. v = / u);
如果兰德< 0.5
x(我:)= p + b。* v;
其他的
x(我:)= p - b。* v;
结束
%保持界限
x(我:)= max (x(我,:),磅);
x(我:)= min (x(我,:),乌兰巴托);
f_x (i) =乐趣(x(我,:));
fval = fval + 1;
如果f_x (i) < f_pbest(我)
pb(我:)= x(我:);
f_pbest (i) = f_x(我);
结束
如果< f_gbest f_pbest (i)
gb = pb(我);
f_gbest = f_pbest(我);
结束
结束
它= + 1;
histout (1) = fval;
histout (2) = f_gbest;
结束
xmin = gb;
fmin = f_gbest;
histout(+ 1:最终,)= [];
图
semilogy (histout (: 1) histout (:, 2))
标题(“高斯Q-PSO”)
包含(“功能评价”)
ylabel (“健身”)
网格在
结束
和我的适应度函数是:
函数= myfitness (b)
u = (1 2 3 4);
v = [b (1) (2) (3) b (4)];
着干活= uv
=(着干活)之和;
结束
当我在命令窗口输入followiong,它不运行
> > [xmin、fmin histout] = GQPSO (@myfitness 4 30日[0 0 0 0],[10 10ππ),100年,10000 * 4)
Sadiq阿克巴
2020年12月26日
非常感谢你的回应。当我输入上面的命令窗口,我遇到以下错误:
> > [xmin、fmin histout] = GQPSO (@myfitness 4 30日[0 0 0 0],[10 10ππ),100年,10000 * 4)
尝试访问f_pbest (2);指数界外因为元素个数(f_pbest) = 1。
错误在GQPSO(第99行)
如果f_x (i) < f_pbest(我)
沃尔特·罗伯森
2020年12月26日
健身功能预计将收到一个二维数组的行数与人口规模,列对应的变量,它将返回一个向量的大小随着人口大小是一样的。而不是你的健身功能预计四元素的向量作为输入,并返回一个标量。
函数= myfitness (b)
u = (1 2 3 4);
着干活=你;%需要R2016b或更高版本
=总和(着干活。^ 2,2);
结束
Sadiq阿克巴
2020年12月26日
谢谢你亲爱的沃尔特·罗伯森的第二反应。但是它给您的更改后以下错误:
[xmin, fmin histout] = GQPSO (@myfitness 4 30日[0 0 0 0],[10 10ππ),100年,10000 * 4)
指数超过矩阵维度。
错误在GQPSO(第101行)
如果f_x (i) < f_pbest(我)
沃尔特·罗伯森
2020年12月27日
Sadiq阿克巴
2020年12月27日
甚至我跑它也为适应度函数,但它给了我一个错误:
函数e = obj (b)
全球u
th =π/ 180;
u = [2 7 th 85 * 50 * th);%所有四个向量的角度
% % % % % % % % % % % % % % %
%交换向量b。帮助取自Mathworks网站
% % % % % % % % % % % % % % %
(~,ix) = (u)进行排序;
[~,ix1 (ix)] = (b)进行排序;
b = b (ix1);
[~ C] =大小(b);
P = C / 2;
M = 2 * C;
% M = 10;
xo = 0(1米);
为k = 1: M
为i = 1: P
xo (k) = xo (k) + u(我)* exp (1 * (k - 1) *π* cos (u (P + i)));
结束
结束
xe = 0(1米);
为k = 1: M
为i = 1: P
xe (k) = xe (k) + b(我)* exp (1 * (k - 1) *π* cos (b (P + i)));
结束
结束
美国广播公司(abc) = 0.0;
为m1 = 1: M
校正= + (abs (xo (m1) xe (m1))) ^ 2;
结束
美国广播公司abc / M =;
e =美国广播公司(abc);
和它给我保修期内以下错误:
下标赋值尺寸不匹配。
obj误差(12)行
[~,ix1 (ix)] = (b)进行排序;
错误GQPSO(56行)
f_x =函数宏指令(有趣,x);
沃尔特·罗伯森
2020年12月27日
我没有看到问题R2020b原始代码。
你能确认你使用R2016b而不是R2016a ?我上传的适应度函数需要R2016b或更高版本。
[xmin, fmin histout] = GQPSO (@myfitness 4 30日[0 0 0 0],[10 10ππ),100年,10000 * 4)
xmin =
1×4
0.9174 1.6567 3.1416 3.1416
fmin = 0.8816
histout =
100×2
30.0000 9.6990 60.0000 5.5803 90.0000 1.2189 120.0000 1.2189 150.0000 1.2189 180.0000 1.2189 210.0000 1.2189 240.0000 1.2189 270.0000 1.2189 300.0000 1.2189
●
函数= myfitness (b)
u = (1 2 3 4);
着干活=你;%需要R2016b或更高版本
=总和(着干活。^ 2,2);
结束
函数[xmin, fmin histout] = GQPSO(有趣,D, nPop磅,乌兰巴托,麦克斯特,maxeval)
%的输入:
%的乐趣:函数处理优化
% D:问题维度(数量的变量)
% nPop:粒子群的数量
%磅:下界约束
%乌兰巴托:上界约束
麦克斯特:%最大迭代次数
% maxeval: max函数评估的数量
%输出:
% xmin:找到最佳解决方案
% fmin:函数值的最佳解决方案,f (xmin)
% histout:记录和健身价值函数值的迭代
%的例子:
% = @griewankfcn乐趣;
% D = 30;
% nPop = 50;
%磅= -600;
%乌兰巴托= 600;
%麦克斯特= 1000;
% maxeval = 10000 * D;
% (xmin、fmin histout] = GQPSO(有趣,D, nPop磅,乌兰巴托,麦克斯特,maxeval);
%或直接:
% (xmin、fmin histout] = GQPSO (@griewankfcn、30、50、-600600、1000、10000 * 30);
% QPSO参数:
w1 = 0.5;
w2 = 1.0;
c1 = 1.5;
c2 = 1.5;
nPop = 30;%由我
%初始化解决方案
% x = unifrnd(磅,乌兰巴托,[nPop D]);%这条线给了错误,所以问的问题
% Mathworks网站,见下文
%校正由埃米尔哈姆萨sab Mathworks网站
x =兰德(nPop D);
为i = 1: D
x (:, i) = unifrnd(磅(i),乌兰巴托(我),[nPop 1]);
结束
%计算初始种群
pb = x;
麦克斯特,histout = 0 (2);
f_x =函数宏指令(有趣,x);
fval = nPop;
f_pbest = f_x;
(~ g) = min (f_pbest);
:gb = pb (g);
f_gbest = f_pbest (g);
= 1;
histout (1) = fval;
histout (2) = f_gbest;
而麦克斯特& & fval < < maxeval
α= (w2 - w1) *(麦克斯特-)/麦克斯特+ w1;
mb = (pb) / nPop总和;
为我= 1:nPop
fi = abs (randn (1 D));%高斯QPSO(科埃略,2010)
p = (c1 * fi。* pb(我:)+ c2 * (1-fi)。* gb) / (c1 + c2);
u = abs (randn (1 D));%高斯QPSO(科埃略,2010)
b =α* abs (x(我,:)- mb);
日志(1. v = / u);
如果兰德< 0.5
x(我:)= p + b。* v;
其他的
x(我:)= p - b。* v;
结束
%保持界限
x(我:)= max (x(我,:),磅);
x(我:)= min (x(我,:),乌兰巴托);
f_x (i) =乐趣(x(我,:));
fval = fval + 1;
如果f_x (i) < f_pbest(我)
pb(我:)= x(我:);
f_pbest (i) = f_x(我);
结束
如果< f_gbest f_pbest (i)
gb = pb(我);
f_gbest = f_pbest(我);
结束
结束
它= + 1;
histout (1) = fval;
histout (2) = f_gbest;
结束
xmin = gb;
fmin = f_gbest;
histout(+ 1:最终,)= [];
图
semilogy (histout (: 1) histout (:, 2))
标题(“高斯Q-PSO”)
包含(“功能评价”)
ylabel (“健身”)
网格在
结束
沃尔特·罗伯森
2020年12月27日
关于你新的适应度函数obj:正如我上面贴:
健身功能预计将收到一个二维数组的行数与人口规模,列对应的变量,它将返回一个向量的大小随着人口大小是一样的。
现在让我们检查你的代码:
u = [2 7 th 85 * 50 * th);%所有四个向量的角度
好吧,这是一个4元素的向量。
% % % % % % % % % % % % % % %
%交换向量b。帮助取自Mathworks网站
% % % % % % % % % % % % % % %
(~,ix) = (u)进行排序;
将返回向量[3 4 1 2]第九。
[~,ix1 (ix)] = (b)进行排序;
你问有一个二维数组进行排序与30行4列。信息,需要30 x 4输出位置,但ix1 (ix)将一个向量4的位置。同样,默认排序()操作沿着第一单体尺寸,这将是30 x 4数组的第一个维度,但似乎更有可能,你想沿着行,这将是第二个维度,看到,你期望一个数组的长度4所示。
为这一步我建议
[~,ix1] = (b, 2);
ix1 = ix1 (:, ix);
这将给你一个二维数组,其中每一行谈到了b的排序顺序为其相应的行吗
然后
b = b (ix1);
是一个问题,因为它并不进行重新排序。
现在. .真的是,代码试图做什么? ?
让我们试验:
=π/ 180
u = [2 7 th 85 * 50 * th)
(~,ix) = (u)排序
b = [4 1 3 2]
[~,ix1] = (b)排序
第九ix1 = ix1 (:,)
new_b = b (ix1)
b_2 = [0 17 -11 6]
[~,ix1_2] = (b_2)排序
第九ix1_2 = ix1_2 (:,)
new_b_2 = b_2 (ix1)
第九出来作为[3 4 1 2]
new_b出来作为[3 4 1 2]
new_b_2出来[0 17 -11 6]
t =排序(b; b_2, 2)
t(第九:,)
出来,
3 4 1 2
0 17 -11 6
所以看起来我好像想b行然后再订购的排序。在这种情况下我建议
th =π/ 180;
u = [2 7 th 85 * 50 * th);
(~,ix) = (u)进行排序;
sort_b =排序(b, 2);
b = sort_b (:, ix);
Sadiq阿克巴
2020年12月27日
非常感谢亲爱的沃尔特·罗伯森4响应。的确是的我用Matlalab R2016b。这次我取代了交换部分在你上面的代码,即。
函数e = obj (b)
全球u
th =π/ 180;
u = [2 7 th 85 * 50 * th);%所有四个向量的角度
% % % % % % % % % % % % % % %
%交换向量b。帮助取自Mathworks网站
% % % % % % % % % % % % % % %
(~,ix) = (u)进行排序;
sort_b =排序(b, 2);
b = sort_b (:, ix);
[~ C] =大小(b);
P = C / 2;
M = 2 * C;
% M = 10;
xo = 0(1米);
为k = 1: M
为i = 1: P
xo (k) = xo (k) + u(我)* exp (1 * (k - 1) *π* cos (u (P + i)));
结束
结束
xe = 0(1米);
为k = 1: M
为i = 1: P
xe (k) = xe (k) + b(我)* exp (1 * (k - 1) *π* cos (b (P + i)));
结束
结束
美国广播公司(abc) = 0.0;
为m1 = 1: M
校正= + (abs (xo (m1) xe (m1))) ^ 2;
结束
美国广播公司abc / M =;
e =美国广播公司(abc);
我跑,但这次它给了以下错误:
指数超过矩阵维度。
错误GQPSO(60)行
f_pbest = min (f_x (i));
Sadiq阿克巴
2020年12月27日
此外,亲爱的沃尔特·罗伯森!
我申请了我的几个算法的适应度函数。它从来没有给过我任何问题。但这给了错误。所以我请求如果你可以做算法的变化而不是做我的适应度函数的变化,这将是很好。因为如果我的适应度函数的变化,那么它会给问题与其他算法。我的意思是说没有问题在我的几个算法适应度函数直到现在,但它给了错误。如果你改变它,然后它会给其他算法的问题。所以我请求请改变给定的算法,以便它可以运行我的适应度函数。我希望你理解。谢谢你再一次。
沃尔特·罗伯森
2020年12月27日
之前我发了两次:
健身功能预计将收到一个二维数组的行数与人口规模,列对应的变量,它将返回
一个向量
这是相同的尺寸吗
人口规模
。
obj是返回一个标量,而不是一个向量长度为30。
不可能改变算法考虑到目标函数返回错误的结果。
沃尔特·罗伯森
2020年12月27日
xe (k) = xe (k) + b(我)* exp (1 * (k - 1) *π* cos (b (P + i)));
b有多少行?多少行b行访问吗?
在哪里你的代码在b为每一行生成一个输出吗?
Sadiq阿克巴
2020年12月27日
编辑:Sadiq阿克巴
2020年12月27日
非常感谢你的迅速反应亲爱的沃尔特·罗伯森!
在我的适应度函数“u”是我期望的向量和每个算法发送一个向量大小相同的u因为我给维向量算法。那算法生成随机人口30到50取决于有多少我设置。的人口,该算法发送我的算法和健身的一个份子是确定并保存在一个变量中。然后the algorithm sends next memebr of that population to my fitness function and again fitness of that is found and is saved in that old varibale and so on. So up till now my fitness function runs with all the algorithms, but it gives problem here. So can't you make such changes that the algorithm sends one row vector instead of entire population to my fitness funtion as before with other algorithms?
u向量是一个4行向量元素,因此该算法必须发送“b”一样的尺寸向量u。然后它会工作。
沃尔特·罗伯森
2020年12月27日
阅读你的代码!
x =兰德(nPop D);
为i = 1: D
x (:, i) = unifrnd(磅(i),乌兰巴托(我),[nPop 1]);
结束
所以x是完整的矩阵,矩阵的一行。
f_x =函数宏指令(有趣,x);
和你调用你的函数
整个
x矩阵。
你的目标函数
必须
返回一个值为每个群体成员。
Sadiq阿克巴
2020年12月27日
谢谢你的及时响应。你是对的亲爱的。我理解你的原因。但我想做一些改变给定的算法,算法将一行一次完整的矩阵x的健身,存储,然后算法发送完整矩阵x的第二行,发现健身、商店等等。
Sadiq阿克巴
2020年12月27日
是这样的:
%初始化人口/解决方案金宝搏官方网站
为i = 1: n,
索尔(我:)=磅+ (Ub-Lb)。*兰德(1 d);
健身(i) = obj (Sol(我,:));%我的适应度函数
结束
这是我从其他一部分算法给你们。
沃尔特·罗伯森
2020年12月27日
%初始化人口/解决方案金宝搏官方网站
为i = 1: n,
索尔(我:)=磅+ (Ub-Lb)。*兰德(1 d);
f_x (i) = obj (Sol(我,:));%我的适应度函数
结束
Sadiq阿克巴
2020年12月27日
谢谢你的更正。现在跑部分为:
f_x =
列1到9
0 0 0 0 0 0 0 0 0
列10到18
0 0 0 0 0 0 0 0 0
列19到27日
0 0 0 0 0 0 0 0 0
列28日到30日
0 0 81.9367
指数超过矩阵维度。
错误GQPSO(第106行)
如果f_x(我)< f_pbest(我)
Sadiq阿克巴
2020年12月27日
谢谢你不断的支持亲爱的。金宝app后运行它给如下:
f_x =
65.4690
f_x =
65.4690 - 144.7119
f_x =
65.4690 144.7119 29.7280
f_x =
65.4690 144.7119 29.7280 45.6022
f_x =
65.4690 144.7119 29.7280 45.6022 177.2501
f_x =
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253
f_x =
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983
f_x =
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193
f_x =
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10
121.0852
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到11
121.0852 - 141.2146
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到12
121.0852 141.2146 179.5222
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到13
121.0852 141.2146 179.5222 63.1976
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到14
121.0852 141.2146 179.5222 63.1976 124.7700
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到15
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到16
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到17
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19
158.4781
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到20
158.4781 - 247.8008
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到21
158.4781 247.8008 52.9352
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到22
158.4781 247.8008 52.9352 143.4848
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到23
158.4781 247.8008 52.9352 143.4848 99.6341
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到24
158.4781 247.8008 52.9352 143.4848 99.6341 11.2423
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到25
158.4781 247.8008 52.9352 143.4848 99.6341 11.2423 67.4893
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到26
158.4781 247.8008 52.9352 143.4848 99.6341 11.2423 67.4893 78.8733
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到27日
158.4781 247.8008 52.9352 143.4848 99.6341 11.2423 67.4893 78.8733 90.7319
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到27日
158.4781 247.8008 52.9352 143.4848 99.6341 11.2423 67.4893 78.8733 90.7319
列28
94.8255
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到27日
158.4781 247.8008 52.9352 143.4848 99.6341 11.2423 67.4893 78.8733 90.7319
列28至29
94.8255 - 136.7698
f_x =
列1到9
65.4690 144.7119 29.7280 45.6022 177.2501 65.6253 149.4983 184.3193 110.8635
列10到18
121.0852 141.2146 179.5222 63.1976 124.7700 110.8142 165.7112 86.9005 117.7920
列19到27日
158.4781 247.8008 52.9352 143.4848 99.6341 11.2423 67.4893 78.8733 90.7319
列28日到30日
94.8255 136.7698 152.8737
指数超过矩阵维度。
错误GQPSO(第106行)
如果f_x(我)< f_pbest(我)
> >
Sadiq阿克巴
2020年12月28日
非常感谢亲爱的沃尔特·罗伯森的努力。我跑了。现在它的工作。我得到的图。但是当我把分号从“xmin”和“fmin”看到自己的价值。在这个xmin估计向量必须几乎像我的u vectro”obj。m”文件。但是我看到它不一样的u向量。很多的变化值,有时他们的价值观改变立场。你可以看到我的不同的运行:
> > myfit_driver
xmin =
0.9932 2.1081 2.9842 3.1416
fmin =
0.7489
> > myfit_driver
xmin =
0.9396 1.9000 3.0854 3.1416
fmin =
0.7578
> > myfit_driver
xmin =
0.9186 1.9747 2.9763 3.1416
fmin =
0.7447
> > myfit_driver
xmin =
1.0536 2.0371 3.1416 3.1416
fmin =
0.7612
> > myfit_driver
xmin =
1.0377 2.0226 2.8995 3.1416
fmin =
0.7489
> > myfit_driver
xmin =
0.9598 1.9679 2.8777 3.1416
fmin =
0.7545
> > myfit_driver
xmin =
1.0721 1.8975 3.0554 3.1416
fmin =
0.7556
> > myfit_driver
xmin =
1.0148 1.8979 2.9469 3.1416
fmin =
0.7503
> > myfit_driver
xmin =
0.9659 2.0040 3.1416 3.1416
fmin =
0.7581
> > myfit_driver
xmin =
0.9647 2.0892 3.0875 3.1416
fmin =
0.7537
> > myfit_driver
xmin =
0.8858 1.9868 3.0025 3.1416
fmin =
0.7501
> > obj_driver
xmin =
1.7087 5.7792 1.4902 0.8463
fmin =
1.9548
> > obj_driver
xmin =
3.0668 5.6929 0.8875 1.4876
fmin =
3.0838
> > obj_driver
xmin =
1.4781 5.9054 1.5567 0.8601
fmin =
1.7798
> > obj_driver
xmin =
2.4717 8.4429 0.8501 1.4941
fmin =
3.8352
> > th =π/ 180;
u = [2 7 th 85 * 50 * th)
u =
2.0000 7.0000 0.8727 1.4835
> > obj_driver
xmin =
1.4817 7.0154 0.9122 1.5292
fmin =
0.7388
> > obj_driver
xmin =
6.6405 2.0153 0.8459 1.4795
fmin =
0.5694
> >
现在做什么亲爱的?
Sadiq阿克巴
2020年12月28日
此外,我咆哮的时候用自己的老适应度函数(chnages之前),这给了错误为:
下标赋值尺寸不匹配。
错误在fun2sn0(13号线)
[~,ix1 (ix)] = (b)进行排序;%临时存储算法随机生成的向量“最好”
错误GQPSO(54行)
f_x (i) =函数宏指令(有趣,x(我,:));
错误myfit_driver(2行)
[xmin, fmin histout] = GQPSO (@fun2sn0 4 30日[0 0 0 0],[10 10ππ),2000年,10000 * 4);
一个错误发生
无法完成的行动,因为页面所做的更改。重新加载页面更新状态。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。