Вы можете сделать это с анонимным типом, используя linq
var listNew = listBase.Select(x => new
{
day= x.day,
details= new
{
product= x.product,
value = x.value
}
}).ToList();
. Я полагаю, что PierreBdR является правильным; Вы создали бы m-версию-файла своей функции только с блокированием вызова заголовка и блоком комментария, но никаким телом.
Это не могло бы быть плохой идеей поместить проверку ошибок на исходные данные в m-файле, затем иметь m-файл, вызывают файл MEX (Вам, вероятно, придется дать им различные имена, хотя). Это может быть более просто, чтобы проверить переменные в MATLAB (использование, например, созданный-ins как nargchk) и поместить их в стандартный формат, который можно всегда хотеть, чтобы исходные данные к функции mex имели. Многие функции Панели инструментов Обработки изображений, на которые я посмотрел, кажется, делают это (форматирующие и проверяющие данные в m-файле, затем делающем дорогие вычисления в файле MEX).
Необходимо создать m-файл (name.m) с тем же именем как файл MEX (name.c). Затем Вы помещаете объявление функции и текст справки, но никакое тело функции. Пример:
function [o1,o2] = MyFct(i1,i2,i3)
% MyFct takes 3 arguments and returns 2 ...