如何将此数组的输出拆分为 2 个变量而不是 1 个

How to split the output of this array to 2 variables instead of 1

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

这是我的代码, 这 return 是 realtimeleft 上的左值和右值。

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

我希望 return 左值在 realtimelefts 上,右值在 realtimeright 上。

我做错了什么?

当前输出为:

realtimeleft =

-107.4691
96.8685


realtimeright =

[]

我怎样才能实时显示96.86呢?

它没有像您预期的那样工作,因为 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)