我试图在MATLAB中定义一个类,它有一个返回向量的方法。我希望这个向量的长度能够根据类的实例化方式而变化,但是对于该特定对象将是固定的。有这样的效果:
classdef my_class < handle
properties (SetAccess = immutable)
out_size
end
methods
function obj = my_class(out_size_in)
obj.out_size = out_size_in;
end
function fn_output = my_function(obj)
fn_output = zeros(obj.out_size,1);
end
end
end
这似乎工作正常。但是,如果我想生成使用此类的代码,我将被迫启用对可变大小数组(我想避免)的支持,因为确定fn_output的大小不同。
有没有办法强迫MATLAB看到fn_output对于特定对象是固定大小的?我不能使用Constant属性,因为我希望out_size对于不同的对象是不同的。
提前致谢
克里斯
答案 0 :(得分:0)
没有。生成代码时,代码生成器无法知道固定大小。
如果您有许多不同的固定尺寸,则需要可变尺寸的阵列。否则,您可能希望为每个固定大小开发一个单独的类。