Matlab变上限数值积分,程序报错?
程序是这样的:A=8.46*10^(-45); %参数不用管B=6.162*10^(-20); %参数不用管C=6.9*10^(-23); %参数不用管alpha=2.08*10^(10); %参数不用管up=@(t) 1200/t; %参数不用管k=@(x,t) (x^4)*exp(x)/(exp(x)-1)^2/(A*alpha^4*t^4*x^4+(B*exp(-up)+C*t)*alpha^2*t^3*x^2); %积分部分K=@(t) quadgk(@(x) k(x,t),0,up); %对x积分D = 0:1:100; Qx = arrayfun(K,D); plot(D,Qx) 它提示:错误使用 quadgk (line 99)A 和 B 必须为标量浮点值。出错 @(t)quadgk(@(x)k(x,t),0,up)出错 jifen (line 9)Qx = arrayfun(K,D);有大神能告诉我哪里写错了么?公式就是图片的样子,虽然复杂了一点但是数值积分应该是可以做出来的啊。