什么是祖父语法,如 MATLAB "radon"函数?



我发现了一个带有"秘密"输入的函数,也许有人可以解释一下?原因可能是什么?这样的事情有很多案例吗?

radon函数的文档语法中,有两种方法可以调用该函数——传统的方法是输入ITHETA(用于图像和所需投影角度),也可以选择省略THETA,只提供I作为输入。

但在radon.m文件内部的注释中,末尾还有另一部分,被描述为"祖父语法"。这允许三个输入,还包括所需投影的数量。而且,它真的很管用!

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

关于radon.m的另一个问题:

函数的主要部分是通过调用另一个名为radonc的函数来计算的。它是什么?它住在哪里?我找不到它,也找不到任何地方提到它。

"祖父"语法通常意味着它是

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

CCD_ 9在CCD_。which命令找不到它,因为它在那个私有目录中,因此只能由上面目录(包括radon本身)中的函数调用。该文件是radonc.mexw64(如果你和我在不同的平台上,可能是不同的mex文件扩展名),表明它是以编译的C代码而不是MATLAB代码实现的(如果这就是你问的原因,这意味着你看不到源代码)。

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

最新更新