查看: 4856|回复: 8|关注: 1

[已答复] 一个关于timer()的问题,为什么我一调用timer(),显示:“计算计时器 'timer-1' 的 TimerFcn 时出错 输入参数太多”的错误?

[复制链接]

新手

18 麦片

财富积分


050


9

主题

19

帖子

0

最佳答案
发表于 2019-2-13 20:22:54 | 显示全部楼层 |阅读模式

原本是想使用timer()函数做一个定时器,想让程序一直运行下去,但是不知道为什么,我一调用timer()函数就显示:
“计算计时器 'timer-1' 的 TimerFcn 时出错 输入参数太多”的错误,请问这是为什么?



  1. t=timer();
  2. t.StartDelay = 1;%延时1秒开始
  3. t.ExecutionMode = 'fixedRate';%启用循环执行
  4. t.Period = 2;%循环间隔2秒
  5. t.TasksToExecute = inf;%循环次数无限
  6. t.TimerFcn = {@tianshi};
  7. start(t);


  8. function tianshi()
  9. kaishi = "运行中...";
  10. kaishi
  11. clear
  12. clc
  13. close all

  14. P=[0.00019 -0.00017 0.00028 0.00035 0.00110;
  15.     -0.00036 0.00009 0.00016 0.00091 0.00030;
  16.     0.00045 0.00052 0.00127 0.00066 0.00112;
  17.     0.00007 0.00082 0.00021 0.00067 0.00095;
  18.     0.00075 0.00014 0.00060 0.00088 0.00035;];
  19. T=[0.00075 0.00014 0.00060 0.00088 0.00035;];

  20. [p1,ps] = mapminmax(P);
  21. [t1,ts] = mapminmax(T);

  22. %创建网络
  23. %net=newff(minmax(P),[5,5,1],{'tansig','tansig','purelin'},'trainlm');

  24. net = newff(p1,t1,5,{'tansig', 'purelin'}, 'traingd');

  25. %设置训练次数
  26. net.trainParam.epochs = 5000;
  27. %设置收敛误差
  28. net.trainParam.goal=0.00001;
  29. net.trainParam.showWindow = 0;
  30. %训练网络
  31. [net,tr]=train(net,p1,t1);


  32. %输入数据
  33. a=[-0.00019;0.00036;-0.00045;-0.00007;-0.00075];
  34. %将输入数据归一化
  35. anew = mapminmax('apply',a,ps);
  36. %放入到网络输出数据
  37. b=sim(net,anew);
  38. %将得到的数据反归一化得到预测数据
  39. c = mapminmax('reverse',b,ts);
  40. c
  41. csvwrite('e://lianjie_c.csv',c);

  42. end


复制代码


回复主题 已获打赏: 0 积分

举报

新手

18 麦片

财富积分


050


9

主题

19

帖子

0

最佳答案
 楼主| 发表于 2019-2-13 21:10:45 | 显示全部楼层
好吧,我看了帮助文件自己搞定了
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
发表于 2019-2-21 17:33:18 | 显示全部楼层
怎么解决的能告诉我下吗?我也碰到这个问题了
回复此楼 已获打赏: 0 积分

举报

新手

7 麦片

财富积分


050


8

主题

40

帖子

0

最佳答案
发表于 2019-5-26 08:38:00 | 显示全部楼层
楼主怎么解决的,我也遇到同样的问题了
回复此楼 已获打赏: 0 积分

举报

新手

6 麦片

财富积分


050


1

主题

5

帖子

0

最佳答案
发表于 2019-7-20 09:46:19 | 显示全部楼层
刘三千 发表于 2019-2-13 21:10
好吧,我看了帮助文件自己搞定了

在你不会的时候,你希望别人帮你解决问题;
在你会了以后,你又不想告诉大家;
你这种心态,我求你别来论坛提问了好吗?
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


0

主题

1

帖子

0

最佳答案
发表于 2019-10-14 15:34:50 | 显示全部楼层
八月初一 发表于 2019-5-26 08:38
楼主怎么解决的,我也遇到同样的问题了

将回调函数function tianshi()
改为function tianshi(~,~)就可以了
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


2

主题

10

帖子

0

最佳答案
发表于 2020-5-2 22:43:03 | 显示全部楼层
刘三千 发表于 2019-2-13 21:10
好吧,我看了帮助文件自己搞定了

兄弟,有了解决方法为何不分享一下呢?
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


0

主题

1

帖子

0

最佳答案
发表于 2020-7-2 17:10:50 | 显示全部楼层
军中老白 发表于 2020-5-2 22:43
兄弟,有了解决方法为何不分享一下呢?

timerFcn回调函数(callback function)定义时必须有object和event两个参数,所以在定义tianshi()时需要改为:tianshi(object,event),如果你不需要使用这两个参数,也可以定义为tianshi(~,~)和之前楼说的一致。
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


2

主题

10

帖子

0

最佳答案
发表于 3 天前 | 显示全部楼层
justlearn 发表于 2020-7-2 17:10
timerFcn回调函数(callback function)定义时必须有object和event两个参数,所以在定义tianshi()时需 ...

强强,明白了,大佬,我还有个提问。关于在timer fcn 函数中向蓝牙发送信息,您看看您会吗?能不能给点指点!
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表