In[]:=
s=2.10^-5;​​a=0.000102;​​m=100*10^-6;​​d=
m
a
;​​minr=0.1;​​maxr=2.2;​​n=20;​​minA=
1
(maxr)^2
;​​maxA=
1
(minr)^2
;​​stepA=
maxA-minA
n-1
;​​stepr=
maxr-minr
n-1
;
​​g=TableSetPrecision(r^2/(IA))*1-2BesselJ1,
3
2
I
rA
3
2
I
rABesselJ0,
3
2
I
rA,16,A,RangeminA,maxA,
maxA-minA
n-1
,r,minr,maxr,
maxr-minr
n-1
;​​%//MatrixForm;​​Dimensions[g]​​Det[g];​​b=PseudoInverse[g];​​c=Dot[g,b];​​Tr[Abs[c]];
Out[]=
{20,20}
Out[]=
16.00
​
In[]:=
a1=
a
s
2π
;​​a2=
(a^2)
2s^2
;
In[]:=
Clear[func];​​func:=a1(r^2/(IA))1-2BesselJ1,
3
2
I
rA
3
2
I
rABesselJ0,
3
2
I
rA
-a2(r-d)^2

;
In[]:=
​​G=Table[SetPrecision[NIntegrate[func,{r,0,+Infinity}],16],{A,minA,maxA,stepA}];​​%//MatrixForm;​​​​​​p=
Abs[LeastSquares[g,G]]
stepr
;​​%//MatrixForm;
In[]:=
ListPlot[p]​​Dimensions[p];
Out[]=
5
10
15
20
0.5
1.0
1.5
2.0