0

我一直在阅读一些论坛帖子,试图弄清楚这一点,但我似乎无法破解它。总结我的功能,我有 2 个数组searchDatessearchIds. 现在我要做的就是比较一个元素与另一个数组的大小,这是我到目前为止的代码,但我不知道如何继承searchDatessearchIds

function a = compare(userNum)
if size(searchDates{1,userNum},2) == size(searchIds{1,userNum},2)
    x = true
else x = false
end

TL; DR 我只需要知道如何将上面的两个数组从我的 BASE WORKSPACE 传递到我的 FUNCTION WORKSPACE。

干杯!

4

1 回答 1

1

您可以重写您的函数,以便您可以直接传递数组:

function a = compare(userNum,searchDates,searchIds)
if size(searchDates{1,userNum},2) == size(searchIds{1,userNum},2)
    x = true
else x = false
end

然后在第二个和第三个参数中调用与您的工作区变量进行比较。如果由于某种原因您需要比较只有一个参数,您可以通过使用上述函数比较并编写在您的工作区中创建一个匿名函数:

anon_compare = @(userNum) compare(userNum,searchDates,searchIds)

如果您的工作区中有 searchDAtes 和 searchIds,您现在将拥有函数 anon_compare,您可以直接将其用作anon_compare(foo).

有关匿名函数(几种 MATLAB 编程技术的一个重要方面)的更多信息,您可以阅读这篇文章

于 2012-04-17T22:55:13.610 回答