Ошибка использования четырехугольника в 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.