将数组作为单个参数传递给MATLAB函数

时间:2017-05-16 22:51:03

标签: arrays matlab function arguments version

我有一些旧的Matlab代码,它们在Matlab 2007上运行。 我尝试在Matlab 2015b上运行一个,但由于至少有一个更新它崩溃了。例如,我在其中一个函数中注意到以下内容:

function f_old(a,b)
    if ~exist('b','var'), b= 1; end;

在这里,争论' a'是一个结构,其大小可以是1x1或1x2。当它是1x1时,没有问题,它适用于两个Matlab版本。但是,当尺寸(a)为1x2且参数' b'没有传递给函数,更新的Matlab认为这两个' a' (作为1x1)和' b'传递给函数,该函数最初不是旧版本。

我可以通过检查大小等来轻松解决此问题,但遗憾的是有很多相关问题,我不想更改原始代码。

是否可能有一个'标志'这可能会避免这种新行为?或者有人知道一种强制它作为旧版本工作的实用方法。

由于

0 个答案:

没有答案