我发现了一个带有"秘密"输入的函数,也许有人可以解释一下?原因可能是什么?这样的事情有很多案例吗?
在radon
函数的文档语法中,有两种方法可以调用该函数——传统的方法是输入I
和THETA
(用于图像和所需投影角度),也可以选择省略THETA
,只提供I
作为输入。
但在radon.m
文件内部的注释中,末尾还有另一部分,被描述为"祖父语法"。这允许三个输入,还包括所需投影的数量。而且,它真的很管用!
那么,为什么没有记录下来呢?它在过去是否可用,然后被删除/更改(正如"祖父语法"所暗示的那样)?那么,为什么这仍然有效呢?
关于radon.m
的另一个问题:
函数的主要部分是通过调用另一个名为radonc
的函数来计算的。它是什么?它住在哪里?我找不到它,也找不到任何地方提到它。
"祖父"语法通常意味着它是
- 曾经被记录和支持
- 仍然需要某种程度的支持,因为一些客户仍然依赖它,而MathWorks不希望他们的代码被破坏
- 不再被推荐,因此没有记录,因此新用户不会开始依赖它
- 将来可能会被完全移除
CCD_ 9在CCD_。which
命令找不到它,因为它在那个私有目录中,因此只能由上面目录(包括radon
本身)中的函数调用。该文件是radonc.mexw64
(如果你和我在不同的平台上,可能是不同的mex文件扩展名),表明它是以编译的C代码而不是MATLAB代码实现的(如果这就是你问的原因,这意味着你看不到源代码)。
编辑:请注意,在同一目录中还有一个文件radonc.m
。这个文件没有任何作用,因为mex文件具有更高的优先级;它在那里为CCD_ 15功能提供帮助。如果您键入help radonc
,您会看到它显示了radonc.m
的注释所提供的帮助文本。