Решение интеграла для х в MATLAB, где х связан и часть подынтегрального - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь решить уравнение для x в Matlab, но получаю ошибку:

Пустой символ: 0 на 1

Уравнение имеет интеграл, где x - верхняя граница, а также часть подынтегрального выражения 1 . Я использую следующий код:

a = 0.2; b= 10; c = -10; d = 15; mu = 3; sig = 1;
syms x t
eqn = 0 == a + b*normcdf(x,mu,sig)+c*int( normcdf(d + x - t,mu,sig)*normpdf(t,mu,sig),t,0,x);
A = vpasolve(eqn,x)

Есть какие-нибудь подсказки, где я не прав?

1 Ответ

0 голосов
/ 09 мая 2018

Я считаю, что символический набор инструментов может быть недостаточно хорош для решения этого интеграла ... Может быть, какой-то assume или какой-то другой трюк может сделать эту работу, я лично не мог найти выход.

Однако, чтобы проверить, разрешимо ли это, я попытался Wolfram Alpha . Это дает результат, который вы можете использовать.

eq1=a + b*normcdf(x,mu,sig);
resint=c*(t^3*(d - t + x)*erfc((mu - x)/(sqrt(2)*sig)))/(4*sig*exp((-mu + x)^2/(2*sig^2))*sqrt(2*pi));
A=vpasolve(eq1+subs(resint,t,x)-subs(resint,t,0) ==0)

дает 1.285643225712432599485355373093 в моем ПК.

...