Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

I have a function which is like f(a,x). I want to numerically integrate it with respect to x, for example using quad function and get factor a in the output. Can someone share how can I achieve this?

조회 수: 1 (최근 30일)
I have a function which is like f(a,x). I want to numerically integrate it with respect to x, for example using quad function and get factor a in the output. Can someone share how can I achieve this?
  댓글 수: 1
Walter Roberson
Walter Roberson 2012년 11월 7일
Is "a" numeric for this purpose, or symbolic? If it is symbolic then you will not usually be able to do numeric integration.

답변 (1개)

Mike Hosea
Mike Hosea 2012년 11월 7일
편집: Mike Hosea 2012년 11월 7일
Having a in the output implies symbolic integration, not numerical. I don't know your use case, but possibly you would find it acceptable to define a function of a like so:
g = @(a)integral(@(x)f(a,x),xmin,xmax)
Then you could evaluate g( a ) for any value of a that you like. If you need it to be vectorized (so that you can evaluate with a vector of a values)
h = @(a)arrayfun(g,a)
can be evaluated at a vector of a values. For example, try this
f = @(a,x)sin(a*x.^2);
g = @(a)integral(@(x)f(a,x),0,pi);
h = @(a)arrayfun(g,a);
a = linspace(0,pi,100);
plot(a,h(a))
If you don't have R2012a or later, you can use QUADGK instead of INTEGRAL. -- Mike

이 질문은 마감되었습니다.

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by