如何给客户一个matlab项目?

如何给客户一个matlab项目?,matlab,Matlab,如果一家公司从事matlab项目,那么他们如何向客户提供该项目?我的意思是,由于他们无法将全部代码和数据交给客户机,他们会将哪个文件发送给客户机?您可以使用Matlab编译器将代码编译到windows的exe文件中。这是公司通常期望的。一些自己进行过研发的人可能会要求您提供原始m代码,或具体功能,具体取决于您与他们的关系/合同。我多次被要求提供m代码,合同上说我应该把这些信息提供给他们。(英国)这将取决于很多事情,例如您为客户构建的产品的性质、您与客户的关系和合同协议,以及他们是否需要在将来修改

如果一家公司从事matlab项目,那么他们如何向客户提供该项目?我的意思是,由于他们无法将全部代码和数据交给客户机,他们会将哪个文件发送给客户机?

您可以使用Matlab编译器将代码编译到windows的exe文件中。这是公司通常期望的。一些自己进行过研发的人可能会要求您提供原始m代码,或具体功能,具体取决于您与他们的关系/合同。我多次被要求提供m代码,合同上说我应该把这些信息提供给他们。(英国)

这将取决于很多事情,例如您为客户构建的产品的性质、您与客户的关系和合同协议,以及他们是否需要在将来修改产品

当我为一家公司进行MATLAB项目咨询时,我通常会向他们提供MATLAB源代码。合同的一部分通常会说他们拥有我为他们制作的代码(以及代码的版权),然后他们可以用它做任何他们想做的事情

如果您有不同的关系,您继续拥有代码,并且需要阻止他们阅读和/或修改代码,那么问题实际上与任何其他语言相同:您依赖技术限制和法律限制的混合,设计为尽可能严格,同时最大限度地减少对最终用户的不便

比如说,

  • 您可以使用命令
    pcode
    混淆代码。这将阻止几乎所有没有下定决心的人看到你的代码并修改它(尽管有一些漏洞),但他们仍然能够在MATLAB中运行它。缺点可能是,您的代码在未来版本的MATLAB中可能无法执行,因此您可能需要再次支持它以在以后修复该问题。为了缓解这种情况,您可以在合同或许可协议中指定只支持特定版本的MATLAB
  • 您可以使用MATLAB编译器生成一个独立的库或可执行文件,其中包含加密形式的代码。缺点可能是他们宁愿使用MATLAB中的代码。一个好处是,与第一个选项不同,它不需要MATLAB,因此您在将来不会受到向后兼容性问题的影响
  • 您可以在MATLAB应用程序中包含许可证管理代码。你可以自己动手,也许通过调用一点Java来实现加密(除非你很有天赋,否则你很可能无法使它非常安全,但你可能能够使一些东西变得简单可行),或者你可以购买第三方C库,做得很好,并从MATLAB中调用它们
  • 您可以简单地在代码中添加版权行,表明您拥有版权,并根据特定条款向他们许可代码,例如他们可以查看、使用代码,但不能修改或重新发布代码。如果你真的愿意,你可以要求他们也签署一份保密协议,要求他们不要与第三方讨论代码的内容
  • 虽然MATLAB中可用的技术限制与C或Java等编译语言略有不同,但归根结底,这些限制只是为了让诚实的人保持诚实——任何下定决心的人最终都可以绕过这些限制,它们可能会给诚实的人带来不便,让他们讨厌你的产品或服务

    最好是混合使用非常轻的技术限制、清晰的合同和许可条款以及信任


    我提供的咨询服务之一是为部署准备MATLAB代码提供建议和帮助,包括保护它。如果你认为你会从中受益,请联系

    你看了吗?山姆·罗伯茨的这篇文章也可能有帮助:谢谢。这很有帮助。如果我将它转换为.exe,那么matlab将如何运行它?如果它在cmd中工作,那么如何转换相同的?@anurag,用于生成.exe的源代码仍然存在于开发人员站点上的源代码表单中,可用于从.m或.exe运行。“交付给客户”的全部意义在于,您不认为他们首先要运行MATLAB。如果是这样的话,.exe可以保护您的ipa#2的另一个缺点是它依赖于平台,因此您需要为每个操作系统编译版本(在某些情况下可能是32-/64位)。还有。