什么是格式化语法,如MATLAB"radon"函数?

Adi*_*iel 5 matlab deprecated undocumented-behavior

我找到了一个带有"秘密"输入的功能,有人可以解释一下吗?可能是什么原因?这种事情有很多种情况吗?

在记录的radon函数语法中,有两种方法可以调用函数 - 传统的函数调用ITHETA,(对于图像和所需的投影角度),以及省略的选项THETA,并仅I作为输入.

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

那么,为什么不记录这个?它是否在过去可用,然后删除/更改(如"格式化语法"建议)?那么为什么这仍然有效呢?

另外一个问题是radon.m:

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

Sam*_*rts 9

"Grandfathered"语法通常意味着它是一种语法

  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.