![]() |
1
37
这有点像一个黑客,但它是有效的: 首先是一个快速示例函数:
这里的关键是如果你使用一个变量 两次 在多表达式赋值的左侧,前面的赋值会被后面的赋值抹掉:
(编辑:为了检查,我还验证了这项技术与
编辑:有更好的方法;请参见 ManWithSleeve's answer 相反。 |
![]() |
2
222
使用matlab 7.9版(r2009 b),您可以使用a~,例如,
请注意
见 release notes 详情。 |
![]() |
3
37
如果您希望使用一种样式,其中一个变量将留在位桶中,那么一个合理的选择是
ans当然是matlab的默认垃圾变量,在会话过程中经常被覆盖。 虽然我很喜欢Matlab现在允许的新技巧,但是使用~来指定一个被忽略的返回变量,这是向后兼容性的一个问题,因为旧版本的用户将无法使用您的代码。我通常避免使用类似的新东西,直到至少发布了一些matlab版本,以确保只有很少的用户会陷入困境。例如,即使现在我发现人们仍然在使用一个足够老的matlab版本,他们不能使用匿名函数。 |
![]() |
4
13
这是你可以使用的另一个选项。首先创建一个单元数组以捕获所有输出(您可以使用 NARGOUT 函数确定给定函数返回的输出数):
然后调用函数如下:
然后简单地从 一 你想要的,并重写 一 :
|
![]() |
5
9
我写了一个kth out函数:
然后你可以打电话
您还可以像
之后使用
请注意,使用类似这样的匿名函数会产生开销,我在代码中不会做这样的事情,这将被调用上千次。 |
![]() |
6
4
在Matlab2010a中,我找到了一个很好的方法来做你想要的。只需使用characher“~”(当然不带引号)作为虚拟变量(返回多个参数时尽可能多)。如果函数被设计用来处理丢失的数据,那么这也适用于函数的输入参数。我不知道以前的版本中是否存在这种情况,但我最近才发现。 |
![]() |
7
1
您可以生成只返回选定输出的函数(或匿名函数),例如
然后您可以这样调用函数:
或者您可以将输出分配给一个变量:
|
![]() |
8
0
有没有理由不使用这样的ans(n):
给出b=10,这样是否与所有matlab版本都不兼容? 此外,当您不知道将有多少个参数时,这将用于获取第二个输出参数!鉴于,如果您这样做:
那么b=8000!(您需要以~结尾,以获取更多参数!) |
![]() |
Kevin Furlong · 类型转换和泛型 6 年前 |
![]() |
Oleg Volkov · T-SQL存储过程结果转换为变量 7 年前 |
![]() |
Jmainol · 获取选项标记值y传递到数组中 7 年前 |
![]() |
Shiranai · 使用指针在C中的一个函数中返回多个值 7 年前 |
![]() |
Kayote · 函数是否总是返回值[重复] 7 年前 |
![]() |
user3723688 · python导入csv函数 7 年前 |