【问题标题】:comment out an interval in matlab through command line通过命令行在matlab中注释掉一个区间
【发布时间】:2015-07-09 15:05:39
【问题描述】:

我在 MATLAB 中有一个很长的脚本(1500 行),想测试两种不同的设置。为此,我需要在特定间隔内注释掉一些代码(例如,从第 234 行到第 255 行)。

MATLAB 中是否有一个函数可以自动获取间隔和 cmets/uncmets?

【问题讨论】:

  • This link 回答您的问题。
  • 写一个if-else 并在必要时向函数传递一个附加索引。例如,如果要运行代码的三个部分中的第一个,则传递一个索引 1。相应地编写 if-else。我不知道任何会以编程方式注释代码的东西。上面的评论并没有给你一个自动评论代码的方式。
  • 是的,我认为 if-else 是一个更好的主意!

标签: matlab


【解决方案1】:

我同意其他人的观点,将您的代码放入由if-else 包围的块中可能比您最初要求的解决方案更好。

但如果你想这样做,你可以使用以下函数:

function commentout(fromline, toline)

currentDoc = matlab.desktop.editor.getActive;

currentDoc.insertTextAtPositionInLine(sprintf('%%{\n'), fromline, 0)
currentDoc.insertTextAtPositionInLine(sprintf('%%}\n'), toline+1, 0)

这适用于最新版本的 MATLAB。

要取消注释,我认为您需要做一些更复杂的事情,例如从活动文档中获取整个文本,删除指定的注释行,然后重新设置整个文本(获取、修改和设置Text 文档的属性)。

【讨论】:

    【解决方案2】:

    您只需突出显示您的代码并单击评论按钮即可。突出显示并单击取消注释以删除注释。在 Windows 中,您还可以使用快捷键 cntrl+r 和 cntrl+t。但是,是的,if else 是一个更好的主意,但在开始编写 if else 代码时需要更多时间。

    【讨论】:

    • 这不是原始问题的答案。并且在cmets中已经说过了。
    • 感谢 Ratbert 和 SOfanatic 的澄清。从现在开始将添加 cmets。
    猜你喜欢
    • 2014-08-04
    • 1970-01-01
    • 2018-09-10
    • 2017-07-23
    • 2013-01-18
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多