24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1604  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

s20090281

银虫 (小有名气)

[求助] matlab中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最小
CODE:
function [out]=fitness(x)

CODE:
ai=x(i,:)           %第几组数据就是取第几个

CODE:
a1=ai(1)

CODE:
a2=ai(2)

CODE:
a3=ai(3)

CODE:
a4=ai(4)

CODE:
u=load('F:\测试记录控制.txt');u1=u(2:399,2);

CODE:
y=load('F:\测试记录反馈.txt');y1=y(2:400,2);

CODE:
c=0;

CODE:
for k=3:399

CODE:
f=[y(k)-a1*y1(k-1)-a2*y1(k-2)-a3*y1(k-3)-b1*u1(k-1)]^2        %求出各级数据的平方和并逐渐相加得到一组对对应变量的适应度

CODE:
c=c+f

CODE:
Msum(k)=c

CODE:
end

CODE:
out=Msum(:,k);                %输出适应度

那么在粒子群算法中应如何调用这个函数呢?当位置和速度更新后,怎么计算这时的适应度呢?
CODE:
ffitness(i)=fitness(pop(i,:))

这样调用为什么会出错呢?请各位帮我这个新手解答一下,谢谢
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

s20090281

银虫 (小有名气)

引用回帖:
2楼: Originally posted by 信彼南山 at 2011-09-20 16:08:20:
你这代码写的,放在一个code里面就行了

你可否帮我解决一下这个问题,我的只能运行一组当运行第二组时就会出现。我在正文中这么调用函数
for i=1:size
    pop(i,=2*rand(size,1)-1
    v(i,=rand(size,1)
    fitness(i)=fitness(pop(i,)
end
??? Subscript indices must either be real positive integers or logicals.
Error in ==> myPSO at 14
    fitness(i)=fitness(pop(i,)
我查了一下是下标不正确,可是那怎么改呢?
3楼2011-09-20 16:20:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

信彼南山

木虫 (著名写手)


xiegangmai(金币+1): 谢谢参与! 2011-09-20 22:33:25
你这代码写的,放在一个code里面就行了
2楼2011-09-20 16:08:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

你这代码也太乱了吧
你不会重新整理一下啊
4楼2011-09-20 19:08:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

s20090281

银虫 (小有名气)

引用回帖:
4楼: Originally posted by 信彼南山 at 2011-09-20 19:08:37:
你这代码也太乱了吧
你不会重新整理一下啊

CODE:
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);                %输出适应度

5楼2011-09-20 20:04:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 280求调剂 +12 李rien 2026-04-04 12/600 2026-04-10 21:19 by zhouxiaoyu
[考研] 332求调剂 +12 蕉蕉123 2026-04-10 12/600 2026-04-10 19:01 by hmn_wj
[考研] 一志愿0703化学招61最终排名62化学求调剂 +24 招61排名62 2026-04-07 28/1400 2026-04-10 16:15 by yx54321
[考研] 0854求调剂 +5 assdll 2026-04-05 5/250 2026-04-10 15:32 by 高维春
[考研] 一志愿中南大学物理学,英一66,求调剂 +4 长烟旖旎 2026-04-08 5/250 2026-04-10 10:31 by 颖果儿
[考研] 292求调剂 +9 笑笑袁 2026-04-09 9/450 2026-04-10 10:05 by LHGeng
[考研] 086003调剂求助 +19 苏弋万 2026-04-09 20/1000 2026-04-09 20:48 by bljnqdcc
[考研] 调剂 +8 只叙离别辞 2026-04-09 10/500 2026-04-09 20:25 by zl8213662
[考研] 266求调剂,一志愿哈工程电子信息,本科获多项国奖和省奖 +4 lumine1 2026-04-06 4/200 2026-04-09 17:38 by vgtyfty
[考研] 085501机械英二77总分294求调剂,接受跨专业学习 +6 守法公民亓纪 2026-04-08 6/300 2026-04-09 15:55 by wp06
[考研] 085501机械专硕 302分 不挑专业求调剂 +5 汪某. 2026-04-09 5/250 2026-04-09 15:38 by 蒋皓禹
[考研] 调剂 +12 月@163.com 2026-04-08 12/600 2026-04-09 14:27 by rl1980
[考研] 材料调剂 +14 一样YWY 2026-04-05 15/750 2026-04-09 13:36 by 故人??
[考研] 求调剂 +8 吃口冰激凌 2026-04-07 8/400 2026-04-09 08:03 by 5268321
[考研] 材料专硕(0856) 339分求调剂 +16 哈哈哈鹅哈哈哈 2026-04-05 16/800 2026-04-08 16:02 by luoyongfeng
[考研] 301求调剂 +18 121. 2026-04-04 18/900 2026-04-07 17:49 by 蓝云思雨
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +11 大火山小火山 2026-04-05 11/550 2026-04-06 22:55 by yunlongyang
[考研] 081200-11408-276学硕求调剂 +5 崔wj 2026-04-05 5/250 2026-04-06 15:40 by lin-da
[考研] 302分 085601求调剂推荐 +11 zyx上岸! 2026-04-05 11/550 2026-04-05 22:13 by dongzh2009
[考研] 复试调剂 +6 范根培 2026-04-04 6/300 2026-04-04 14:27 by 土木硕士招生
信息提示
请填处理意见