MATLAB中visdiff函数用法

目录

语法

说明

示例

比较两个文件

比较两个文件并指定类型

发布比较报告


        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 编辑器 - 要比较在编辑器中打开的模型,请在建模选项卡的评估和管理部分中,点击比较项

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/542651.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式——MVC架构

MVC模型 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,一种设计模式。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个…

数据通信练习题

1.0osi七层模型 应用层 data 表示层 会话层 传输层 数据段 防火墙,端口(TCP UDP) 网络层 数据包 路由器 数据链路层 数据帧 交换机 物理层 比特流 网卡 2.IP地址分类 私有地址 A类 0--127 10.0.0.0…

202109青少年软件编程(图形化) 等级考试试卷(二级)

第1题:【 单选题】 执行下图所示程序, 舞台上的角色?( ) A:在 1 秒内滑行到随机位置 B:不断地重复滑行到随机位置 C:只有按下空格键的时候, 才会滑行到随机位置 D:只有按下空格键以外键的时候, 才会滑行到随机位置 【正确答案】: C 【试题解析】 : 第2题:【 单…

融入Facebook的世界:探索数字化社交的魅力

融入Facebook的世界,是一场数字化社交的奇妙之旅。在这个广袤的虚拟社交空间中,人们可以尽情展现自己、分享生活,与全球朋友、家人和同事保持紧密联系,共同探索社交互动的乐趣与魅力。让我们深入了解这个世界的魅力所在&#xff1…

Openlayers入门教程 --- 万字长篇

也许你还不熟悉Openlayers,也许你是一个Openlayers小白,零基础没关系,这篇文章提供最基础的 Openlayers 教程,简单易学,贯穿整个Openlayers 知识体系。读完本文,您将会对 Openlayers 有一个全新的认识。 文…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:TextArea)

多行文本输入框组件,当输入的文本内容超过组件宽度时会自动换行显示。 高度未设置时,组件无默认高度,自适应内容高度。宽度未设置时,默认撑满最大宽度。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容&…

【滤波专题-第8篇】ICA降噪方法——类EMD联合ICA降噪及MATLAB代码实现(以VMD-ICA为例)

今天来介绍一种效果颇为不错的降噪方法。(针对高频白噪声) 上一篇文章我们讲到了FastICA方法。在现实世界的许多情况下,噪声往往接近高斯分布,而有用的信号(如语音、图像特征等)往往表现出非高斯的特性。F…

西门子PLC常用底层逻辑块分享_电动蝶阀

文章目录 前言一、功能概述二、电动蝶阀程序编写1.创建自定义数据类型2.创建FB功能块“电动蝶阀”3.编写程序 前言 本文分享一个自己编写的电动蝶阀控制逻辑块。 一、功能概述 手动状态、自动状态、机旁状态、强制状态、检修状态自由切换;具有开阀超时、关阀超时报…

SwiftUI的Alert使用方式

SwiftUI的Alert使用方式 记录一下SwiftUI的Alert使用方式,比较简单直接上代码 import SwiftUIstruct AlertBootCamp: View {State var showAlert falsevar body: some View {Button {showAlert.toggle()} label: {Text("alert show")}/// 单按钮 // …

19 OpenCV 霍夫曼变换检测圆

文章目录 cv::HoughCircles算子参数示例 cv::HoughCircles 因为霍夫圆检测对噪声比较敏感,所以首先要对图像做中值滤波。 基于效率考虑,Opencv中实现的霍夫变换圆检测是基于图像梯度的实现,分为两步: 检测边缘,发现可能…

米桃安全漏洞讲堂系列第4期:WebShell木马专题

一、WebShell概述 WebShell是黑客经常使用的一种恶意脚本也称为木马后门。其目的是获得对服务器的执行操作权限,比如执行系统命令、窃取用户文件、访问数据库、删改web页面等,其危害不言而喻。 黑客利用常见的漏洞,如文件上传、SQL注入、远程…

算法打卡day18|二叉树篇07|Leetcode 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

算法题 Leetcode 530.二叉搜索树的最小绝对差 题目链接:530.二叉搜索树的最小绝对差 大佬视频讲解:二叉搜索树的最小绝对差视频讲解 个人思路 因为是在二叉搜索树求绝对差,而二叉搜索树是有序的,那就把它想成在一个有序数组上求最值&…