Matlab 为教学目的创建向后兼容的p代码

Matlab 为教学目的创建向后兼容的p代码,matlab,backwards-compatibility,Matlab,Backwards Compatibility,我在教一些matlab课程,我们有一些版本问题。。。一些学生使用的版本早于2008b,实验室中的一些计算机的版本早于2007a(或新于2012b)。我想创建一些将在所有这些版本上运行的pcode文件。。。这样他们就可以检查结果,而不必查看创建结果的实际代码 我知道Matlab2013a(我每天使用的版本)可以运行任何以前版本的pcode文件,但旧版本不能运行我的计算机生成的pcode 有没有办法创建向后兼容的pcode文件?我知道我可以找到最旧的版本,在那台计算机上制作一个pcode并分发它。。

我在教一些matlab课程,我们有一些版本问题。。。一些学生使用的版本早于2008b,实验室中的一些计算机的版本早于2007a(或新于2012b)。我想创建一些将在所有这些版本上运行的pcode文件。。。这样他们就可以检查结果,而不必查看创建结果的实际代码

我知道Matlab2013a(我每天使用的版本)可以运行任何以前版本的pcode文件,但旧版本不能运行我的计算机生成的pcode

有没有办法创建向后兼容的pcode文件?我知道我可以找到最旧的版本,在那台计算机上制作一个pcode并分发它。。。但那真的很烦人。特别是因为我没有像一些学生那样老的版本的许可证(我最老的版本是2010a,一些学生/实验室的计算机仍然停留在2008b上)

谢谢


从文档中:

在Matlab7.5(R2007b版本)中重新设计了pcode算法。您可以在任何当前版本的MATLAB中运行旧的P文件;但是,即将发布的版本将不会运行在7.5版之前创建的P文件。在7.5或更高版本中生成的文件不能在MATLAB 7.4或更早版本中运行

(使用
docsearch pcode
查看,展开“更多信息,提示”)

基于缺乏任何相关提示或帮助,我怀疑pcode在2007a之前和2007b之后都无法转换


根据我的经验,在版本之间使用pcode从来没有遇到过问题。我认为7.5版中的这种算法变化是一件相对罕见的事情。

除了在旧版本的Matlab上测试代码外,我不知道还有什么其他方法。要转换为p代码的M文件是否向后兼容?设置一个供学生登录的服务器是另一种选择。但是一所大学应该比运行5年以上版本的Matlab做得更好。你应该考虑和你的部门主席讨论这个问题。早在2000年以前的版本中,代码本身就可能是向后兼容的。它只使用基本的线性代数函数。就获取更新版本而言。。。自2008年他们未能更新版本以来,我一直在抱怨,但这只是置若罔闻。我一直在推动开源替代方案(主要是python),但这一点被忽略得更多;具有讽刺意味的是,因为学校在Matlab许可证上花了这么多钱,他们觉得有必要使用它们。我自己也没有试过,但是如果用pcode分发你的程序不起作用,也许创建一个EXE可以解决问题?(当然,你也可以鼓励学生使用他们的笔记本电脑,在上面他们可以自己管理更新)是的,如果我在2008a做一个p代码,它甚至可以在最新的版本上工作。然而,2013a生产的p代码即使在2012b上也不会运行。我现在正在运行2012b,所以我甚至不能研究2013a的具体问题。对不起,这不是2013a的具体问题。。。如果你制作一个2012b p-code并尝试在2012a上运行它也是一样的。FWIW,我刚刚在
2012b
中编写了一个简单的函数,并且能够在
2012a
中执行它。这很有趣。。。它能用多久?由于liscence服务器问题,我在2013年就失去了测试能力。