Мне нужно рассчитать интеграцию во многих точках. Так,Как написать функцию, которая включает численное интегрирование?
f = f(r,theta,k,phi);
q =integral2(f,0,1,0,2*pi,'AbsTol',0,'RelTol',1e-10); % integration should be by k and phi
Я хочу д быть функцией г и тета, что я могу назвать его в любое время, чтобы вычислить интеграцию в данном г и тета точки. Как я могу это сделать? Проблема заключается в том, что я не мог использовать неопределенные функции @ или matlabFunction(), потому что кажется, что интеграция выполняется в первую очередь, и когда Matlab обнаруживает, что он не имеет всех аргументов, он приносит некоторые ошибки.
«... это приносит некоторые ошибки». - Было бы полезно, если бы вы были конкретны. Ваш код недействителен, если функция 'f' не возвращает дескриптор функции. Несмотря на это, это плохая идея переопределить 'f'. – horchler
Да, f - это ручка. Интеграция принимает дескриптор функции, который является функцией четырех переменных. Ошибки были связаны с аргументом как дескриптор функции. Тогда я не понимаю, как правильно определить функцию, которая будет вычислять интеграцию во многих точках, которые я даю из сетки. Я написал таким образом q = @ (r, theta) integ2 (f, 0,2 * pi, 0,10, 'AbsTol', 0.01, 'RelTol', 1е-10), но я не уверен, что это работает ОК. это как-то уродливое решение, я думаю. – bordart