⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculate_gravity.m

📁 利用matlab编了一个pendulum仿真的例子
💻 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 + -