Simulink模型之间的差异.slx

时间:2015-12-18 13:05:36

标签: git matlab diff simulink

我正在使用Git,而我正在使用MATLAB / Simulink。

我知道新版本的MATLAB / Simulink与Git有某种集成,但我想知道是否有一种简单的方法可以在2个Simulink模型之间读取git diff,格式为{ {1}}

例如,当您有一个simulink模型时,如果您有一个所谓的MATLAB嵌入式函数,并希望了解软件的不同版本中的函数之间的差异,那么这将非常有用。

理解被评论的块以及两个不同.slx模型(Simulink)之间的所有差异也很有用。

4 个答案:

答案 0 :(得分:5)

我找到了解决问题的方法。

  1. 如果您在存储库中,则必须有一个.git文件夹。
  2. 转到此文件夹并打开文件config(如果该文件不可用,则创建它,但它应该正常存在)。
  3. 将以下代码添加到文件中:

    [diff "slx"]
    textconv = unzip -c -a
    
  4. 然后您需要创建或修改文件REPOSITORY/.gitattributes并添加:

    *.slx diff=slx
    
  5. 这样,当您在Simulink模型(git diff)上执行.slx时,您将获得非常可读的结果。

    我希望它会帮助别人。

答案 1 :(得分:1)

虽然文本比较可以让您对简单更改的内容有所了解,但是进入Simulink模型的信息会存储在SLX容器的各个位置。 Simulink报告生成器中的Simulink比较功能等工具可以更深入地了解已更改的内容,并允许合并等操作。

自R2014a以来,Simulink通过Simulink项目进行了Git集成,或者自R2014b以来通过MATLAB当前文件夹工具进行了集成。

答案 2 :(得分:1)

有些商业工具可以执行Simulink模型的差异,有些甚至可以合并它们。另一个答案的评论中提到了Mathworks工具,但还有其他工具,例如SimDiff可以integrate with Git directly

免责声明:我为制作SimDiff的公司工作

答案 3 :(得分:0)

DiffPlug是一个免费的git客户端,具有对Simulink的本地支持。差异模型不是免费的,但您可以从历史记录中免费查看它们。