matlab 2013b에서 codegen을 사용하여 mex 파일로 변환하려는 test (test.m)라는 함수가 있습니다. 여기에서 B는 제로 행렬 p_z (크기 128 * 128)를 포함하는 구조이고 plastset은 빈 행렬 (0 * 0)입니다. 다음 코드를 변환하는 중 오류가 발생합니다. 'rows'가 지정되지 않은 한 입력은 벡터 여야합니다. 가변 크기 입력의 경우 첫 번째 또는 두 번째 차원의 길이는 일정한 길이 여야합니다. 'actset = setxor (actset, plastset); 아래 코드에서Error Matlab codegen을 사용하여 Matlab 2013에서 mex 파일 만들기
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
저는 codegen이 없지만 설명서에는 -args 스위치를 통해 매개 변수 유형을 지정해야한다는 힌트가 있습니다. [http://www.mathworks.de/matlabcentral/answers/19303-what-does-this-error-message-mean-no-class-precondition-specified-for-input-x-of-function-squa] (mathworks 지원 스레드). – Trilarion