2016-10-24 3 views
0

мне нужно оценить следующий интеграл в MATLAB (численно): enter image description hereкратные интегралы в одной и той же переменной в MATLAB

Я уже пробовал различные вещи, но я не могу понять, как решить эту проблему! Ниже моя последняя попытка:

Fdx = @(x) integral(@(y)1./(1+sqrt(y.^2))*(1-pi^2),0,x); 
dFdx(1) 
F = 8 * integral(dFdx,0,10) 

В результате MATLAB дает мне сообщение об ошибке:

Ошибка при помощи интеграла (строка 85) A и B должны быть плавающей точкой скаляры.

Ошибка в @ (х) интеграл (@ (у) 1 ./ (1 + SQRT (у.^2)) * (1-р^2), 0, х)

Ошибка в integralCalc/iterateScalarValued (строка 314) fx = FUN (t);

Ошибка в интегралеCalc/vadapt (строка 132) [q, errbnd] = iterateScalarValued (u, tinterval, pathlen);

Ошибка в интегралеCalc (строка 75) [q, errbnd] = vadapt (@ AtoBInvTransform, интервал);

Ошибка в интеграле (строка 88) Q = integralCalc (fun, a, b, opstruct);

Ошибка в тесте (строка 7) Р = 8 * интеграл (dFdx, 0,10)

+0

Подынтегральное выражение не зависит от x, поэтому вы можете изменить порядок интегралов, анализировать x и анализировать с помощью одного интеграла. – dmuir

ответ

2

Попробуйте использовать вместо integral2. Пример 2 в документации:

http://www.mathworks.com/help/matlab/ref/integral2.html

Надеется, что это помогает.

+0

Не знаете, как настроить это на мою проблему, потому что граница внутреннего интервала зависит от внешнего интеграла. – chi86

+0

@ chi86 И первые два примера показывают, как с этим справиться. – TroyHaskin

+0

@ chi86 Как я уже сказал, см. Пример 2. Он показывает случай, который вы хотите. –

Смежные вопросы