由于使用的匿名函数过多,造成自定义函数命名错误。所以自定义函数的匿名函数只能是一个。根据要求,可以这样来处理,分段赋值变量,组合变量匿名函数:
syms x
a=(1+x)/(x^2);
b=2*(1+x)/(1+2*x);
c=log(1+2*x)/x;
d=log(1+2*x)/(2*x);
e=(1+3*x)/(1+2*x)^2;
fun=@(x)2*pi*(2.818e-13)^2*(eval(a)*(eval(b)-eval(c))+eval(d)-eval(e))
验证:
当x=1时,y=fun(x)=2.8655e-25
整体自定义函数的匿名函数:
>> f=@(x) 2*pi*(2.818e-13)^2*((1+x)/x^2*(2*(1+x)/(1+2*x)-log(1+2*x)/x)+log(1+2*x)/(2*x)-(1+3*x)/(1+2*x)^2);
>> x=1;y=f(x)
y = 2.8655e-25
结果是一样的。