📄 calculate_gravity.m
字号:
% calculate_gravity.m
%use symbolic math for measurement error
syms L g %original input variables (length, gravity)
T = 2*pi*sqrt(L/g); %textbook equation period T=f(L,g)
f = char(finverse(T,g)); %solve for gravity g=f()
expr = strrep(f,'g','T'); %replace g with T in string expression
syms T %T variable now, not output function
g = expr %desired equation g=f(L,T)
dgdT = diff(g,T); %partial derivative of g wrt T
dgdL = diff(g,L); %partial derivative of g wrt L
%replace symbols L and T with numeric values
L = Ro*pixRes(1); %length of pendulum (m)
T = period; %period of oscillation (sec)
g0 = eval(char(g)); %calculate gravity (m/sec^2)
%measurement error
dL = Rerr*pixRes(1) + Ro*pixRes(2); %length error (m)
dT = period*std(diff(t))/mean(diff(t)); %period error (sec)
dg = abs(eval(dgdT))*dT + abs(eval(dgdL))*dL; %gravity error (m/sec^2)
disp(sprintf('Measured g = %.3g +/- %.2g m/sec^2 (%.2g%%)',g0,dg,dg/g0*100))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -