Mathworks 生成 Matlab HTML 文档的方法是什么?

2024-05-22

我正在开发共享的 Matlab 代码,我们希望在本地网络中将生成的文档作为可搜索的 HTML 文档共享。

我知道以下生成文档的方法:

  1. 编写一个类似于 C++ 文件的转换器。这是在中完成的将 Doxygen 与 Matlab 结合使用 http://www.mathworks.com/matlabcentral/fileexchange/25925-using-doxygen-with-matlab(最后更新于 2011 年)和mtoc++ http://www.mathworks.com/matlabcentral/fileexchange/33826-mtoc++-doxygen-filter-for-matlab-and-tools(最后更新于 2013 年)。然后,Doxygen 会解析类似 C++ 的文件。
  2. 使用Python的sphinxcontrib-matlab域 https://pypi.python.org/pypi/sphinxcontrib-matlabdomain生成 HTML 文档。
  3. Use m2html http://www.artefact.tk/software/matlab/m2html/这也是第三方解决方案。
  4. 此问答中列出了更多选项:One https://stackoverflow.com/questions/4912829/matlab-documentation-function?rq=1, Two https://stackoverflow.com/questions/7840964/how-can-one-generate-good-documentation-for-object-oriented-matlab-code and Three https://stackoverflow.com/questions/14986704/export-auto-generate-matlab-doc-to-html?rq=1.

Mathworks 并不支持所有可能性。所有可能性都需要我自己提及,即函数的参数。他们不会从某种意义上分析代码,Doxygen 会为 Java 进行分析:

//! an object representation of the advertisement package sent by the beacon
private AdvertisementPackage advertisementPackage;

我听说过Matlab发布() http://www.mathworks.de/de/help/matlab/matlab_prog/publishing-matlab-code.html函数,但我从未见过它在上述意义上使用过。

问题:Mathworks 生成 Matlab HTML 文档的方式是什么。代码本身可以分析吗?我可以使用提供给 Matlab 输入解析器的信息吗?请在评论中提及您的个人偏好。

Example:

%% Input parser
p = inputParser;
addRequired(p, 'x', @isnumeric);

validationFcn = @(x) (isnumeric(x) && isscalar(x));
addRequired(p, 'fftSize', validationFcn);
addRequired(p, 'fftShift', validationFcn);

validationFcn = @(x) (isa(x, 'function_handle'));
addRequired(p, 'analysisWindowHandle', validationFcn);

parse(p, x, fftSize, fftShift, analysisWindowHandle);

我认为您已经很好地研究了这个主题(如何从 MATLAB 函数生成 HTML 文档),现在您可以选择最适合您的方法。

The publish http://www.mathworks.com/help/matlab/ref/publish.html函数可用于作者文档 http://www.mathworks.com/help/matlab/matlab_prog/document-and-share-code-using-examples.html。您可以使用以下命令编写常规 M 文件专门制作的评论 http://www.mathworks.com/help/matlab/matlab_prog/marking-up-matlab-comments-for-publishing.html(实际上该文件可以是没有代码的所有注释),然后您发布该文件以获得渲染的HTML(它也支持其他目标 http://www.mathworks.com/help/matlab/matlab_prog/specifying-output-preferences-for-publishing.html例如 PDF、DOC、LaTeX 等...)。将其视为更简单的 MATLAB 特定版本的 Markdown,此处使用堆栈交换站点 https://stackoverflow.com/editing-help格式化帖子。

您没有提到的一方面是将生成的文档集成到内置的帮助查看器中。这是通过创建来完成的info.xml http://www.mathworks.com/help/matlab/matlab_prog/display-custom-documentation.html and demos.xml http://www.mathworks.com/help/matlab/matlab_prog/display-custom-examples.html文件,并以特定方式组织文档。您还可以通过构建来使您的自定义文档可搜索Lucene http://lucene.apache.org/索引文件使用builddocsearchdb http://www.mathworks.com/help/matlab/ref/builddocsearchdb.html函数(在内部支持 MATLAB 自定义文档中的搜索功能)。请注意,如何生成 HTML 文档并不重要(您可以使用publish甚至手动编写的 HTML 文件)。

事实上publish基于的工作流程是可扩展的,您可以通过创建自定义的方式以有趣的方式使用它XSL https://en.wikipedia.org/wiki/XSL用于转换和呈现已解析注释的模板文件。例如我曾经见过它渲染方程 http://www.mathworks.com/matlabcentral/answers/93851 using MathJax http://www.mathjax.org/而不是依赖内置解决方案。另一个例子是发布到 MediaWiki 标记 http://mathworks.com/matlabcentral/fileexchange/23856-publish-to-mediawiki(使用的格式维基百科 https://www.mediawiki.org/wiki/Help:Formatting)。其他人用它来撰写博客文章(请参阅官方博客 http://blogs.mathworks.com/在以这种方式创建的 MATLAB Central 上),甚至生成文本文件 http://mathworks.com/matlabcentral/fileexchange/41547-octopress---jekyll-style-sheet-for-publish-command随后由静态站点生成器处理(例如Jekyll http://jekyllrb.com/ and 奥克托普雷斯 http://octopress.org/构架)。

据我所知,还没有可用的公共工具可以更深入地检查 MATLAB 代码并分析函数参数。我能想到的最好的办法就是使用反射 https://stackoverflow.com/a/10746936/97160获取有关函数和类的一些元数据,尽管该解决方案并不完美......

MathWorks 似乎正在使用他们自己的内部系统来编写 HTML 文档。太糟糕了,他们不与我们用户分享:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mathworks 生成 Matlab HTML 文档的方法是什么? 的相关文章

  • 两个 y 轴与相同的 x 轴[重复]

    这个问题在这里已经有答案了 可能的重复 在单个图中绘制 4 条曲线 具有 3 个 y 轴 https stackoverflow com questions 1719048 plotting 4 curves in a single plo
  • MATLAB 中最有效的矩阵求逆

    在 MATLAB 中计算某个方阵 A 的逆矩阵时 使用 Ai inv A should be the same as Ai A 1 MATLAB 通常会通知我这不是最有效的求逆方法 那么什么是更有效率的呢 如果我有一个方程系统 可能会使用
  • 如何使用 jsDoc 在名称/事件/回调中包含点?

    The 名称路径的文档 http usejsdoc org about namepaths html说你应该转义特殊字符 上面是一个名称空间的示例 其中包含 不寻常 的字符 成员名称 哈希字符 破折号 甚至引号 可供参考 您只需引用这些名称
  • 如何从命令行设置Sphinx的`exclude_patterns`?

    我在 Windows 上使用 Sphinx 我的大部分文档都是针对普通用户的 但也有一些子页面的内容仅供管理员使用 因此 我想构建文档的两个版本 一个完整 版本 以及排除 管理 页面的第二个版本 我用的是exclude patterns在构
  • Matlab:保存后翻转图例顺序和图例重叠图

    我正在尝试根据以下内容反转我的图例条目顺序matlab条形图中图例颜色的逆序 https stackoverflow com questions 31178005 reverse ordering of legend colors in m
  • 为什么旋转 3D 点云后顶点法线会翻转?

    我有两个人脸 3D 点云样本 蓝色点云表示目标面 红色点云表示模板 下图显示目标面和模板面在不同方向上对齐 目标面大致沿 x 轴 模板面大致沿 y 轴 Figure 1 The region around the nose is displ
  • Matlab 字段名索引[重复]

    这个问题在这里已经有答案了 所以我有一个包含多个表的元胞数组 我试图访问表的第一个列名称 c table1 table2 table3 以下两行都给了我错误 fieldnames c 1 1 fieldnames c 1 1 Error i
  • 如何找到在matlab中重复的矩阵的每一行的索引?

    我想找到矩阵中所有有重复项的行的索引 例如 A 1 2 3 4 1 2 3 4 2 3 4 5 1 2 3 4 6 5 4 3 要返回的向量将是 1 2 4 很多类似的问题建议使用unique函数 我已经尝试过 但我能得到的最接近我想要的功
  • MATLAB 教程中的 SIFT 实现

    我正在寻找 MATLAB 中的一些基本 SIFT 实现 我需要从第一原则来写它 另外 我正在寻找一些可以解释程序中发生的事情的内容 Vedali 的代码和 David Lowe 的代码超出了我的理解范围 如果您是 Matlab 用户 您一定
  • 如何将二进制值列表转换为int32类型?

    我在 MATLAB 工作区中有一个小端格式的二进制数列表 我想将它们转换为 int32 a是由 0 和 1 组成的双向量 如下所示 a 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1
  • 在 Matlab 中将 datenum 转换为 datetime 的最快方法

    我在 Matlab 中将 datenum 转换为 datetime 时遇到问题 Given dnum floor now floor now 1 我尝试了以下方法 datenum dnum 但这没有用 我发现有效的方法是 datetime
  • matlab中类库的全局变量

    我有一些matlab声明的类 我如何声明所有类中都可见的常量 例如 这些常量可以是在所有类的方法中使用的物理常量 首先想到的是使用全局变量 还有更好的办法吗 最好在单独的文件中声明这些常量 包含常量的类是执行此操作的一种很好的干净方法 请参
  • 黑白随机着色的六角格子

    我正在尝试绘制一个 10 000 x 10 000 随机半黑半白的六边形格子 我不知道如何将该格子的六边形随机填充为黑色和白色 这是我真正想要从这段代码中得到的示例 但我无法做到 https i stack imgur com RkdCw
  • 如何doxygen注释Qt属性?

    我想将 Doxygen 注释附加到我的 Q PROPERTY 例如 song h class Song public QObject Q OBJECT private Q PROPERTY QString title READ title
  • matlab中的正则逻辑回归代码

    我正在尝试正则化 LR 在 matlab 中使用以下公式很简单 成本函数 J theta 1 m sum y i log h x i 1 y i log 1 h x i lambda 2 m sum theta j 梯度 J theta t
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • Matlab dec2bin 给出错误的值

    我正在使用 Matlab 的 dec2bin 将十进制数转换为二进制字符串 但是 我得到了错误的结果 例如 gt gt dec2bin 13339262925365424727 ans 101110010001111010010100111
  • 如何将复杂的 csv 文件导入到 Matlab 中的数值向量

    我想知道我们应该如何读取由字符串 双精度数和字符等组成的复杂 csv 文件 例如 您能否提供一个可以在此 csv 文件中提取数值的成功命令 Click here http www ecb europa eu stats money yc d
  • 正确使用 fft2 和 fftshift 进行着色形状

    我正在尝试从 Trucco Verri 文本 3d 计算机视觉入门技术 中看到的着色算法重新创建经典形状 但我很难理解 matlab 中的 fft 函数 本质上 我需要使用可积性约束来获取图像的深度 Z 我不确定在这种情况下何时使用 fft
  • Matlab Builder JA - 将 Matlab 编译成 Java jar - 免费版本?

    请记住 我对 Matlab 一无所知 Matlab Builder JA 允许开发人员构建 Matlab 应用程序并将其导出到 Java jar 中 太棒了 我只需要生成一个 jar 然后就可以从其他 java 代码中使用它 有谁知道单罐包

随机推荐