我已经构建了以下功能:
function [obs,dw,rot] = myfun(T,obs,dw,dt,rot)
if rot == 0
v = (0:dt:T(1)-dw);
obs{1} = v./T(1);
dw = (dt+v(end)-T(1));
for i = 2:numel(obs)
v = (dw:dt:T(i));
obs{i} = v./T(i)+(rot+(i-1));
dw = (dt+v(end)-T(i));
end
else
for i = 1:numel(T)
v = (dw:dt:T(i));
obs{i} = v./T(i)+(rot+i);
dw = (dt+v(end)-T(i));
end
end
rot = rot + numel(T);
end
end
例如,
dw=0; rot=0; dt=1; T=1+2*rand(10,1); obs=cell(length(T),1);
并申请
[obs,dw,rot] = myfun(T,obs,dw,dt,rot);
当我尝试使用 Matlab Coder 来加速myfun时, 它显示以下错误:
MATLAB单元阵列' obs'没有完全定义。
有什么想法吗?