# How to calculate the integral of a function with a spline in it

28 views (last 30 days)

Show older comments

Hello Everybody,

So i have a function called FB, and it is the product of a couple of functions

nB = spline(Wavelength,B3);

emi = @(x) 1.989e-6*(10^9*x).^2-0.002;

FB = @(x,T) nB(x).*emi(x)./(x.^5.*(exp((h.*c)./(x.*k.*T))-1))

%integration:

RaBG(Counts) = integral(@(x)FB(x,T),400e-9,720e-9)

nB is a function i must adquire from data. When fitting it with a polinomial function i get a small error which i believe is making me get wrong results, though the code works. I'm trying to fit it with a spline but haven't been able to get the code to work. I also tryied calling FB as this, which didn't work:

FB = @(x,T) ppval(nB,x).*emi(x)./(x.^5.*(exp((h.*c)./(x.*k.*T))-1));

Can anyone please help me?

##### 3 Comments

John D'Errico
on 25 Apr 2017

### Answers (1)

Andrew Newell
on 24 Apr 2017

Edited: Andrew Newell
on 24 Apr 2017

Interpolation is also reasonable. How exactly isn't the code working?

I don't see any values assigned to c, k or T. Are you doing that earlier? If so, it would make sense to define

FB = @(x) ppval(nB,x).*emi(x)./(x.^5.* (exp((h.*c)./(x.*k.*T))-1));

##### 7 Comments

### See Also

### Products

### Community Treasure Hunt

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

Start Hunting!