我有一个名为 test (test.m) 的函数,我想在 Matlab 2013b 中使用 codegen 将其转换为 mex 文件。这里 B 是一个包含零矩阵 p_z (大小 128 * 128 )的结构,而 plastset 是一个空矩阵( 0*0 )。转换以下代码时出现错误:除非指定“行”,否则输入必须是向量。对于可变大小输入,第一维或第二维必须具有恒定长度 1 ,对于“actset = setxor (actset, plastset);”行 在下面提到的代码中
请帮助我更正代码以成功将以下函数创建到 mex 文件中。
function [] = test(B)
p_z = B.p_z;
plastset = B.plastset;
if isempty(B.plastset)
plastset = zeros(1,0);
end
if isempty(find( p_z > 0, 1 ))
actset = zeros(1,0);
else
actset = find( p_z > 0 );
actset = setxor ( actset , plastset );
end