2013-04-27 4 views
0

Я хочу сделать силу заговора и позицию (для закона кулона) и оценить постоянную е0. У меня есть значения зарядов, 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 * пи * е0) * q1 * q2/г^2. Таким образом, в форме:

у = ах^-т, где а = (q1 * q2/4 * пи * 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 

I я не нахожу правильное значение для e0.Am Я делаю что-то неправильно? Значение должно быть м -2, но я принимаю:

м =

1,6287 - 0.2008i

ответ

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), а не только force.

+0

: Привет, я видел, как вы отредактировали пару раз.:). Я думаю, что у меня есть правильная формула для F и для e0. Дело в том, что я делаю правильный выбор кривой (и, поскольку я смотрю это, я думаю, что я может иметь это право ..) – George

+0

Ваши формулы неверны, потому что '(1/4 * pi * e0) == (1/4) * pi * e0', когда формула должна быть' 1/(4 * pi * e0) '. Я снова проверил, и мой расчет 'e0' был неправильным, но я исправил его. Просто работал над формулами, и я уверен, что это правильный метод, но не дает вам нормального значения 'e0'. Вы уверены, что 'q1 = q2 = 1' верен? – wakjah

+0

: Отлично! Я пропустил круглые скобки! Спасибо! – George

0

Так как = (q1 * q2/4 * пи * е0), e0 должно быть

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

Проверьте его.

+0

: Нет, я думаю, что все в порядке, как и у меня. :) Но код кажется правильным вообще? – George

Смежные вопросы