5

我找到了一个带有“秘密”输入的函数,有人可以解释一下吗?可能是什么原因?这样的事例多吗?

radon函数的文档语法中,有两种调用函数的方法 - 传统的方法是输入ITHETA(用于图像和所需的投影角度),还有一个选项可以省略THETA, 并且仅I作为输入给出。

但在radon.m文件内的注释中,最后还有另一部分,被描述为“祖父语法”。这允许三个输入,还包括所需投影的数量。而且,它确实有效!

那么,为什么没有记录呢?它过去是否可用,然后被删除/更改(正如“祖父语法”所暗示的那样)?那么为什么这仍然有效?

而且,另一个问题是radon.m

该函数的主要部分是通过调用另一个函数来计算的,称为radonc. 它是什么?它住在哪里?我找不到它,或者任何地方都没有提到它。

4

1 回答 1

10

“祖父”语法通常意味着它是一种语法

  1. 用于记录和支持
  2. 仍然需要某种支持,因为一些客户仍然依赖它,而且 MathWorks 不希望他们的代码被破坏
  3. 不再推荐,因此没有记录,因此新用户不会开始依赖它
  4. 将来可能会被完全删除。

radonc\toolbox\images\images\private. 该which命令找不到它,因为它位于该私有目录中,因此只能由紧接在上面的目录中的函数调用(包括radon它自己)。该文件是radonc.mexw64(如果您与我在不同的平台上,可能是不同的 mex 文件扩展名),表明它是作为编译的 C 代码而不是 MATLAB 代码实现的(如果这就是您要问的原因,这意味着您可以'没有看到源)。

编辑:请注意,在同一目录中还有一个文件radonc.m. 该文件不做任何事情,因为 mex 文件具有更高的优先级;它在那里为该radonc功能提供帮助。如果您键入help radonc,您会看到它显示了 的注释提供的帮助文本radonc.m

于 2013-09-02T10:22:23.930 回答