How can I calculate integral?
2 ビュー (過去 30 日間)
古いコメントを表示
Hi all, I am new to matlab. I am using matlab R2012. I am trying to calculate this integral:
sigmaZ=rand(4,4); syms theta; Ps = 1/pi*(int(1./(det( (sigmaZ./(sin(theta)).^2 + eye(4)))),theta,0,pi/2));
It gives this error message:
?? The following error occurred converting from sym to double: Error using ==> mupadmex Error in MuPAD command: DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use the VPA function instead.
What is the problem here? Can you help me?
Thanks in advance!
1 件のコメント
Alexander
2012 年 9 月 18 日
That's strange, I don't get that error. I do get this warning:
Warning: Explicit integral could not be found.
Sorry, no idea why this is happening.
採用された回答
Andrei Bobrov
2012 年 9 月 18 日
編集済み: Andrei Bobrov
2012 年 9 月 18 日
please try this is code:
sigmaZ=rand(4,4);
f = @(theta)1./(arrayfun(@(x)det(sigmaZ/sin(x).^2 + eye(4)),theta));
out = quad(f,0,pi/2);
4 件のコメント
Javier
2012 年 9 月 18 日
It gives me no solution.
f = @(theta)1./(arrayfun(@(x)det(((sigmaZ/sin(x).^2 + eye(4)).^-1)*exp((sin(x).^2*eye(4)).^-1)),theta));
out = quad(f,0,pi/2);
その他の回答 (1 件)
Javier
2012 年 9 月 18 日
Hello Serhat
I dont understand well the integral expression and limits of integration. To solve numerically integrals in MatlabR 2012a (or previous version).
Create a function with the integral expression.
f=@(x)(x.^2)
Next, use qaudl function (in the command window type: doc quadl)
Value=quadl(f,0,1) % 0 and 1 are the limits of integration of f
Hope it helps. Best regards and welcome to Matlab world.
javier
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!