24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1609  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 290求调剂 +8 luoziheng 2026-04-10 8/400 2026-04-11 10:48 by qingpingzhu
[考研] 电气工程专硕320求调剂 +4 小麻子111 2026-04-10 4/200 2026-04-11 10:19 by Delta2012
[考研] 293求调剂 +6 勇远库爱314 2026-04-08 6/300 2026-04-11 10:08 by zhq0425
[找工作] 山东高校教师考核超级无底线,员工过不下去啦 +3 qut2026 2026-04-09 5/250 2026-04-10 22:52 by qut2026
[考研] 一志愿矿大,材料工程专硕314分,0856可调都可以 +15 无懈可击的巨人 2026-04-09 15/750 2026-04-10 18:10 by hmn_wj
[考研] 344求调剂 +7 丶风雪夜归人丶 2026-04-09 7/350 2026-04-10 12:05 by pengliang8036
[考研] 296求调剂 +6 汪!?! 2026-04-08 6/300 2026-04-10 11:02 by mattzhming
[考研] 085601初试330分找调剂 +10 流心奶黄包l 2026-04-09 10/500 2026-04-10 08:14 by Sammy2
[考研] 本科211 工科085400 280分求调剂 可跨专业 +3 LZH(等待调剂中 2026-04-09 3/150 2026-04-09 21:29 by wutongshun
[考研] 348求调剂 +3 candyyyi 2026-04-09 3/150 2026-04-09 17:20 by 段伟艳
[考研] 复试调剂,一志愿郑州大学材料与化工289分 +31 硕星赴 2026-04-08 31/1550 2026-04-09 16:54 by Delta2012
[考研] 085600,321分求调剂 +19 大馋小子 2026-04-04 20/1000 2026-04-09 14:12 by Delta2012
[考研] 331求调剂 +5 luoxin0706. 2026-04-08 5/250 2026-04-08 22:15 by zhouyuwinner
[考研] 312求调剂 +4 Say Never 2026-04-04 4/200 2026-04-08 08:41 by barlinike
[考研] 298求调剂 +4 残荷新柳 2026-04-07 4/200 2026-04-07 23:02 by lbsjt
[考研] 277求调剂 数一104分 +9 瓶子PZ 2026-04-05 14/700 2026-04-07 17:52 by 蓝云思雨
[考研] 0855求调剂材料 +11 红桃灼灼 2026-04-04 12/600 2026-04-06 10:26 by 蓝云思雨
[考研] 377求调剂 +6 by.ovo 2026-04-05 6/300 2026-04-05 22:18 by dongzh2009
[考研] 材料383求调剂 +5 郭阳阳阳成 2026-04-04 5/250 2026-04-04 19:06 by dongzh2009
[考研] 一志愿南农090401,268,求调剂 +5 一木鸟然 2026-04-04 5/250 2026-04-04 17:07 by babysonlkd
信息提示
请填处理意见