So this is the code I'm trying to run –
q=10e8:10000:20e9;s=length(q);epso = 8.8 *10.^-12;epsr=5.7;ro=3.63*(10.^-3);epsl = 2.5;ri=1.13*(10.^-3);copen = (epso/sqrt(epsr)*log(ro/ri));cload= (epsl/sqrt(epsr)*log(ro/ri));t = zeros(1,s);for f = 1:length(q) fun = @(x)(((((besselj(0,(2*pi*q(f))/(3e8))*x*ro)-besselj(0,(2*pi*q(f))/(3e8))*x*ri)).^2)./x).*freload(x,q))); y(f) = copen*abs(integral(fun,0,Inf)); t(f)=(1-y(f))/(1+y(f));endplot (q,t);
where the function freload is
function f = freload(x,q)epsl=3.4;f=(1./sqrt(epsl-(x.^2))).*(1+exp(-2*1i*2*pi*q./(3e8).*sqrt(epsl-(x.^2))))./((1-exp(-2*1i*2*pi*q/(3e8).*sqrt(epsl-(x.^2)))));end
The errors I get are as follows –
Error using integralCalc/finalInputChecks (line 515)Output of the function must be the same size as the input. If FUN is an array-valued integrand, set the'ArrayValued' option to true.Error in integralCalc/iterateScalarValued (line 315) finalInputChecks(x,fx);Error in integralCalc/vadapt (line 132) [q,errbnd] = iterateScalarValued(u,tinterval,pathlen);Error in integralCalc (line 83) [q,errbnd] = vadapt(@AToInfInvTransform,interval);Error in integral (line 88)Q = integralCalc(fun,a,b,opstruct);Error in numint (line 14) y(f) = copen*abs(integral(fun,0,Inf));
The program seems to be giving an output for other functions. Any help would be appreciated greatly.
Best Answer