Я пытаюсь проверить строку с шаблоном, используя регулярное выражение с python в базе данных sqlite. У меня проблема, когда я пытаюсь выполнить поисковую строку с "с использованием образца" Можно ли перегрузить операторы над собственными конструкциями (ячейками, структурами и т. Д.)? Я использую ячейки для управления данными в некоторых вещах, над которыми я работаю. Я хотел бы иметь возможность делать такие вещи, как: A = cellfun (@ (X) (randn (5,5)), cell (5,1), 'UniformOutput', 0); Б) содержащий ряд матриц соответствующей размерности. Если я напишу код для создания новой ячейки:
Z = c1*A + c2*B
... со скалярами {c1, c2}, я могу написать его таким образом, что Jacket (или что-то еще) легко определит, что он должен выполнять вычисления как:
Z{kk} = c1*A{kk} + c2*B{kk}
или, возможно, даже лучшую оптимизацию, чем это. Иначе. это может закончиться чем-то более медленным и / или менее эффективным с точки зрения памяти, например:
temp1 = cellfun( @(X)( c1*X ), A );
temp2 = cellfun( @(X)( c2*X ), B );
Z = cellfun( @plus, temp1, temp2 );
Предполагая, что MATLAB или Jacket не могут его оптимизировать, это приведет к использованию слишком большого количества памяти.