function fxs = fxr(r)
kk2=matlabFunction(fw1);
re=200;rw=0.1;uo=1.65*10^-3;uw=0.45*10^-3;
dr=(re-rw)/200;
L1=rw+60*dr;swf=0.55;
sw=0.55:0.001:0.759;
y=sqrt(kk2(sw)/kk2(swf)*(L1^2-0.1^2)+0.1^2);
fsw=@(r)interp1(y,sw,r,'spline');
fswz=fsw(r);
fxs=1./(((0.9999/uo.*((0.759-fswz)/0.516).^2.271+0.4213/uw.*((fswz-0.243)/0.516).^2.164)*uo).*r)
end
这是定义的函数,我想对这个函数进行某个区间上的数值积分;但是出现
quad(fxr(r),0.1,60)
fxs =
6.4735
Error using fcnchk (line 107)
FUN must be a function, a valid string expression, or an inline function object.
Error in quad (line 58)
f = fcnchk(funfcn);
这不是一个简单的表达式函数,但是被积函数每点处值都可以计算,为什么quad不行呢?


雷达卡


京公网安备 11010802022788号







