2017-02-23 57 views
0

Я хочу решить ожидаемое значение для f(x) с x=[x1,x2] следует равномерному распределению. Я пробовал:MATLAB: как решить этот интеграл для получения ожидаемого значения?

syms x r d x1 x2; 
f=2*x*acos(x^2-d^2/2*x*(r+d)+d/x)*(1/sqrt(2*pi))*exp(-x^2/2); 
int(f,'x',x1,x2) 

Мне нужен параметрический подход. Но Matlab не может решить эту интеграцию в символическом формате. Любое решение?

+0

Вы не указали значения для 'r' и' d' для численного интегрирования, но случайные значения, которые я пытался, MATLAB не сработает численно. Это происходит неудачно, но хорошо, у вас есть очень сложное уравнение. –

+0

@AnderBiguri Я установил 'r = 15',' d = 40', 'x1 = 40',' x2 = 70'. Matlab печатает 'int ((7186705221432913 * R * acos (40/R - 44000 * R + R^2) * exp (-R^2/2))/9007199254740992, R, 40, 70)' на выходе, который является оригинальный код. Каковы были ваши материалы и что вы получили? – fhm

ответ

1

Если вы хотите сделать это численно, вы должны использовать числовую функцию: integral

пример:

d=40;r=15; 
%define f as anonymous function 
[email protected](x)2.*x.*acos(x.^2-d^2./2.*x.*(r+d)+d./x).*(1/sqrt(2*pi)).*exp(-x.^2/2); 
integral(f,40,70) 

Это дает мне 0, (потому что это 0), но если вы пытаетесь , например:

d=4;r=2 
integral(f,0,10) 

ans = 

    2.4036 - 3.3624i 
+0

Я ценю вас в моей проблеме 'x1 = d' и' x2 = d + 2r'. Но это дает мне «0» для некоторых примеров, которые я пробовал. Нужно работать над моей формулировкой. – fhm

+0

@fhm Убедитесь, что вы не забыли скобки после деления ('d^2/(....)'?). Кроме того, вы можете построить функцию. Как и сейчас, он дает сложные значения. Вы можете построить его с помощью 'plot ([real (f (x1: 0.1: x2); imag (f (x1: 0.1: x2)] ')' –

+0

Скобки правильны, я верю. Добавив дальнейшую разработку, F = @ (х) 2. * х. * экоса (((х.^2-й^2) ./ (2 * х. * (г + д))) + d./x). * (1/sqrt (2 * pi)). * Exp ((- x.^2)/2); 'где нам нужно интегрировать через' x ~ [d, d + 2r] '. – fhm