У меня есть файл функции для файла mex. Но при запуске mex-файла выдает ошибку. Ниже приведен код.
В коде я инициализировал 3 вектора с именами group,horgroup,gesgroup и объявил gesgroup как varsize.
group = zeros(1,2);
horgroup = zeros(1,2);
gesgroup = zeros(1,2);
coder.varsize('gesgroup');
в нескольких строках group и horgroup вычисляются как массивы размером (1 * 2), скажем, group = [1 2] и horgroup = [3 4] позже мне нужно объединить группу и horgroup в gesgroup, используя
gesgroup = [group, horgroup];
gesgroup(gesgroup==0) = NaN;
этот код не дает никаких ошибок при создании файла MEX, но когда я запускаю файл MEX, он выдает ошибку в двух строках выше, говоря: «Индекс превышает размеры матрицы. Значение индекса 3 превышает допустимый диапазон [1-2] массива gesgroup»
Дайте мне знать, если мне нужно что-то изменить в коде и снова сгенерировать mex-файл.
dbstop if error
и запустив свой код, а затем проверив измерения и индексы. - person Praetorian   schedule 07.05.2014