24小时热门版块排行榜    

查看: 1563  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0856材料专硕353求调剂 +3 NIFFFfff 2026-03-20 3/150 2026-03-21 10:23 by luoyongfeng
[考研] 306求调剂 +4 chuanzhu川烛 2026-03-18 4/200 2026-03-21 08:25 by laoshidan
[考研] 316求调剂 +6 梁茜雯 2026-03-19 6/300 2026-03-21 06:32 by Ecowxq666!
[考研] 机械专硕299求调剂至材料 +3 kkcoco25 2026-03-16 4/200 2026-03-21 03:52 by JourneyLucky
[考研] 二本跨考郑大材料306英一数二 +3 z1z2z3879 2026-03-17 3/150 2026-03-21 02:29 by JourneyLucky
[考研] 350求调剂 +5 weudhdk 2026-03-19 5/250 2026-03-20 22:04 by luoyongfeng
[考研] 295复试调剂 +8 简木ChuFront 2026-03-19 8/400 2026-03-20 20:44 by zhukairuo
[考研] 材料学求调剂 +4 Stella_Yao 2026-03-20 4/200 2026-03-20 20:28 by ms629
[考研] 261求B区调剂,科研经历丰富 +3 牛奶很忙 2026-03-20 4/200 2026-03-20 19:34 by JourneyLucky
[考研] 0856调剂,是学校就去 +8 sllhht 2026-03-19 9/450 2026-03-20 14:25 by 无懈可击111
[考研] 298-一志愿中国农业大学-求调剂 +9 手机用户 2026-03-17 9/450 2026-03-20 14:24 by 无懈可击111
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 6/300 2026-03-19 17:18 by fei626-918
[考研] 0703化学调剂 +5 pupcoco 2026-03-17 8/400 2026-03-19 13:58 by houyaoxu
[考研] 085601专硕,总分342求调剂,地区不限 +5 share_joy 2026-03-16 5/250 2026-03-18 14:48 by haxia
[考研] 材料专硕326求调剂 +6 墨煜姒莘 2026-03-15 7/350 2026-03-17 17:10 by ruiyingmiao
[考研] 有没有道铁/土木的想调剂南林,给自己招师弟中~ +3 TqlXswl 2026-03-16 7/350 2026-03-17 15:23 by TqlXswl
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
[考研] 333求调剂 +3 文思客 2026-03-16 7/350 2026-03-16 18:21 by 文思客
[考研] 304求调剂 +5 素年祭语 2026-03-15 5/250 2026-03-16 17:00 by 我的船我的海
[考研] 321求调剂 +5 大米饭! 2026-03-15 5/250 2026-03-16 16:33 by houyaoxu
信息提示
请填处理意见