我正在研究应用光度方程的问题:
E = 64.77 * T ^-4∫x^ -5(e ^(1.432 / Tx)-1)^ - 1 dx
T = 3500;
简化儿子的规则,这是一些总和等等。
我所做的是一个功能simpson(fn,a,b,h)正确运行simp son的规则。 然而,问题是将积分方程转化为有效的函数句柄。我已经让它适用于像
这样的简单函数句柄f = @x x.^2
但是当我尝试将积分变成函数时:
fn = @(x)(64.77/T^4).*integral((x.^(-5)).*((exp(((1.432)./(3500.*x)))).^(-1)), 4e-5, 7e-5);
simp(fn, 5, 15, 1)
function s = simp(fn, a, b, h)
x1 = a + 2*h:2*h:b-2*h;
sum1 = sum(feval(fn, x1));
x2 = a + h:22*h:b-h;
sum2 = sum(feval(fn, x2));
s = h/3*(feval(fn, a) + feval(fn, b) + 4*sum2 + 2*sum1);
它没有用。错误信息是Integral:第一个输入必须是函数句柄。
任何帮助表示感谢。
答案 0 :(得分:0)
您应该使用Simpsons规则评估积分,而使用integral
计算积分,则fn
不是x
的函数。你想这样做:
fn = @(x)(x.^(-5)).*((exp(((1.432)./(3500.*x)))).^(-1));
I=simp(fn,a,b,h);
E=(64.77/T^4)*I;