24小时热门版块排行榜    

查看: 1636  |  回复: 7

s20090281

银虫 (小有名气)

[求助] 缩短程序运行时间的方法

CODE:
function [out]=fitness(in)
        a1=in(1)   
        a2=in(2)   
        a3=in(3)
         a4=in(4)   
         b1=in(5)
         u=load('C:\测试记录控制.txt');u1=u(2:399);                          %调用数据进行下面的饮运算
          y=load('C:\测试记录反馈.txt');y1=y(2:400);
          for k=3:399
                 f=[y(k)-a1*y1(k-1)-a2*y1(k-2)-a3*y1(k-3)-b1*u1(k-1)]^2        %求出各级数据的平方和并逐渐相加得到一组对对应变量的适应度        
             Msum(k)=c
           end
out=Msum(:,k);                %输出适应度

我想问问大家可不可以帮我把这段程序的运行时间缩短一些,
我用profiler看吧一下,主要是这两句被调用了两千多次,用了150多秒
u=load('C:\测试记录控制.txt');u1=u(2:399);                        
y=load('C:\测试记录反馈.txt');y1=y(2:400);
请大家帮我想想办法
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

【答案】应助回帖


s20090281(金币+3): 2011-09-22 20:02:04
xiegangmai(金币+1): 谢谢应助! 2011-09-22 22:04:40
很明显么,不要在循环中使用读写文件的指令
把这个指令放在你这个函数以外就是了
2楼2011-09-22 19:05:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

s20090281

银虫 (小有名气)

引用回帖:
2楼: Originally posted by 信彼南山 at 2011-09-22 19:05:53:
很明显么,不要在循环中使用读写文件的指令
把这个指令放在你这个函数以外就是了

要不你就给我举个例子,我数实在是愚笨。可是我这个函数就是要求算300多次的和,那如果不放这怎么求啊?
3楼2011-09-22 20:01:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

【答案】应助回帖


s20090281(金币+7): 2011-09-22 22:15:12
xiegangmai(金币+1): 谢谢应助! 2011-09-22 22:34:43
CODE:
   u=load('C:\测试记录控制.txt');u1=u(2:399);                          %调用数据进行下面的饮运算
          y=load('C:\测试记录反馈.txt');y1=y(2:400);

function [out]=fitness(in,y,u)
        a1=in(1)   
        a2=in(2)   
        a3=in(3)
         a4=in(4)   
         b1=in(5)
                for k=3:399
                 f=[y(k)-a1*y1(k-1)-a2*y1(k-2)-a3*y1(k-3)-b1*u1(k-1)]^2        %求出各级数据的平方和并逐渐相加得到一组对对应变量的适应度        
             Msum(k)=c
           end
out=Msum(:,k);                %输出适应度

这样不就完了,不把那个放你的函数里面
其实,你这个程序完全没有比较用子函数调用,直接在一个文件里面多一个循环就是了么
4楼2011-09-22 22:11:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

说实话,有教你怎么改的这功夫程序我都编完八遍了
5楼2011-09-22 22:12:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

s20090281

银虫 (小有名气)

引用回帖:
4楼: Originally posted by 信彼南山 at 2011-09-22 22:11:04:
[code]
   u=load('C:\测试记录控制.txt');u1=u(2:399);                          %调用数据进行下面的饮运算
          y=load('C:\测试记录反馈.txt');y1=y(2:400);

function [out]=fitness(in,y,u)
    ...

恩,你讲的很有道理,主要是我编程的时候上面计算完,下面的x要改变,改变了之后还要用这个函数计算,在这我就不会弄了,只好弄个函数调用了,呵呵,谢谢你的解答。
6楼2011-09-22 22:14:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

s20090281

银虫 (小有名气)

引用回帖:
4楼: Originally posted by 信彼南山 at 2011-09-22 22:11:04:
[code]
   u=load('C:\测试记录控制.txt');u1=u(2:399);                          %调用数据进行下面的饮运算
          y=load('C:\测试记录反馈.txt');y1=y(2:400);

function [out]=fitness(in,y,u)
    ...

可是这样写是不对的,会出现错误的
??? Error: File: myfun.m Line: 3 Column: 1
Function definitions are not permitted at the prompt or in scripts.

Error in ==> myPSO at 12
    fitness(i)=myfun(pop(i,);          %通过调用myfun计算适应度大小
7楼2011-09-22 22:18:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

s20090281

银虫 (小有名气)

引用回帖:
5楼: Originally posted by 信彼南山 at 2011-09-22 22:12:36:
说实话,有教你怎么改的这功夫程序我都编完八遍了

那你教教我怎么编程吧,从何学起,我只是以前学过matlab但是从来没用来编程这是第三个程序吧,还是参考别人的做的。我觉得你是个高手教我几招吧,我也好好修炼修炼
8楼2011-09-22 22:20:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 s20090281 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 导师不让硕转博,让我去国外读博,能理解吗? +12 萧山幽谷 2024-05-29 20/1000 2024-06-02 12:01 by yuan0806
[考博] 求25博导,金属增材制造方向 +3 22机械 2024-06-01 3/150 2024-06-02 11:17 by Napoleonsky
[基金申请] 离职后国自然项目不能变更单位,在新单位还能申请新的国自然项目吗 5+3 宜兰 2024-05-31 9/450 2024-06-02 09:42 by Xiaolin81
[教师之家] 职能部门工作人员态度不好是普遍的吗?怎么让他们态度好一些? +4 河西夜郎 2024-06-01 4/200 2024-06-02 09:14 by 摩天思瑞
[教师之家] 在大地上我们只过一生---看完我的阿勒泰上头了好几天,完结那天晚上几乎失眠 +11 瞬息宇宙 2024-05-27 13/650 2024-06-01 22:15 by otani
[硕博家园] 每天学术时间不能保证,能保证的只有: +10 hahamyid 2024-05-27 10/500 2024-06-01 21:11 by 小小芝麻影
[考博] 24or25材料专业申博 +4 农夫三拳有点痛 2024-05-30 11/550 2024-06-01 14:45 by Napoleonsky
[基金申请] B口人才项目 +9 WOWO159357 2024-05-29 19/950 2024-06-01 14:24 by linxuhuizj
[考博] 申博求助?本硕双非一篇三区和四区去985工科非天坑专业有没有希望? +4 LYS1200 2024-05-29 6/300 2024-06-01 08:50 by 学术渣渣神
[硕博家园] 哈工大硕博招生!博士每月入学! +4 nailooo 2024-05-30 5/250 2024-06-01 06:47 by anevay
[考博] 广东以理材料系碳点与功能材料课题组 — 2博士名额 / 科研助理 +4 小城夜很美 2024-05-27 11/550 2024-05-31 21:26 by 小城夜很美
[电化学] 有锂金属软包电池代工公司代做软包嘛 +5 yyywj995 2024-05-26 6/300 2024-05-30 08:33 by 那年的旧城
[论文投稿] 审稿专家比较坚定的让补充实验,但实在没法补充实验,修回还有希望吗? (EPI+1) 3+3 qweasd12345 2024-05-29 6/300 2024-05-30 08:11 by qweasd12345
[论文投稿] 有没有老师需要发表论文 +4 金老师论文助理- 2024-05-29 4/200 2024-05-29 16:51 by liuyupu132
[基金申请] E05青基有几个评审 +4 KYXY123 2024-05-28 4/200 2024-05-28 19:25 by popt2t
[基金申请] E10开始送了,希望有好运 +5 sail 2024-05-27 5/250 2024-05-28 18:36 by 芝小芝
[有机交流] 奇怪的物质 100+4 桃桃PXS 2024-05-27 7/350 2024-05-28 10:22 by 091602
[基金申请] 面上基金会评专家,有回避机制吗? +4 huang1991js 2024-05-27 4/200 2024-05-27 19:08 by 星火12
[硕博家园] 我是很理想化一人 +6 hahamyid 2024-05-26 6/300 2024-05-27 18:13 by 大飞鱼鱼鱼
[硕博家园] 课题做到一半担心做不出来怎么办 +4 mkpooooo 2024-05-27 7/350 2024-05-27 11:56 by kanmiaolucky
信息提示
请填处理意见