本帖最后由 eleanorexu 于 2013-3-28 20:49 编辑
我想求解的函数是:deltaL=n^2*h/sqrt(n^2-(sin(theta1))^2)-n^2*h/sqrt(n^2-(sin(theta2))^2
其中,deltaL,h,theta1,theta2都已知(都可测量),想求n是多少,不知如何解。。。
此外最重要的是,还想求n对deltaL,h,theta1,theta2每一项的偏微分是多少,从而计算不确定度dn。
我的程序是:
********************************************************************************************
clear
clc
syms n deltaL theta1 theta2 h; %创建符号变量
n_exp = solve(deltaL-n^2*h/sqrt(n^2-(sin(theta1))^2)+n^2*h/sqrt(n^2-(sin(theta2))^2),n); %计算出方程的根
%下面对每一个变量求偏导
d_h = diff(n_exp,h);
d_deltaL = diff(n_exp,deltaL);
d_theta1= diff(n_exp,theta1);
d_theta2= diff(n_exp,theta2);
%利用得到的表达式带入数值计算
%后缀为num的为真实数值
h_num = 0.01; %h(厚度)10mm
theta1_num = 57/180*pi