Integral3 with vector-valued function
조회 수: 10 (최근 30일)
이전 댓글 표시
Hi, I have a qustion regarding the predefined matlab-function integral3.
Is it possible to do a vector-valued 3D integration?
With the one-dimensional function integral it is very easy:
Example:
fun = @(x)sin((1:5)*x);
q = integral(fun,0,1,'ArrayValued',true)
Yet the same syntax is not possible for integral 3.
Example:
fun = @(x,y,z) x.^(1:100) .* y .* z ;
q_array = integral3(fun,0,1,0,1,0,1,'ArrayValued',true);
This throws the error ''ArrayValued' is not a recognized parameter. For a list of valid name-value pair arguments, see the
documentation for this function.''
So is there a way to circumvent this behaviour?
In the moment, I solved it with a simple for-loop. But unfortunately the run-time is quite bad. So I hoped to lower the run-time with an vector-valued 3Dintegration.
댓글 수: 1
Ameer Hamza
2020년 10월 21일
@Analyst BugB, why are you posting the same image (which opens a pop-up window in the browser), using different account names. Is this some sort of website testing, or are you trying to find a bug?
답변 (1개)
Ameer Hamza
2020년 10월 21일
Not possible with integral3(). Following shows an alternative
fun = @(x,y,z,n) x.^n .* y .* z ;
q_array = arrayfun(@(n) integral3(@(x,y,z) fun(x,y,z,n),0,1,0,1,0,1), 1:100)
댓글 수: 2
Walter Roberson
2020년 10월 21일
https://www.mathworks.com/matlabcentral/fileexchange/47919-integraln-m might give ideas
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!