Ниже приводится обобщение моей проблемы
function E = FunctionIntegration(S)
I = @(f) log(det(4 * S(f)));
E = integral(I, -pi, pi)
S — это дескриптор функции, который принимает скалярный ввод f и возвращает матрицу. Когда я пытаюсь запустить эту функцию, я получаю ошибку Inner matrix dimensions must agree.
Я понимаю, что integral требует, чтобы функция I принимала векторный ввод, и именно в этом заключается проблема, но в этом случае я не вижу способа приспособиться к этому, поскольку я должен затем передать этот вектор функции S, которая возвращает матрицу. Есть ли способ обойти это?
Обратите внимание, что примером S может быть:
S = @(f) [f 0; 0 1]
Очевидно, что в этом случае интеграл легко сделать аналитически, но функция S может быть любым преобразованием скаляра в матрицу.