0

我想制作一个绘图力与位置(对于库仑定律)并估计常数 e0。我有费用的值,q1=1,q2=1。我有例如

position=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1];

force=[0.08,0.015,0.013,0.0062,0.0016,0.00519,-0.00159,0.00118,...
    0.0061,0.00155,0.00143];

库仑为 F= (1/4*pi*e0) * q1*q2/r^2。所以,它的形式是:

y=ax^-m ,其中 a= (q1*q2/4*pi*e0)

我在做:

p=polyfit(-log10(position),log10(force),1);  % I am not sure about  '1' and minus

m=p(1);
a=10^(p(2)); % I am not sure about a 



xp=0.1:0.1:1.1;
yp=a*xp.^(-m);


plot(position,force,'o',xp,yp)

e0=q1*q2/4*pi*a

我没有为 e0 找到正确的值。我做错了什么吗?m 值应该是 -2 但我正在服用:

米=

1.6287 - 0.2008i

4

2 回答 2

3

这是错误的有几个原因。首先,您在对库仑定律的定义中遗漏了一些括号。它应该是

F = 1/(4*pi*e0) * q1 * q2 * r^-2

这意味着您的最终计算e0应该像

a = 10^p(2);
e0 = ((q1 * q2) / (4 * pi)) / a;

这是错误的另一个原因是,事实上,法律的定义在您的上下文中仍然是错误的。那里只有正电荷 ( q1, q2),但很明显,力在某些时候变为负数。由于您在对数空间中工作以估计参数,因此这是行不通的,因为您会得到一个复数。您对数据的库仑定律的定义应该是

|F| = 1/(4*pi*e0) * |q1 * q2| * r^-2

也就是说,您只有绝对值。abs(force)因此,您应该使用而不是 just 来进行拟合force

于 2013-04-27T16:04:54.113 回答
0

因为 a= (q1*q2/4*pi*e0),所以 e0 应该是

e0=a/(q1*q2/4*pi)

核实。

于 2013-04-27T09:14:55.737 回答