【问题标题】:assigning multiple varables with one call to single-output MATLAB function通过一次调用单输出 MATLAB 函数来分配多个变量
【发布时间】:2013-09-18 18:05:52
【问题描述】:

我想采用简单的示例代码并为每个变量分配一个唯一的rand() -- 在一行上:

X = rand();

Y = rand();

可能吗?

【问题讨论】:

  • 你为什么不只使用矢量? x=rand(1,2) 然后 x(1)x(2) 是你的两个变量......
  • 同意——这里会更干净。对于更大的问题,我需要很多具有唯一描述性名称的变量

标签: matlab function arguments return-value


【解决方案1】:

如果你绝对希望它在一行中,你可以这样做:

[X, Y] = deal(rand(), rand());

不过,收获并不大。

【讨论】:

  • 酷,这就是我正在寻找的功能 - 谢谢! (同意,对于这个轻量级代码来说,这有点矫枉过正/失去了可读性,但对我的其他实现有很大帮助。)
  • @j4ke / Milo,在 MATLAB 7.0 或更高版本中,您可以在没有deal 的情况下使用comma-separated lists 实现相同的效果。请参阅我链接到的重复问题的this answer
【解决方案2】:

一行...

X = rand(); Y = rand();

...这就是你所需要的吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多