目录
语法
说明
示例
比较两个文件
比较两个文件并指定类型
发布比较报告
visdiff函数的功能是比较两个文件或文件夹。
语法
visdiff(filename1,filename2)
visdiff(filename1,filename2,type)
comparison = visdiff(___)
说明
visdiff(filename1,filename2) 打开比较工具并显示两个文件或文件夹之间的差别。比较工具支持 MATLAB® 代码文件、zip 文件、MAT 文件和各种其他 MATLAB 和 Simulink® 文件格式。有关完整列表,可以参考输入参数。
使用 visdiff 来比较两个 Simulink 模型,确定变化并合并差异。有关详细信息,可以参考模型比较 (Simulink)。
visdiff(filename1,filename2,type) 使用指定的比较类型比较两个文件。如果未指定类型,visdiff 将使用适合选定文件的默认比较类型。只能使用此语法来比较文件。
comparison = visdiff(___) 比较两个文件,并返回包含指定文件之间差别的比较对象。可以使用比较对象在命令行中控制比较,例如,通过应用过滤器和发布比较报告来进行控制。此语法不会打开比较工具,也不要求显示。它对于为持续集成 (CI) 工作流自动创建比较报告特别有用。并非所有文件类型都支持此语法。支持的文件包括 Simulink 模型、纯文本文件、MATLAB 脚本和基于文本的源代码文件。
示例
比较两个文件
此示例说明如何使用相对路径和完整路径来比较两个文件。
比较当前文件夹中的两个文件 lengthofline.m 和 lengthofline2.m 。
visdiff("lengthofline.m","lengthofline2.m")
使用完全限定的文件名比较两个 MAT 文件 gatlin.mat 和 gatlin2.mat。
visdiff(fullfile(pwd,"supportingFiles","mymatFiles","gatlin.mat"), ...
fullfile(pwd,"supportingFiles","mymatFiles","gatlin2.mat"))
比较两个文件并指定类型
将 lengthofline.m 和 lengthofline2.m 两个文件作为二进制文件进行比较。
如果不指定比较类型,visdiff 将使用默认的文本比较类型来比较这两个文件。通过更改为二进制文件比较类型,可以检查行尾字符之类的差别。
visdiff("lengthofline.m","lengthofline2.m","binary")
发布比较报告
当比较 Simulink 模型时,可以通过指定输出参数以命令行方式来操作比较报告。
比较两个模型文件并返回比较对象。
comparison = visdiff(modelname1,modelname2);
可以禁用模型比较报告中的所有过滤器。
filter(comparison,"unfiltered");
要将比较报告发布为文件,请对比较对象使用 publish。发布的报告的默认格式为 HTML。publish 将文件保存在当前文件夹中,如 filename1_filename2.html。
file = publish(comparison);
web(file)
创建名为 myreport 的 PDF 比较报告。将该报告保存到 comparisonresults 文件夹。
file = publish(comparison,format="PDF",Name="myreport",OutputFolder="comparisonresults");
web(file)
支持的报告格式有 HTML、PDF 和 DOCX。
参数说明
filename — 文件或文件夹名称
文件或文件夹名称,指定为字符向量或字符串。filename
可以包含当前文件夹的相对路径或完整路径。
下表显示支持的文件类型。
文件类型 | 文件扩展名 | |
---|---|---|
MATLAB | ||
MATLAB 脚本 | .m | |
实时脚本 | .mlx | |
纯文本 | 任一值 | |
基于文本的源代码 | .c、.cpp、.java 等 | |
MATLAB App | .mlapp | |
二进制 | 任一值 | |
文件夹 | ||
ZIP 文件 | .zip | |
MATLAB 图窗 | .fig | |
MAT 文件 | .mat | |
工程定义文件 | .xml | |
工程存档 | .mlproj | |
依存关系 GraphML | .graphml | |
Simulink | ||
Simulink 模型 | .slx, .mdl | |
Simulink 模型模板 | .sltx | |
Simulink 工程模板 | .sltx | |
Simulink 数据字典 | .sldd | |
其他产品 | ||
Requirements Toolbox™ | .slreqx.有关详细信息,可以参考Publish and Save Printable Report of Comparison Results (Requirements Toolbox) | |
Requirements Toolbox 链接 | .slmx.有关详细信息,可以参考Publish and Save Printable Report of Comparison Results (Requirements Toolbox) | |
Simulink Test™ | .mldatx | |
SimBiology® 模型 | .sbproj | |
System Composer® 模型 | .slx | |
Simscape® 文件 | .ssc |
还可以使用比较工具对许多其他文件扩展名进行基本比较,包括 .prj、.req、.cvf、.wrl、.x3s、.ssc、.xml 和 .tlc。
type — 比较类型
比较类型,指定为 "text"、"binary" 或 "xml"。某些比较并非所有的比较类型都支持。如果指定了不支持的比较类型,MATLAB 将显示错误。
要检查文本文件的差别,如行尾字符的差别,请指定 "binary" 比较类型。
XML 文件的默认比较类型取决于 XML 类型,可以是 "text" 或 "xml"。指定 "text" 或 "xml" 将覆盖文件的默认比较类型。
comparison — 比较对象
比较对象,用于以命令行方式对比较结果进行操作,例如,可以应用过滤选项和发布比较报告。支持的文件包括 Simulink 模型、纯文本文件、MATLAB 脚本和基于文本的源代码文件。
局限性
-
在 MATLAB Online™ 中,比较工具并非所有文件类型都支持。支持的文件类型包括文本文件、MATLAB 代码文件、文件夹、zip 文件和 Simulink 模型。
替代功能
可以通过交互方式打开比较工具。
-
MATLAB 主页选项卡 - 在文件部分中点击比较。然后选择要比较的文件或文件夹。
-
当前文件夹浏览器 - 要比较文件或文件夹,请右键点击选定的文件或文件夹,然后选择比较对象。要比较两个文件或文件夹,请右键点击选定的文件或文件夹,然后选择比较选定的文件/文件夹。
-
MATLAB 编辑器或实时编辑器选项卡 - 要比较在编辑器中打开的文件,请在文件部分中点击比较。
-
MATLAB 编辑器选项卡 - 要将文件与自动保存版本或已保存在磁盘上的版本进行比较,请在文件部分展开比较
,然后选择与磁盘上的版本进行比较或保存并与自动保存版本进行比较。如果修改了文件,编辑器会在比较之前保存文件。与磁盘上的版本进行比较和保存并与自动保存版本进行比较选项仅在禁用自动保存更改时可用。要执行此操作,请转到主页选项卡,然后在环境部分点击预设项。然后,选择编辑器/调试器,并清除在文件外点击时保存更改。
-
Simulink 编辑器 - 要比较在编辑器中打开的模型,请在建模选项卡的评估和管理部分中,点击比较项。