Ошибка использования четырехугольника в Matlab

У меня есть анонимная функция в Matlab: f=@(x) x/(1+x^4), Я хочу интегрировать его от 0 до 1 с Quad, но почему-то mpower жалуется, что он не может взять x^4 потому что "Входные данные должны быть скалярной и квадратной матрицей". Если я заменю x^4 с x*x*x*x, Я получаю "Ошибка при использовании ==> mtimes Размеры внутренней матрицы должны совпадать". Вот полный вывод ошибок.

??? Error using ==> mpower
Inputs must be a scalar and a square matrix.

Error in ==> intapprox>@(x)x/(1+x^4) at 4
f=@(x) x/(1+x^4);

Error in ==> quad at 77
y = f(x, varargin{:});

Error in ==> intapprox at 27
area = quad(f,0,1);

1 ответ

Решение

Использование f=@(x) x./(1+x.^4); т.е. ./ а также .^ так как вы не хотите делать матрицу деления и власти. Тогда я получаю

>> area = quad(f,0,1)
area =

    0.3927

Что согласуется с аналитическим значением пи /8.

Другие вопросы по тегам