【问题标题】:How to split the output of this array to 2 variables instead of 1如何将此数组的输出拆分为 2 个变量而不是 1 个
【发布时间】:2016-05-24 18:30:43
【问题描述】:

我正在 MATLAB 中为我的小机器人使用神经网络。

这是我的代码, 这将返回 realtimeleft 上的左右值。

[realtimeleft realtimeright]=sim(myffnn,[lefts,rights]')

我希望它在 realtimelefts 上返回左值,在 realtimeright 上返回右值。

我做错了什么?

当前输出为:

realtimeleft =

-107.4691
96.8685


realtimeright =

[]

如何让 96.86 实时显示?

【问题讨论】:

  • 为什么不直接使用realitime(1)realtime(2)
  • 我对matlab没有太多经验,所以我不知道你建议的方式。我的代码有错误吗?
  • @beaker 哦,我明白你的意思了,谢谢 :)

标签: arrays matlab neural-network


【解决方案1】:

它没有按预期工作,因为sim(唱传统接口)是一个具有三个或更多输出参数的函数,其中first two are time and state

现在调用[realtimeleft realtimeright]=sim(myffnn,[lefts,rights]'),你会得到前两个输出参数,时间分配给realtimeleft,状态分配给realtimeright。

可能会有一些疯狂的 1 行版本,但我强烈建议使用三行代码,其他一切都会令人困惑:

[realtime state]=sim(myffnn,[lefts,rights]');
realtimeleft=realtime(1);
realtimeright=realtime(2);

您也可以直接在代码中使用realtime(1)realtime(2),而不是最后两个赋值。

【讨论】:

  • 我建议不要分配realtimeleftrealtimeright。如果你真的想要比索引更具描述性的东西,你总是可以分配LEFT=1; RIGHT=2;,然后使用realtime(LEFT)
  • 非常感谢你们俩 :) @beaker
猜你喜欢
  • 2019-04-08
  • 2017-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多