早教吧作业答案频道 -->其他-->
关于粒子群算法中调用m文件出错我最近参考别人的程序写了一个自己的程序但是代入不了fitness函数,)我要做的是y(k)=a1*y(k-1)+b1*u(k-1)+a2*y(k-2)+a3*y(k-3)函数a1,a2,a3,b1.已知y和u,我把适应度取为399组
题目详情
关于粒子群算法中调用m文件出错
我最近参考别人的程序写了一个自己的程序但是代入不了fitness函数,) 我要做的是y(k)=a1*y(k-1)+b1*u(k-1)+a2*y(k-2)+a3*y(k-3)函数a1,a2,a3,b1.已知y和u,我把适应度取为399组数据的[y(k)-a1*y(k-1)-b1*u(k-1)-a2*y(k-2)-a3*y(k-3)]^2最小,
function [out]=fitness(x)
ai=x(i,:) %第几组数据就是取第几个;
a1=ai(1)
a2=ai(2)
a3=ai(3)
a4=ai(4)
u=load('F:\测试记录控制.txt');u1=u(2:399,2);
y=load('F:\测试记录反馈.txt');y1=y(2:400,2);
c=0;
for k=3:399
f=[y(k)-a1*y1(k-1)-a2*y1(k-2)-a3*y1(k-3)-b1*u1(k-1)]^2 %求出各级数据的平方和并逐渐相加得到一组对对应变量的适应度
c=c+f
Msum(k)=c;
end%
out=Msum(:,k); %输出适应度
那么在粒子群算法中应如何调用这个函数呢?当位置和速度更新后,怎么计算这时的适应度呢?
fitness(i)=fitness(pop(i,:)这样调用为什么会出错呢?而且是在计算第一组数据的时候正确,用行第二组数据就出现
pop =
-0.0069 0.7995 0.6433 0.2898 0.6359
0.4542 -0.3814 0.6770 0.1361 -0.2592
v =
0.6602 0.3420 0.2897 0.3412 0.5341
0.7027 0.5466 0.4449 0.6946 0.6213
Subscript indices must either be real positive integers or logicals.
Error in ==> myPSO at 14
fitness(i)=fitness(pop(i,:))
就是这位热心人,如果你上来,请来这再做个回复,我把分给你,谢谢你的回复,真不好意思.
我最近参考别人的程序写了一个自己的程序但是代入不了fitness函数,) 我要做的是y(k)=a1*y(k-1)+b1*u(k-1)+a2*y(k-2)+a3*y(k-3)函数a1,a2,a3,b1.已知y和u,我把适应度取为399组数据的[y(k)-a1*y(k-1)-b1*u(k-1)-a2*y(k-2)-a3*y(k-3)]^2最小,
function [out]=fitness(x)
ai=x(i,:) %第几组数据就是取第几个;
a1=ai(1)
a2=ai(2)
a3=ai(3)
a4=ai(4)
u=load('F:\测试记录控制.txt');u1=u(2:399,2);
y=load('F:\测试记录反馈.txt');y1=y(2:400,2);
c=0;
for k=3:399
f=[y(k)-a1*y1(k-1)-a2*y1(k-2)-a3*y1(k-3)-b1*u1(k-1)]^2 %求出各级数据的平方和并逐渐相加得到一组对对应变量的适应度
c=c+f
Msum(k)=c;
end%
out=Msum(:,k); %输出适应度
那么在粒子群算法中应如何调用这个函数呢?当位置和速度更新后,怎么计算这时的适应度呢?
fitness(i)=fitness(pop(i,:)这样调用为什么会出错呢?而且是在计算第一组数据的时候正确,用行第二组数据就出现
pop =
-0.0069 0.7995 0.6433 0.2898 0.6359
0.4542 -0.3814 0.6770 0.1361 -0.2592
v =
0.6602 0.3420 0.2897 0.3412 0.5341
0.7027 0.5466 0.4449 0.6946 0.6213
Subscript indices must either be real positive integers or logicals.
Error in ==> myPSO at 14
fitness(i)=fitness(pop(i,:))
就是这位热心人,如果你上来,请来这再做个回复,我把分给你,谢谢你的回复,真不好意思.
▼优质解答
答案和解析
做任务 请谅解
看了 关于粒子群算法中调用m文件出...的网友还看了以下:
关于粒子群算法中调用m文件出错我最近参考别人的程序写了一个自己的程序但是代入不了fitness函数 2020-05-15 …
高一数学题目..不会..求解1.已知U=R,A{X∈R|1<X<4}B={X∈R|X≤-1或X≥3 2020-05-23 …
定义全集U的子集A的特征函数为fA(x)=1,x∈A0,x∈CUA,这里∁UA表示集合A在全集U中 2020-05-24 …
Matlab;已知u=0:0.1:1;△u=[0.100.1210.130.1410.150.16 2020-06-05 …
已知u=f(x,y)满足r(δu/δr)=x,δu/δθ=y,这里(θ,r)为极坐标.求δu/δx 2020-06-27 …
.已知u=220sin(628t+π/3)V,i=10sin(628t-π/3)A,则交流电的f= 2020-07-30 …
怎么利用mathematica解三元五次方程组?如题:B1,B2,B3,u,m为已知常数,怎么利用m 2020-11-01 …
1.三个连续偶数的和是18,则这三个偶数从小到大依次是().2.已知U=Uο(1+at)(Uο不等于 2020-11-06 …
(2013•肇庆二模)定义全集U的子集M的特征函数为fM(x)=1,x∈M0,x∈CUM,这里∁UM 2020-11-12 …
考研高数问题。已知梯度的定义为:u对x偏导=P,u对y偏导=Q,u对z偏导=R,(P,Q,R)为函数 2020-12-19 …